Touch up several parts of the repository #291
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #290
Closes #289
Closes #288
AI Summary
This pull request modernizes and streamlines the repository's Python packaging, CI/CD workflows, and dependency management. The main changes include upgrading to Python 3.12, switching to PEP 621/Flit-based packaging, simplifying dependency files, and updating CI/CD steps for improved maintainability and reliability.
Python version and tooling upgrades:
Dockerfile,.pre-commit-config.yaml, and all workflow files to use Python 3.12 and relevant pre-commit hook arguments. [1] [2] [3] [4] [5] [6]Packaging and dependency management:
setup.pyand requirements files with a modernpyproject.tomlusing Flit for packaging and dependency management, including moving development dependencies to[project.optional-dependencies]and removingrequirements_dev.txt. [1] [2] [3].github/utils/requirements_ci.txt) to centralize CI dependencies.CI/CD workflow improvements:
actions/checkoutandactions/setup-python, and switched changelog generation togithub-changelog-generatorDocker image for more robust release notes. [1] [2].github/utils/update_version.shfor clarity and maintainability.Pre-commit and linting changes:
.pre-commit-config.yamlto match new Python version, removed the localpylinthook, and adjusted hook arguments for compatibility.pylint-safetyjob from CI, simplifying linting and safety checks.Other updates:
LICENSE.These changes collectively modernize the repository, reduce maintenance overhead, and improve CI/CD robustness.