Use pyproject.toml
Closes https://github.com/inkstitch/pyembroidery/issues/107
@kaalleen Any preference on build backend? Hatchling, setuptools or PDM are reasonable choices: https://packaging.python.org/en/latest/tutorials/packaging-projects/#choosing-a-build-backend
I think we were using setuptools so far. Maybe that. But since I have no idea about these things, I don't really have a preference. So if you prefer one over an other, you could convince me quickly.
Hatchling and PDM offer ability to build C/C++ dependencies. They may make it easier for new contributors. uv is also gaining popularity, though it is built using rust, review of rust dependencies is not great. Scientific python ecosystem promotes Hatchling at present, will check if any can simplify build process for Ink/Stitch.
Maybe upstream pyembroidery has an opinion, there is a possibility of keeping the projects compatible/combining.
- https://github.com/EmbroiderPy/pyembroidery/issues/149
- https://github.com/EmbroiderPy/pyembroidery/issues/157
- https://github.com/EmbroiderPy/pyembroidery/issues/182
Maybe upstream pyembroidery has an opinion, there is a possibility of keeping the projects compatible/combining.
Yes, good idea. I really would want them to stay compatible.
@bkmgit I rebased our pyembroidery on upstream. I think this is when you can take action for file structure changes necessary to place it on pypi. Not sure if you want to rebase your branch or create a new one.
It is ready to merge. It maybe helpful to make a release. Would suggest using versioning related to pyembroidery, so perhaps 1.5.1.0 as pyembroidery is at 1.5.1, can increase to 1.5.1.1 if changes are made but have not rebased on a new release of pyembroidery.
This may make it more difficult to rebase on upstream, but that's probably fine. It looks like upstream has been inactive for over a year. And git might still be able to figure things out through the file renamings. Regardless, I'm fine with proceeding.
Thanks for renaming. Easy to miss, but it'd be good if the folder name also gets an update :)
Done. Dropped Python 3.8 tests as Python 3.8 is no longer supported.
Oh, ok. I guess then we need to remove it from the pyproject.toml as well?
Done thanks.
Thank you. Sorry for not noticing earlier. When we rename the project, in pyproject.toml we also need to adapt the urls at the bottom of the file.
Done, thanks.