Skip to content

Conversation

@gcamp
Copy link
Member

@gcamp gcamp commented Jul 29, 2025

Summary

This PR converts the project from using pip for dependency management to uv, a faster Python package manager.

Changes Made

  • Replaced setup.py with pyproject.toml: Modern Python packaging configuration using the standard pyproject.toml format
  • Updated installation instructions: Changed from python -m pip install -e . to uv sync in both README.md and CLAUDE.md
  • Updated GitHub Actions workflow: Modified .github/workflows/pull-request.yml to use uv instead of pip for dependency installation and command execution
  • Updated deployment process: Changed build command from python setup.py sdist bdist_wheel to uv build
  • Added uv.lock: Lockfile for reproducible dependency resolution across environments

Benefits

  • Faster dependency resolution and installation: uv is significantly faster than pip
  • Better dependency resolution: More reliable conflict resolution
  • Reproducible builds: Lock file ensures consistent dependency versions
  • Modern tooling: Uses current Python packaging standards

🤖 Generated with Claude Code

- 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]>
@gcamp gcamp requested review from JMilot1, Copilot and ngc7293 July 29, 2025 18:18
Copy link

Copilot AI left a 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

gcamp and others added 3 commits July 29, 2025 14:21
- 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]>
@gcamp gcamp enabled auto-merge (squash) July 29, 2025 19:13
@gcamp gcamp merged commit 6f4a1de into main Jul 29, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants