Refactor build system dependencies to follow PEP-518
AntoineRondelet opened this issue · 1 comments
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.
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.