2.0 KiB
2.0 KiB
uv - Ściągawka (Cheatsheet)
🚀 Szybki start
# Instalacja uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# Projekt Izochrona
./setup.sh # Konfiguracja
./run.sh # Uruchomienie serwera
📦 Zarządzanie pakietami
# Instalacja z requirements.txt
uv pip install -r requirements.txt
# Instalacja pojedynczego pakietu
uv pip install flask
# Instalacja z pyproject.toml
uv sync
# Aktualizacja pakietów
uv pip install --upgrade flask
uv pip install --upgrade -r requirements.txt
# Lista pakietów
uv pip list
uv pip freeze
🔧 Środowiska wirtualne
# Stwórz venv
uv venv
# Z konkretną wersją Pythona
uv venv --python 3.11
# Usuń venv
rm -rf .venv/
▶️ Uruchamianie
# Uruchom skrypt (auto-używa venv!)
uv run --no-project app.py
uv run --no-project path/to/script.py
# Uruchom moduł
uv run --no-project -m flask run
# Z argumentami
uv run --no-project app.py --debug
📝 Projekt Izochrona - Komendy
# Instalacja projektu
./setup.sh
# Uruchomienie backendu
./run.sh
# lub
cd backend && uv run --no-project app.py
# Pobranie danych GTFS
cd backend && uv run --no-project download_gtfs.py
# Przykłady API
uv run --no-project examples/api_examples.py
# Dodaj nowy pakiet
cd backend
echo "matplotlib>=3.8.0" >> requirements.txt
uv pip install -r requirements.txt
⚡ Dlaczego uv?
| Operacja | pip | uv |
|---|---|---|
| Instalacja pakietów | ~30-60s | ~2-5s |
| Rozwiązywanie zależności | ~10-20s | ~1-2s |
| Cache | Lokalne | Globalne |
| Aktywacja venv | Ręczna | Automatyczna |
💡 Porady
# Nie musisz aktywować venv!
uv run --no-project python script.py
# Cache jest globalny - oszczędność miejsca
~/.cache/uv/
# Kompilacja requirements
uv pip compile requirements.txt -o requirements.lock
# Sync z lock file
uv pip sync requirements.lock
🔗 Linki
- Docs: https://docs.astral.sh/uv/
- GitHub: https://github.com/astral-sh/uv
- Porównanie z pip: https://astral.sh/blog/uv