Conversation
There was a problem hiding this comment.
Pull request overview
This PR migrates the project from pip-based dependency management to uv, a modern Python package manager. The migration involves replacing requirements.txt with pyproject.toml, adding a lock file for reproducible builds, and updating documentation.
Changes:
- Replaced requirements.txt with pyproject.toml and uv.lock for modern dependency management
- Updated Python version requirement from 3.12 to 3.13
- Updated installation and usage documentation to use uv commands
Reviewed changes
Copilot reviewed 3 out of 6 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| pyproject.toml | Added new project configuration with dependencies, development dependencies, and metadata |
| uv.lock | Added lock file for reproducible dependency resolution |
| requirements.txt | Removed old pip requirements file |
| INSTALL.md | Updated installation instructions to use uv instead of pip/venv |
| CLAUDE.md | Updated command examples to use "uv run" prefix |
| .gitignore | Added .venv directory to ignore uv's virtual environment |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
pyproject.toml
Outdated
| "python-dateutil>=2.9.0", | ||
| "bleach>=6.1.0", | ||
| "django-csp>=3.8", | ||
| "validate_email>=1.3", |
There was a problem hiding this comment.
The dependency name should be "validate-email" (with a hyphen) to match the package name on PyPI, not "validate_email" (with an underscore). While Python often accepts both forms, using the canonical PyPI name is the correct approach.
| "validate_email>=1.3", | |
| "validate-email>=1.3", |
pyproject.toml
Outdated
| license = "Apache-2.0" | ||
| requires-python = ">=3.13" | ||
| dependencies = [ | ||
| "django>=5.2.9", |
There was a problem hiding this comment.
The lock file specifies Django 6.0.1, but pyproject.toml requires "django>=5.2.9". This means newer major versions (6.x) are allowed, which could be a breaking change. If the project has only been tested with Django 5.x, consider pinning the major version with "django>=5.2.9,<6" to prevent unexpected upgrades.
| "django>=5.2.9", | |
| "django>=5.2.9,<6", |
aa045f3 to
ed1e999
Compare
- Replace requirements.txt with pyproject.toml for modern dependency management - Add uv.lock for reproducible builds - Update INSTALL.md with uv installation instructions - Update CLAUDE.md commands to use uv run - Add .venv to .gitignore for uv's virtual environment Closes #458
ed1e999 to
a9246db
Compare
Closes #458