uv

Convert to pyproject.toml

Create a pyproject.toml file:

# You may need to run this in an empty folder
uv init --no-workspace

Virtual Environment:

# Create a virtual environment in '.venv' (uv style)
uv venv
# Update 'env' and 'env.fish' to use '.venv'

Requirements:

# Update the old-style requirements files
kb.py --create-apps-txt

# Remove the 'dynamic' section from 'pyproject.toml'
dynamic = ["dependencies", "optional-dependencies"]

# Add the requirements
uv add -r requirements/dev.txt --group dev
uv add -r requirements/production.txt --group prod

Not sure where to add these:

# Do they need to be in the 'dev' and 'production' groups?
uv add -r requirements/apps.txt

Compare pyproject.toml with an existing version to update as necessary…