115 lines
2.0 KiB
Markdown
115 lines
2.0 KiB
Markdown
# 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
|