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
move to pyproject.toml #1128
move to pyproject.toml #1128
Conversation
Thanks @sigma67 , this looks interesting. Could you say something about why this would be a better approach than the exisiting setup? I'm not super familiar with the differences between these options but I'm interested to learn why you see this change as important. |
Hi @lornajane , sure. It was introduced in PEP 518 and PEP 621. Furthermore it simplifies the project root of rst2pdf quite a bit, as you only have one file where all the project data is stored. Some tools don't support it yet (like flake8), but likely will in the future. rst2pdf currently uses setuptools as its build system. setuptools also explains in its docs that |
I also see that currently the tests are failing on CI, I will take a look. |
The |
@akrabat https://github.com/pypa/setuptools_scm/ I just took care of that with the new commit. The includes should now be correct, I think, feel free to verify. |
ed4f58e
to
e4e47c9
Compare
Also rebased onto main. |
Should pass all tests now. |
Note that MANIFEST.in is only needed if we care about what's in the sdist, i.e. tar.gz. If we just include everything we can remove that file as well.
https://www.remarkablyrestrained.com/python-setuptools-manifest-in/ |
Don't hesitate to ask if there are open questions :) |
At least for me personally, I don't know what the questions are. Python isn't the main tech stack for the active maintainers, and I have no way of knowing what the needs of all our dependent projects are. I am not sure how to evaluate this change for safety, and I'm unclear about the benefits beyond it being the way you'd do things if you started the project today. There doesn't seem to have been a particular bug or limitation that prompted the change, and it's not something that we've been asked by users to do. Some of the questions that are in my mind, which are pretty generic for risky changes:
I want to accept the changes that will improve the project, but there's a lot here that isn't clear yet. |
Ensure that all packages that are built and distributed are identical to those built without the change. Ensure that tests pass as before.
it does not change the experience
Single point of configuration for developers, not spread across many files. Future proofing the package for future Python versions and new tools that may only use pyproject.toml, as this is the new standard in the Python ecosystem. Easier to acquire new contributors as it shows that you are using latest Python standards (this one's perhaps debatable).
Something in the build pipeline may break. For evaluation see "how can we test this change".
It probably wouldn't hurt to ask some users to test this change. |
This is on my list to look at, but I'm not sure when I'll get to it. Just wanted to note that it's not forgotten. |
No worries, it's not urgent. Perhaps you can trigger the tests in this PR to see if there any issues? |
Hello 👋 I just recently migrated to pyproject.toml in my own open-source project, so I thought it might be nice to help out another project with this.
This PR consolidates the project root a bit by combining 4 files into 1. Let me know if you have any concerns or issues, everything worked fine for me locally :)