New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
mario: init at version 0.0.155 #90695
Conversation
@python-mario-bot thanks for opening your first PR with nixpkgs :) |
@jonringer Thanks for the tips. I've applied those changes. |
cc @FRidh what's the policy on poetry2nix as part of a package? |
As I kind of suspected, this isn't going to be allowed in nixpkgs:
essentially, you're having one derivation create another through poetry2nix. This is fine on your local machine, but nixpkgs has strict evaluation. Please use normal |
Poetry2nix only uses IFD if |
I'm probably just used to using |
Updated in response to @infinisil comments. |
I'm not much of a fan of the 2100 line lock file, which also requires pulling >200 sources. I would prefer for this to be tranlated into a normal |
I understand the reluctance to have so many new dependency derivations. Smaller packages hog less resources, and re-using the existing nixpkgs would mean eliminating the need to rebuild and store versions that have already been built with On the other hand, building from Poetry lockfiles makes it easier to create and maintain derivations, since most of the work is automated. Additionally, as poetry2nix usage becomes more common in the wild, poetry2nix nixpkgs will increasingly be able to reuse cached builds. This will have a compounding effect, where each additional poetry2nix package in nixpkgs makes it easier to use poetry2nix (and thus easier to use Nix). Perhaps |
Unless this requires many new (or different versions of) packages that already exist in Nixpkgs I suppose this is the future. I've expressed several times my dislike to the use of these tools in Nixpkgs, but who am I to block it. This is indeed a large lock file, yet still smaller than e.g. typical yarn lock files. At the same time, this will take time to build, every time, and add considerably to the S3 storage. So far everything is being paid for, but I wonder when the line will be drawn, because as soon as we have several of these lock files it goes fast. |
Makes me wonder if eventually it might be worth investing in tooling to try adding constraints/preferences to the solver so that already-built dependency versions are preferred. |
I don't think poetry2nix makes any assumptions about what nixpkgs are available (at least not from looking at the lock file) |
Indeed, if that time comes it may be necessary to course-correct and apply some tooling or manual work to restrict the proliferation of builds. I think the storage and compute resources are worth keeping in mind as nixpkgs evolves, but at this point I'd prefer merging the expression as-is if you're willing. |
From my perspective this is ready to be merged. If there are no remaining issues, I'd like to proceed. |
well we need to find a solution to growing lock files in nixpkgs anyways. there are a lot of them lying around and its getting more, but ignoring open PRs is not a solution so I'm gonna merge this for now |
it seems this also needs to be imported in all-packages.nix or somewhere else so it shows up in the package set. Right now nix-review reports no changes when reviewing this |
I think I would be more okay with this if it had |
Add mario to all-packages.nix.
2b40cbb
to
ca50bf6
Compare
@Lassulus I've updated the PR to add the package in |
@python-mario-bot can you also add the |
|
I strongly recommend upstream to add a flake with this expression to their repository instead. Flakes-support is not yet released, but I doubt there will be any more changes. |
I marked this as stale due to inactivity. → More info |
Closing due to inactivity from author. |
Motivation for this change
Add Mario CLI app, which runs Python pipelines in the shell.
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)