Skip to content

Conversation

@MaxGhenis
Copy link
Contributor

Summary

  • Replace setup.py with pyproject.toml using setuptools backend for modern Python packaging
  • Add uv.lock for reproducible dependency management and faster installs
  • Update Makefile to use uv sync and uv run commands
  • Update CI workflows to use astral-sh/setup-uv@v4
  • Update version extraction scripts to use pyproject.toml instead of setup.py

Test plan

  • CI passes on all matrix combinations (Ubuntu/Windows, Python 3.10-3.13)
  • Verify make install works locally with uv
  • Verify make test runs successfully
  • Verify make build creates proper wheel/sdist
  • Verify changelog versioning workflow still works

Notes

This migration provides:

  • Faster installs: uv is significantly faster than pip
  • Reproducible builds: uv.lock ensures exact dependency versions
  • Modern packaging: pyproject.toml is the standard for Python projects (PEP 621)
  • Better CI caching: uv has built-in caching that works well with GitHub Actions

🤖 Generated with Claude Code

- Replace setup.py with pyproject.toml using setuptools backend
- Add uv.lock for reproducible dependency management
- Update Makefile to use uv sync and uv run commands
- Update CI workflows to use astral-sh/setup-uv@v4
- Update version extraction scripts to use pyproject.toml

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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.

2 participants