-
Notifications
You must be signed in to change notification settings - Fork 0
Convert project from pip to uv package manager #40
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
Conversation
- Replace setup.py with modern pyproject.toml configuration - Update installation instructions in README.md and CLAUDE.md to use uv sync - Update GitHub Actions workflow to use uv instead of pip - Add uv.lock file for reproducible dependency resolution - Update deployment process to use uv build 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
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.
Pull Request Overview
This PR modernizes the project's dependency management by migrating from pip to uv, a faster Python package manager, while also updating the package configuration to use the modern pyproject.toml standard.
- Replaced legacy setup.py with pyproject.toml for modern Python packaging
- Updated all installation and build commands to use uv across documentation and CI/CD
- Modified GitHub Actions workflow to use uv for dependency management and command execution
Reviewed Changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| setup.py | Removed legacy setup.py configuration file |
| pyproject.toml | Added modern Python packaging configuration with project metadata and dependencies |
| README.md | Updated installation and deployment commands to use uv |
| CLAUDE.md | Updated installation instructions to use uv |
| .github/workflows/pull-request.yml | Modified CI workflow to use uv for dependency installation and command execution |
- Move pytest and flake8 to development dependencies in pyproject.toml - Update GitHub Actions to use uv sync --extra dev instead of adding flake8 during CI - Update installation instructions to include dev dependencies - Verified package discovery pattern matches actual codebase structure 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Create .flake8 config file to exclude .venv, build, dist, and *.egg-info - Set max-line-length to 127 and max-complexity to 10 - Simplify GitHub Actions workflow to use global config instead of command-line flags - Remove tool.flake8 from pyproject.toml (flake8 doesn't support this format) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Co-authored-by: David Bourgault <[email protected]>
Summary
This PR converts the project from using pip for dependency management to uv, a faster Python package manager.
Changes Made
setup.pywithpyproject.toml: Modern Python packaging configuration using the standard pyproject.toml formatpython -m pip install -e .touv syncin both README.md and CLAUDE.md.github/workflows/pull-request.ymlto use uv instead of pip for dependency installation and command executionpython setup.py sdist bdist_wheeltouv builduv.lock: Lockfile for reproducible dependency resolution across environmentsBenefits
🤖 Generated with Claude Code