# Python : Packaging : uv
\[ [pypi](https://pypi.org/project/uv/) | [src](https://github.com/astral-sh/uv/) | [docs](https://docs.astral.sh/uv/) \]
> [!NOTE] Installing
> `$ curl -LsSf https://astral.sh/uv/install.sh | sh`
> Appends `. "$HOME/.local/bin/env"` to `.bashrc` & `.profile`.
Uses:
- `.python-version` file
- `project.requires-python` field in `pyproject.toml` file
Creates venv locally in `.venv`.
## Cheatsheet
```bash
$ uv python install 3.12 # not needed, handled automatically
$ uv python list
cpython-3.14.0a4+freethreaded-linux-x86_64-gnu <download available>
cpython-3.14.0a4-linux-x86_64-gnu <download available>
cpython-3.13.1+freethreaded-linux-x86_64-gnu <download available>
cpython-3.13.1-linux-x86_64-gnu <download available>
cpython-3.12.8-linux-x86_64-gnu .local/share/uv/python/cpython-3.12.8-linux-x86_64-gnu/bin/python3.12
cpython-3.12.7-linux-x86_64-gnu /usr/bin/python3.12
cpython-3.12.7-linux-x86_64-gnu /usr/bin/python3 -> python3.12
cpython-3.12.7-linux-x86_64-gnu /bin/python3.12
cpython-3.12.7-linux-x86_64-gnu /bin/python3 -> python3.12
$ uv run * # use instead of `python`
# will install python, sync env, activate env, and run command
$ uv init myproj
$ uv lock
$ uv sync
$ source .venv/bin/activate
```