-
-
Notifications
You must be signed in to change notification settings - Fork 309
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
Switch to pyproject.toml
#408
Conversation
@pitbulk would it be possible to run CI on each push and not have to approve the changes? I'll probably have to do a lot of trial and error |
@Viicos, sorry for the delay in taking care of this one. @deronnax provided the following doc from 2021
With that in mind, you can review that the CI does not uses any direct call to setup.py (only in the coveralls part that I was investigating). I had no much idea when I introduced the use of pyproject.toml and poetry, so I checked some big projects and followed in some way what they did. I appreciate your effort to clean the toolkit and remove unnecessary info and fix any conflict I could introduce during the adoption of poetry and pyproject. I would prefer to keep setup.py/setup.cfg if possible, as I'm currently doing push on pypi using the setup command, but if you can explain to me the benefits of removing it and start doing the builds and publication in another way, now that we are about to remove python2 support, let me know. I see other great Python projects having pyproject and setup.py at the same time with no issues:
Let me know what do you think. |
Thanks for coming back at this PR!
Having a Using the setup command to push to PyPI will fail at some point as it is deprecated. Instead,
|
Plus declarative config is superior to imperative, dynamic config, so does say setuptools:
(I would change in some cases by in all cases) |
@Viicos , do you have a chance to update the PR? otherwise I will. |
I'll be able to get back to it shortly |
@Viicos, It seems it fails for python 3.6 due your requirement in pyproject.toml
Do you see any problem requiring a lower version? And you need to whitelist complexity on lint:
So let's set at .flake8
|
Yep I'll take a look, iirc downgrading the setuptools version should work |
I take that back, |
I think it's ok to drop 3.6 support then. In case of any security issue, I could drop a 1.16.1 version addressing this to cover people using Python < 3.6 Send a commit removing 3.6, and adding 3.12 from CI |
Keep setuptools, remove Poetry. Remove references to pycodestyle, flake8 already runs it Make lint configurations consistent with each other Run black in CI Remove travis CI Remove pylint config, it is not enforced (can be added later)
@pitbulk, what do you want to do with the Also, source code will need to be formatted, as black doesn't seem to have been applied for a while. |
Alternative to #397: trying to change as little as possible, and will follow with more cleanups if possible
Keep setuptools, remove Poetry.
Remove references to pycodestyle, flake8 already runs it
Make lint configurations consistent with each other
Run black in CI
Remove travis CI
Remove pylint config, it is not enforced (can be added later)