zeth icon indicating copy to clipboard operation
zeth copied to clipboard

Refactor build system dependencies to follow PEP-518

Open AntoineRondelet opened this issue 3 years ago • 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.

AntoineRondelet avatar Dec 15 '21 13:12 AntoineRondelet

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.

AntoineRondelet avatar Feb 04 '22 18:02 AntoineRondelet