Migrate package to uv #996
Merged
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.
Changes:
Copilot:
This pull request introduces a major modernization of the project's packaging and dependency management by migrating from legacy
setup.py/requirements.txtto the new PEP 621-compliantpyproject.tomlformat and adopting theuvtoolchain for dependency installation and management. It also updates CI workflows and pre-commit hooks to useuv, simplifies documentation, and removes obsolete configuration files. The changes streamline development, improve reproducibility, and align the project with current Python packaging standards.Packaging and Dependency Management Modernization
setup.py,setup.cfg, andrequirements*.txtto a newpyproject.tomlusing PEP 621, specifying build backend (uv_build), project details, dependencies, and development groups. Legacy files were deleted. [1] [2] [3] [4] [5].github/dependabot.ymlto enable automated dependency updates for GitHub Actions and (optionally)uv.Continuous Integration (CI) and Tooling Updates
.github/workflows/python-app.ymlto useuvfor installing and running dependencies, switched to newer action versions, and integratedruffandpylintviauv. [1] [2] [3] [4] [5]Pre-commit Hook Improvements
.pre-commit-config.yamlto use local hooks running tools (pyproject-fmt,ruff,pylint,uv lock) viauv, removing direct references to legacy tool repos.Documentation Simplification
README-dev.mdto document the newuv syncworkflow for environment setup and testing, removing legacyvenvandpipinstructions.Minor Codebase Updates
@propertydecorators in a few modules for consistency. [1] [2] [3] [4]