clearmatics / zeth

Integration of Zerocash on Ethereum: https://arxiv.org/abs/1904.00905
https://clearmatics.github.io/zeth/
GNU Lesser General Public License v3.0
57 stars 27 forks source link

Refactor build system dependencies to follow PEP-518 #419

Open AntoineRondelet opened 2 years ago

AntoineRondelet commented 2 years ago

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 commented 2 years ago

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.