Skip to content
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

Move to a modern python package format #670

Open
CKrawczyk opened this issue Jan 6, 2023 · 0 comments
Open

Move to a modern python package format #670

CKrawczyk opened this issue Jan 6, 2023 · 0 comments

Comments

@CKrawczyk
Copy link
Collaborator

Python is moving to a static metadata format for packages. Looking at what is currently available:

  • flit: lightweight, just a build system
  • hatch: build system, environment manager
  • PDM: build system, environment manager, dependency manager (with lock file)

Dependabot just introduced an update to support the pyproject.toml files that all the above methods use. It does not support PDM's custom lock file.

With this change, I would also like to use a lock file to pin specific versions rather than pinning them in the dependency list. To allow Dependabot to keep working the best way to do this is to not pin anything in the pyporject.toml file and create a separate requirements.txt lock file with the pins. The lock file will only be used by CI/Docker, the PyPi package will only get the un-pinned pyproject.toml file.

This change will make the aggregating package play nicer on installation into existing python environments but still provide reproducible builds for CI and CD.

I think the easiest way forward is moving to filt and using a requirements.txt lock. This would require the smallest number of changes to achieve.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant