Proposal
Migrate from requirements.txt / requirements-dev.txt to uv with a pyproject.toml, enabling uv sync for reproducible installs.
Motivation
uv sync generates a lockfile (uv.lock) for fully reproducible environments
pyproject.toml is the modern Python standard for declaring project metadata and dependencies
uv is significantly faster than pip for installs
Work required
- Create
pyproject.toml with dependencies from requirements.txt and a dev optional group from requirements-dev.txt
- Run
uv sync to generate uv.lock
- Remove
requirements.txt and requirements-dev.txt
- Update
scripts/deploy.sh: pip install -r requirements.txt → uv sync --no-dev
- Update
.github/workflows/django-check.yaml and .github/workflows/check-gunicorn-config.yaml to install uv and use uv sync
Proposal
Migrate from
requirements.txt/requirements-dev.txttouvwith apyproject.toml, enablinguv syncfor reproducible installs.Motivation
uv syncgenerates a lockfile (uv.lock) for fully reproducible environmentspyproject.tomlis the modern Python standard for declaring project metadata and dependenciesuvis significantly faster thanpipfor installsWork required
pyproject.tomlwith dependencies fromrequirements.txtand adevoptional group fromrequirements-dev.txtuv syncto generateuv.lockrequirements.txtandrequirements-dev.txtscripts/deploy.sh:pip install -r requirements.txt→uv sync --no-dev.github/workflows/django-check.yamland.github/workflows/check-gunicorn-config.yamlto installuvand useuv sync