PEP-621 (.toml metadata) and PEP-751 (.lock env)
Python-native package registry pyx under the hood
Install uv
curl -Ls https://astral.sh/uv/install.sh | bash
export PATH=$HOME/.local/bin:$PATH
echo 'export PATH=$HOME/.local/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
source $HOME/.local/bin/env
Install python
uv python list
sudo add-apt-repository ppa:deadsnakes/ppa -y
sudo apt update
sudo apt install pythonV -y
uv python install V
Create virt env
uv venv --python pythonV
Set-up project
source .venv/bin/activate
uv init --bare --python pythonV
uv add -r requirements.txt --active
(PEP 723 inline script metadata
uv add --script script.py -r requirements.txt --active
uv run script.py)
uv lock
uv sync
Remove all dependencies / clear env
uv pip freeze | xargs uv pip uninstall
Python type checker
uvx ty check
Linter
uvx ruff check
Formatter (PEP9 compliance)
uvx ruff format