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
pythonPackages.poetry: init at 0.12.10 #53599
Conversation
@jbaum98 Why |
Thanks for your thorough feedback and sorry for what appears to have been a pretty sloppy PR.
This could be entirely misguided, but I always set |
I think we'd have to add a However it is confusing that they'd distribute a |
I'm guessing |
Okay, I think I've fixed anything that isn't the |
I'll give your new commits a quick look to see if they're resolved properly. And yes we'd like a commit for each package. As for the poetry test situation, I agree with that flow. |
Remember to add |
@jbaum98 Great, squash at will. Then I will begin some testing locally. |
As for being able to build poetry based python packages, I think we can do something similar to what's done for flit. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Regarding the enableParallelBuilding
thing: I might've missed something while skimming through the thread, but as it's only used for make parallelism (which happens to be the "default" build approach when using stdenv.mkDerivation
), why is it used here? IIRC buildPythonPackage
directly invokes setup.py
.
Another concern I have is that none of these packages has maintainers listed: we already have numerous breaking python packages on Hydra (due to too strict dependency constraints mostly), so I'd like to see as much of these packages as possible having maintainers that can help us keeping this package set as stable as possible.
I'm happy to be the maintainer for these packages if that makes sense, but I'll need to add myself to the maintainers list. |
95275bc
to
196b3ee
Compare
I agree with @jbaum98 even if it's not needed. I tend to try and make the derivation respect the things specified by upstream as close as possible. Unless they want crazy nonsense that is, then maybe patch it all away 😄 |
That shouldn't be a problem I guess. Just add yourself in the first commit in this branch (this is what most new contributors do). |
checkInputs = [ pytestrunner pytest hypothesis ]; | ||
|
||
# pytestrunner is only needed to run tests | ||
patches = [ ./no-setup-requires-pytestrunner.patch ]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you submit that upstream?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wasn't sure, pytestrunner
instructs people to do this https://github.com/pytest-dev/pytest-runner#usage
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The last few commits should be squashed into the appropriate ones. Otherwise, this is fine.
@jbaum98 Thanks for your contribution 🎆 |
|
||
let | ||
cleo6 = cleo.overrideAttrs (oldAttrs: rec { | ||
version = "0.6.8"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We usually can't have a Python package depend on a version that's not the default because this can lead to conflicts. Was there a reason we allowed this back then?
And isn't poetry only ever used as an application, i.e. never imported? In that case, we should move it out of pythonPackages
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We usually can't have a Python package depend on a version that's not the default because this can lead to conflicts. Was there a reason we allowed this back then?
And isn't poetry only ever used as an application, i.e. never imported?
Yeah it is weird that I forgot about that, especially since we're always mentioning this 😄
I can move this out of python-modules
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you're sure it's never imported, feel free to go ahead. Thank you in advance!
Fyi I've repackaged This fixes a bunch of issues that this package currently has:
poetry2nix.mkPoetryPackage {
inherit python;
pyproject = ./pyproject.toml;
poetryLock = ./poetry.lock;
src = fetchFromGitHub {
owner = "sdispater";
repo = "poetry";
rev = "1.0.0b5";
sha256 = "1l7vd233p9g8sss5cxl6rm6qyf55ahbb9sw7zm3sd5xchcsiyday";
};
} I intend to get this into nixpkgs as soon as Poetry releases a 1.0. |
Motivation for this change
Add the
poetry
package and its dependencies.Closes #53132.
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)nix path-info -S
before and after)