clearmatics/zeth

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.