New package: Amalthea v1.0.0 - #160997
Conversation
Project.toml declared julia = "1.9" but DSP = "0.8", and DSP >=0.8.0 itself requires Julia >=1.10 — an unsatisfiable requirement at the declared floor. AutoMerge's Pkg.add on Julia 1.9.4 caught this on the Amalthea registration PR (JuliaRegistries/General#160997). Raising the floor to 1.10 (already covered by CI's 'lts'/'1'/'pre' matrix) resolves it without touching the DSP compat bound. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
UUID: 2a0a82e6-4dc7-4219-a2c1-d2369ab6895d Repo: https://github.com/vdiego28/Amalthea.jl.git Tree: 4c1e14b49d1c6bfd8ae4109e82c45d6b1daf2584 Registrator tree SHA: 3e66fa3f5110ad24f2ce227d4bf2d86af116b963
895585b to
a0d953a
Compare
|
Hello, I am an automated registration bot. I help manage the registration process by checking your registration against a set of AutoMerge guidelines. If all these guidelines are met, this pull request will be merged automatically, completing your registration. It is strongly recommended to follow the guidelines, since otherwise the pull request needs to be manually reviewed and merged by a human. 1. New package registrationPlease make sure that you have read the package naming guidelines. 2. AutoMerge Guidelines are all met! ✅Your new package registration met all of the guidelines for auto-merging and is scheduled to be merged when the mandatory waiting period (3 days) has elapsed. 3. To pause or stop registrationIf you want to prevent this pull request from being auto-merged, simply leave a comment. If you want to post a comment without blocking auto-merging, you must include the text Tip: You can edit blocking comments to add |
@chrisbrahms: Can you confirm that a fork is appropriate here? Usually, we like to avoid the registration of forked packages, but of course, if there is a consensus between the maintainer of the original package and the fork that this is the best approach, this is fine |
|
There's also something wrong with the linked documentation... which would be especially important for a |
|
Thanks for the review, @goerz. On the fork question: happy to speak to this directly. Amalthea.jl is a strict superset of Luna.jl, not a divergent variant — the full Julia-level API and physics models are preserved and backwards-compatible, so anything that runs on On the broken docs link: you're right, and thanks for catching it before the merge. Root cause: the gh-pages branch was reset yesterday to bootstrap benchmark-action (unrelated infra change), which wiped every previously-deployed Will follow up here once that's tagged. |
|
That's a straight-up LLM response, is it not? Please don't do that!
I don't think so, or at least that would be for @chrisbrahms to decide. If you did not explore the possibility to contribute to the upstream project before reaching a consensus that a fork would be the most appropriate course of action, that makes this a no-go, in view.
That's not how it works. Tags for Julia packages should only be created after the registration for the corresponding version has gone through. Usually, this process is automated via TagBot. So, if we move ahead with this at all, you should retrigger the registration with |
|
Hi @goerz , @vdiego28 is certainly correct to say that these changes are not something we would ever merge into Luna.jl directly. The sheer volume of code is such that we couldn't possibly review it. Nevertheless, copying our code wholesale and renaming the package is not something I'm comfortable with, especially considering that we've never spoken to the author about this approach, and that the whole of "Amalthea" appears to be written by an LLM. (I could be wrong, but I find it unlikely that this was hand-written or even manually reviewed, considering that the first commit on GitHub was only 3 weeks ago and Luna.jl is not a simple package.) A high-performance hardware-accelerated backend to Luna.jl certainly sounds very cool, and we'd be happy to work with @vdiego28 on this in principle. Translating/extending the numerical backend while keeping the physics the same is also a clear usecase where LLM-generated code can be super useful. In my view the clean way of doing that would be to make Luna.jl extensible with different backends, which we're planning on doing for some things anyway (LupoLab/Luna.jl#313, LupoLab/Luna.jl#400). If nothing else, this would have the advantage of keeping both versions in sync on the physical models. Copying in @jtravs who co-develops Luna.jl with me--he will probably have an opinion too. |
|
@chrisbrahms Thanks for looking into this! I concur that this fork looks very vibe-coded, and thus may not pass the bar with respect to the guidelines for LLM usage of registered packages. I also don't think that as matter of principle, we should be merging the registration of forks against the wishes of the original maintainer, as long as their objections are reasonable and leave a path forward. In this case, for @vdiego28 to collaborate on contributing the desired feature to the original Luna.jl. Of course, having a fork to fulfill personal needs (with no restrictions on vibe-coding whatsoever) is perfectly fine, outside of the General registry. Packages can be installed directly from GitHub via I'm inclined to close this as not suitable for registration in General, but I'll get a second opinion from a registry maintainer before doing so… |
|
Let me start again, I started this as a project a few months ago when a friend of mine brought my attention to the LUNA.jl package, I read through the most used functions by him, and he told me the pains that he had, like performance issues (that I could only be really aware once I started porting code to Rust) and the hard setting of input parameters, (with that I mean only accepting letters like λ instead of just its spelling). I started by thinking what I would change and what could be done to speed it up, be that architecturally or instructional level, then I asked heir examples and I tried to understand the back end process as it was the most important part in my opinion and the only one that I would touch. I've not touched any of the physics of the project as that is way beyond my pay grade, understanding and knowledge, I just tried to make this a better and bigger version of what LUNA.jl is. So I understand if @chrisbrahms @jtravs decide to have this version unpublished, I'll keep working on it and make it available through GitHub as long as I can maintain it. I did use LLM agents to help me port the code, write test, documentation and help me delegate some tasks like those pull requests. So with all that said, I'll be pending your responses and if you want my help on anything just let me know. PS. This message was entire written by me with the help of the word suggester on the top of my phone's keyboard. |
|
@vdiego28 Thank you for responding "in person" I just want to be clear that I don't want to dissuade you from adapting Luna to your needs, with or without LLM support, or to make future contributions to the Julia package ecosystem
It wouldn't be exactly "unpublished". You can still develop and use your fork, and others can use it as well. As a shared community resource, being registered in the General registry has a higher bar. Especially with coding agents getting more and more capable, forking existing projects to adapt them to personal needs becomes both easy and worthwhile. I've done it myself. But these are not generally suitable to be published to a wide community. First, because they usually don't end up being supported in the long term, and second, because registering such forks without restrictions would lead to splitting the ecosystem. A user looking to add a dependency for Luna might wonder whether they should add Amalthea instead, and then any issues/PR might go to Amalthea, when they should equally go to Luna. It is preferable to keep Luna as the one package that registered packages can depend on. And it's okay to have an "unregistered package": not everything needs to be in the General registry.
That's okay... that's not something to be sorry about. The particulars depend on the individual project, so this depends on @chrisbrahms and @jtravs to some extent. But generally, it involves a long-term engagement, with small, focused improvements and discussion through issues or whatever other channels the developers of the package might be using (e.g., the Julia Slack). Also most people do not enjoy "talking to an LLM", so when you engage in discussion on issues, never just paste the output of an LLM (beyond things like translation, if English isn't your first language). In this case, I would say use the "vibe-coded" Amalthea as a test bed, and then see what parts can be contributed to Luna, and in what form, in dialogue with @chrisbrahms and @jtravs. This is going to take time and effort – but that's exactly the time and effort that makes registered, human-maintained packages valuable over pure vibe-coding. |
|
I don't plan on dropping support any time soon for Amalthea.jl, but if you want you can close this PR without merging. I have to say even though English isn't my first language, as you probably noticed by my name and writing mistakes. I always say that I wrote, write and will write in every language I speak and I'll ever speak, so sometimes I use a chatbot to check, correct and format my text, even if it is my native language. I understand English perfectly and I can express what ever I want on English, but I am terribly explaining my self, that's all. I also plan to add every important change made to LUNA.jl to Amalthea.jl as the front end is entirely loaned of that project and the backend has as a backup the original Julia backend, so it can always run as native LUNA.jl plus the support for named parameters. |
Uh oh!
There was an error while loading. Please reload this page.