Use pyproject.toml to specify build-system and dependencies #1050
jakobkukla
started this conversation in
General
Replies: 1 comment 2 replies
-
|
I'll have to look into it further, but I think migrating to |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi again :)
As I said in the other discussion, I'm currently trying to package Yamtrack for Nix/NixOS. Packaging python applications in general is much easier if upstream uses
pyproject.tomlwith a build-system likesetuptoolsto describe how a project is build and add some metadata. It also allows to neatly specify package dependencies in the same file. Yamtrack currently usesrequirements.txtto do so. If you are interested, I could also contribute this change.There are some open questions though:
setuptoolswithsetuptools-scmas it is widely used and pretty much does everything automagically without additional configuration (like adding non.pyfiles like templates and json to the package).pyproject.toml, fixing dependency versions (==) in it is disregarded. One would generally rather define a range of working versions or a minimum version. This is also relevant for package managers (including Nix) as package repositories seldomly ship the exact versions a package might use (e.g.beautifulsoup4wasn't updated to4.14in nixpkgs yet).uvorpoetry). There is also the newly standardized PEP 751 which brings native locking support topip. It is still experimental currently, but I think it's safe to say this will be the way forward. :)What do you think?
Thanks!
Beta Was this translation helpful? Give feedback.
All reactions