[ ] This PR addresses an already opened issue (for bug fixes / features)
This PR fixes #xyz
[x] (If applicable) Documentation has been added / updated (for bug fixes / features).
[ ] (If applicable) Tests have been added.
[x] This PR does not seem to break the templates.
[x] HISTORY.rst has been updated (with summary of main changes).
[x] Link to issue (:issue:number) and pull request (:pull:number) has been added.
What kind of change does this PR introduce?
Updates the cookiecutter to the latest changes, adopting PEPs 517, 518, and 621.
Now using bump-my-version instead of bump2version.
Linting is performed with ruff for the majority of checks, with minimal flake8-based checks (until such a time that these checks are ported to ruff).
Documentation has been modified from the cookiecutter to maintain setuptools-relevant information.
All non-babel configurations have migrated to .flake8 and pyproject.toml.
Many low-effort lint-related fixes applied.
tox builds are now more pure Python build friendly.
pre-commit now has hooks for TOML files, JSON schemas, and ruff.
Does this PR introduce a breaking change?
There are no behavioural changes for users or developers, but the build system configurations are now more centralized into pyproject.toml. bump2version has been replaced with bump-my-version (maintained; pyproject.toml support).
setup.py has been mostly hollowed out. The only function remaining is that which generate the translations. This approach is the recommended way to maintain setup.py functionality in the new build system.
The contents of the wheel are set within pyproject.toml while those of the source distribution are still set via MANIFEST.in, similar to how it was configured before.
Pull Request Checklist:
number
) and pull request (:pull:number
) has been added.What kind of change does this PR introduce?
bump-my-version
instead ofbump2version
.ruff
for the majority of checks, with minimalflake8
-based checks (until such a time that these checks are ported toruff
).setuptools
-relevant information.babel
configurations have migrated to.flake8
andpyproject.toml
.tox
builds are now more pure Python build friendly.pre-commit
now has hooks for TOML files, JSON schemas, andruff
.Does this PR introduce a breaking change?
There are no behavioural changes for users or developers, but the build system configurations are now more centralized into
pyproject.toml
.bump2version
has been replaced withbump-my-version
(maintained;pyproject.toml
support).setup.py
has been mostly hollowed out. The only function remaining is that which generate the translations. This approach is the recommended way to maintainsetup.py
functionality in the new build system.The contents of the wheel are set within
pyproject.toml
while those of the source distribution are still set viaMANIFEST.in
, similar to how it was configured before.Other information:
https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html https://docs.pypi.org/trusted-publishers/using-a-publisher/
What's missing?
ruff
~