jmopines/site/content/software/python-uv.md
Jean-Michel Tremblay b2727be8ce Initial commit: Hugo site with Terminal theme
Scripts: setup.sh, build.sh, serve.sh (Docker-based)
Content: about, config, software, posts sections
Custom: CSS overrides, HTML sitemap layout, extended_head partial
Theme: hugo-theme-terminal via Hugo modules (go.mod)
2026-04-03 16:30:38 -04:00

28 lines
728 B
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "Python Packaging with uv"
date: 2026-04-03
draft: false
tags: ['python', 'tools', 'workflow']
---
`uv` is a fast Python package manager and project tool written in Rust.
## Why uv over pip/poetry/pipenv?
- 10100x faster dependency resolution.
- Single tool: replaces pip, pip-tools, virtualenv, and pyenv.
- Lockfile support via `uv.lock`.
## Common commands
```bash
uv init myproject # scaffold a new project
uv add requests # add a dependency
uv sync # install from lockfile
uv run pytest # run inside the managed venv
```
## Project convention
All Python projects in this workspace use `uv` exclusively — no raw
`pip install` or `python -m pytest`.