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

Refactor build system dependencies to follow PEP-518 #419

Open
AntoineRondelet opened this issue Dec 15, 2021 · 1 comment
Open

Refactor build system dependencies to follow PEP-518 #419

AntoineRondelet opened this issue Dec 15, 2021 · 1 comment
Labels
build Task related to the compilation and execution of the project python Task related to the Python part of the code base tooling Task related to the tooling used in the repository

Comments

@AntoineRondelet
Copy link
Contributor

See: https://www.python.org/dev/peps/pep-0518/ for reference.

Let's use pyproject.toml as a configuration file to store build system requirements for the client (Python).
This, along with tools like Poetry or Flit can be a substitute for the setup.py file.

@AntoineRondelet AntoineRondelet added build Task related to the compilation and execution of the project python Task related to the Python part of the code base tooling Task related to the tooling used in the repository labels Dec 15, 2021
@AntoineRondelet
Copy link
Contributor Author

AntoineRondelet commented Feb 4, 2022

After some 2nd thoughts, switching to Poetry/Flit or similar tools is not strictly necessary at this stage.
Sticking to setup.py (and not using requirements.txt to avoid confusions and conflicting deps versions) is fine. We can use install_requires to list the packages needed for the Python code to function, and we can use extras_require for non-essential deps, like dev-deps etc.
That just works well for now.

A refactor of the setup.py would be beneficial for the time being (to split our deps into the install_requires and extras_requires buckets), and I'll leave this ticket opened to keep an eye on Python tooling and see if there's a fundamentally better way of managing deps that we should transition to in the future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Task related to the compilation and execution of the project python Task related to the Python part of the code base tooling Task related to the tooling used in the repository
Projects
None yet
Development

No branches or pull requests

1 participant