I don't have much experience with Python, especially the packaging/building + some time has passed since I first created this Python package, so it would be great to revise and modernize the setup / organization of bindings/python package. Fix old mistakes and make sure we use latest best practices.
What I know is that I am currently using Makefile for, but I should probably instead be using setup.py and pyproject.toml for most of this work, as much of it as possible. I should look into that, if I can get rid of Makefile, then other stuff might also work smoother. And then also I can somewhere properly declare which are the deps that python binding uses (for dev), instead of installing one by one in the makefile -> in requirements.txt or maybe in pyproject.toml if that is a better way today.
It might also make sense to reconsider which builder to use. Poetry is popular these days.
Help here is very welcome from experienced Pythonistas!
NOTE: this python package uses edlib cpp library that is plugged in via Cython. This adds some complexity. Also, we are using cibuildwheels to build the wheels in CI.
I don't have much experience with Python, especially the packaging/building + some time has passed since I first created this Python package, so it would be great to revise and modernize the setup / organization of bindings/python package. Fix old mistakes and make sure we use latest best practices.
What I know is that I am currently using Makefile for, but I should probably instead be using setup.py and pyproject.toml for most of this work, as much of it as possible. I should look into that, if I can get rid of Makefile, then other stuff might also work smoother. And then also I can somewhere properly declare which are the deps that python binding uses (for dev), instead of installing one by one in the makefile -> in requirements.txt or maybe in pyproject.toml if that is a better way today.
It might also make sense to reconsider which builder to use. Poetry is popular these days.
Help here is very welcome from experienced Pythonistas!
NOTE: this python package uses edlib cpp library that is plugged in via Cython. This adds some complexity. Also, we are using cibuildwheels to build the wheels in CI.