koleo-izochrona/UV_CHEATSHEET.md

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