-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use PEP 517/518? #16
Comments
I have anecdotal evidence only from |
Well, according to that blog post, if you want editable installs (e.g. you like tox's usedevelop = true), then you still need a (shim) setup.py. Many ZF packages concatenate the contents of README.rst + '\n\n' + the contents of CHANGES.rst in their setup.py. I believe setuptools lets you specify long_description = file: README.rst or some such syntax in a setup.cfg, but I don't think it allows you to concatenate two files, which would also rule out dropping the setup.py for those packages. One thing pyproject.toml gives us is the ability to specify setup_requires in a way that lets pip install them before running setup.py (which would install them using easy_install, causing all sorts of problems). I would say we want do do this for any package that needs setup_requires (but there are few of those). For packages that don't use setup_requires, I'm not sure what pyproject.toml gets us, other than warm fuzzy feelings of "we're using the latest standards now", which is not enough for me personally. |
FWIW, I added a I didn't coalesce the other tooling files: @mgedmin that PR shows how to concatenate the [tool.setuptools.dynamic]
readme = {file = ["README.rst", "CHANGES.rst"]} Interesingly, that PR still had to keep the [build-system]
requires = [
"setuptools",
"wheel",
"cffi ; platform_python_implementation == 'CPython'",
"cffi @ git+https://github.com/python-cffi/cffi.git ; platform_python_implementation == 'CPython' and python_version >= '3.13a0'",
]
build-backend = "setuptools.build_meta" |
I'd be in favor of a separate template type for the configure script that does it the way Tres suggests plus moves all those other separate configurations into pyproject.toml. As @mgedmin said, the first targets could be packages using setup_requires, or packages with C extensions in general. I wonder if that would help with the macOS issues I keep seeing for those. |
Has anyone gathered experience in projects using PEP 517/518 aka
pyproject.toml
instead of setup.py and other configuration files?Would this be a way forward for the Zopefoundation projects aka #13.
See https://snarky.ca/what-the-heck-is-pyproject-toml/ for an introduction to the topic where I stumbled upon it.
The text was updated successfully, but these errors were encountered: