# uv - Ściągawka (Cheatsheet) ## 🚀 Szybki start ```bash # Instalacja uv curl -LsSf https://astral.sh/uv/install.sh | sh # Projekt Izochrona ./setup.sh # Konfiguracja ./run.sh # Uruchomienie serwera ``` ## 📦 Zarządzanie pakietami ```bash # 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 ```bash # Stwórz venv uv venv # Z konkretną wersją Pythona uv venv --python 3.11 # Usuń venv rm -rf .venv/ ``` ## ▶️ Uruchamianie ```bash # 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 ```bash # 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 ```bash # 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