-
-
Notifications
You must be signed in to change notification settings - Fork 308
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
improve packaging, migrate to setup.cfg #397
Conversation
#398 should be merged first |
Shouldn't this entirely poetry build
poetry publish |
The relevant info is here: Lines 79 to 85 in a1211a8
the build backend points to Poetry so any setuptools related files ( If you want to stick with Poetry, I would suggest using: [build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api" There's no need to require |
Ah damn. All this work for almost nothing! I wasn't sure Poetry was the way to go, because it's not used in CI, so I was mislead thinking Poetry was not used (and actually it might not be, since setup.py metadata are still relevant. But since the package is not built in the CI, we can't know). |
Yeah I don't know a lot about poetry, but it looks like the I've recently gone through the same surprises and frustrations - so some documentation improvements and cleanups (removing setup.py completely) would definitely clarify the situation. |
Build frontend tools such as However, the CI doesn't seem to handle packaging and publishing (as you mentioned), so maintainers might be forcing The metadata and packaging configuration would probably benefit from a large cleanup. We couldn't really do it in our fork to avoid merge conflicts |
Agreed. I will do all these cleanup if the maintainer comes back |
@deronnax, Maintainer here, what do you need? |
You direction to do some clean up work. Do you use the setup.py or Poetry to manage dependencies and build a release? |
To build the release I use setup.py
|
But the setup.py is not picked up for local development due to the presence of pyproject.toml which specifies poetry as build tool. In the current situation you need to make the same change to setup.py and pyproject.toml (e.g. when specifying new or newer dependencies, as that's how I found this out). Please pick one method. |
When I was porting from setup.py to pyproject.toml I experienced some challenges, that why I ended with both. You can read this thread where people experienced similar issues: |
I can give it a shot if you are ok with it? |
I'll let @Viicos do the work on his PR. |
declarative config (putting all the packaging information into the setup.cfg) is superior to imperative config (using code in setup.py) (source: setuptools themselve)
You lose the ability to do
python setup.py test
but managing tests with setup.py is deprecated and so is calling setup.py via the command line.