-
Notifications
You must be signed in to change notification settings - Fork 101
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
[wip] Migrate the project to pyproject.toml #422
Conversation
f27dd21
to
374be00
Compare
feadcc6
to
848e873
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With this PR, I think we can also remove api/typing_extensions.py
caed258
to
01aab97
Compare
80fbf70
to
94e43e8
Compare
Changes introduced by this commit: Python Packaging - package definition and dependencies are incorporated in pyproject.toml - setup.py, setup.cfg, *requirements.txt are no longer needed - packaging upstream is done via hatch see: https://packaging.python.org/en/latest/tutorials/packaging-projects/#choosing-build-backend Dependencies - black and pylint are no longer required - tox is no longer required - testing deps are no longer part of the dependencies - docs are split in a separate package Automation - cirrus does not require lint checks anymore since they are delegated to a separate check in precommit - pre-commit is used to check black, isort, pylint and it's all Signed-off-by: Nicola Sella <[email protected]>
Signed-off-by: Nicola Sella <[email protected]>
Signed-off-by: Nicola Sella <[email protected]>
Signed-off-by: Nicola Sella <[email protected]>
The file is not needed anymore since python<3.8 is dropped Signed-off-by: Nicola Sella <[email protected]>
1. This commit introduces the [test] subpackage 2. It removes requests-mock <= 1.11 requirement At the time of writing this commit requests-mock is packaged with the following versions in Fedora and Epel. Fedora 42 python-requests-mock-1.10.0-9.fc41 Fedora 41 python-requests-mock-1.10.0-9.fc41 Fedora 40 python-requests-mock-1.10.0-7.fc40 Fedora 39 python-requests-mock-1.10.0-5.fc39 Fedora EPEL 9 python-requests-mock-1.10.0-2.el9 Fedora EPEL 8 python-requests-mock-1.7.0-1.el8 3. It excludes the test subpackage and the check dependencies for test dependencies when run for distros which are not Fedora i.e. CentOS Stream Signed-off-by: Nicola Sella <[email protected]>
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: inknos The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Closing in favor of this issue which will track all the steps one by one. #474 Too many steps in a single PR |
This is a WIP pr. before getting merged I expect a lot of changes and reviews. The automation, release process and gating will need to be tested as well before going.
Changes introduced by this PR:
package management is now done by hatch as suggested by the python docs.
a big advantage of that is how the requirements are defined. now, it is sufficient to do
hatch shell
to get to the dev environment and have all the necessary tools in the virtual shell (the ones defined in test-requirements.txt).the environment where tests run is also better defined this way. with this PR, only the packages needed for testing are pulled. packages such as linting tools and pre-commit are not included in the testing env.
setup.py
,setup.cfg
,*requirements.txt
are no longer needed.Important missing parts that I am still figuring out how to wire up: