uv é um gerenciador de pacotes e ambientes Python extremamente rápido, escrito em Rust pela Astral (criadores do Ruff). É um substituto moderno para pip, pip-tools, pipx, poetry, pyenv, e virtualenv.
- ⚡ 10-100x mais rápido que pip
- 🔒 Lockfile automático para builds reproduzíveis
- 🎯 Interface simples e intuitiva
- 🔄 Compatível com pip e requirements.txt
- 📦 Gerencia Python e dependências
- 🚀 Sem configuração complexa
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"curl -LsSf https://astral.sh/uv/install.sh | shpipx install uvuv --version# Use o script fornecido
setup.bat # Windows
bash setup.sh # Linux/macOS
# Ou manualmente
uv syncO comando uv sync irá:
- Criar ambiente virtual em
.venv/ - Ler
pyproject.toml - Instalar todas as dependências
- Criar
uv.lockpara builds reproduzíveis
# Executar diretamente (SEM ativar ambiente)
uv run python -m campelmag_gui.main
# Ou usar o comando registrado
uv run campelmag-gui
# Executar qualquer script Python
uv run python exemplo.py# Linux/macOS
source .venv/bin/activate
# Windows
.venv\Scripts\activate
# Depois de ativado, use normalmente
python -m campelmag_gui.main
campelmag-gui# Adicionar pacote
uv add nome-do-pacote
# Adicionar pacote de desenvolvimento
uv add --dev black
# Adicionar versão específica
uv add "numpy>=2.0.0"uv remove nome-do-pacote# Atualizar todas
uv lock --upgrade
# Atualizar pacote específico
uv lock --upgrade-package numpy# Criar novo ambiente
uv venv
# Criar com Python específico
uv venv --python 3.12
# Listar pacotes instalados
uv pip list
# Verificar dependências
uv pip check# Executar script Python
uv run python script.py
# Executar com argumentos
uv run python script.py --arg valor
# Executar comando instalado
uv run black .# Sincronizar com pyproject.toml
uv sync
# Sincronizar apenas dependências principais (sem dev)
uv sync --no-dev
# Sincronizar tudo, incluindo dev
uv sync --all-extraspython -m venv venv
source venv/bin/activate # ou venv\Scripts\activate
pip install --upgrade pip
pip install -r requirements.txt
python -m campelmag_gui.mainuv sync
uv run campelmag-guipyside/
├── .venv/ # Ambiente virtual (criado por uv)
├── pyproject.toml # Dependências e configuração
├── uv.lock # Lockfile (versionamento exato)
├── requirements.txt # Compatibilidade com pip
└── ...
# Executar ferramenta temporária
uvx black .
uvx ruff check .# Criar ambiente com Python 3.12
uv venv --python 3.12
# Ou especificar no pyproject.toml
# requires-python = ">=3.12"uv mantém um cache global de pacotes, tornando instalações subsequentes instantâneas.
# Usar cache offline
uv sync --offlineuv pip compile pyproject.toml -o requirements.txtSe você tem um projeto existente com venv:
# 1. Remover venv antigo (opcional)
rm -rf venv # Linux/macOS
# ou
rmdir /s venv # Windows
# 2. Sincronizar com uv
uv sync
# 3. Pronto! Use .venv/ em vez de venv/Windows: Reinicie o PowerShell ou adicione ao PATH manualmente.
Linux/macOS: Execute source $HOME/.cargo/env ou reinicie o terminal.
# Limpar cache
uv cache clean
# Recriar ambiente
rm -rf .venv
uv sync# Forçar reinstalação
uv sync --reinstall| Ação | Comando uv | Equivalente pip |
|---|---|---|
| Instalar deps | uv sync |
pip install -r requirements.txt |
| Executar script | uv run python script.py |
python script.py |
| Adicionar pacote | uv add pacote |
pip install pacote |
| Remover pacote | uv remove pacote |
pip uninstall pacote |
| Listar pacotes | uv pip list |
pip list |
| Criar ambiente | uv venv |
python -m venv venv |
| Executar ferramenta | uvx black . |
pipx run black . |
Nota: O arquivo requirements.txt é mantido para compatibilidade, mas pyproject.toml é a fonte de verdade quando usando uv.