
Dipublikasikan · 2 menit baca
Tutorial uv Python: Dependency Manager 10x Lebih Cepat dari Pip
Mengelola dependency di Python seringkali terasa lambat, terutama saat working directory sudah besar dan requirements.txt mulai berantakan. Tim Astral, yang sebelumnya membuat Ruff, meluncurkan uv: package manager yang ditulis dalam Rust dan diklaim 10-100x lebih cepat dari pip. Artikel ini akan membahas cara instalasi, setup project, serta workflow harian menggunakan uv.
Kenapa Harus Beralih ke uv?
uv bukan sekadar package installer. Ia menggantikan beberapa tools sekaligus: pip, pip-tools, pipx, poetry, pyenv, virtualenv, dan twine. Dengan single binary, kamu bisa install Python version, buat virtual environment, resolve dependency, hingga publish package ke PyPI. Keunggulan utamanya adalah universal lockfile yang memastikan environment konsisten di semua platform.
Prasyarat
Sistem operasi Linux, macOS, atau Windows
Terminal atau command prompt
Koneksi internet
Langkah 1: Instalasi uv
Untuk Linux dan macOS, jalankan perintah berikut di terminal:
curl -LsSf https://astral.sh/uv/install.sh | shSetelah instalasi selesai, restart terminal dan verifikasi dengan:
uv --versionJika output menampilkan versi, uv sudah siap digunakan.
Langkah 2: Inisialisasi Project
Buat direktori baru dan inisialisasi project Python:
mkdir myproject && cd myproject
uv initPerintah uv init akan menghasilkan file pyproject.toml dan direktori .venv secara otomatis. Kamu tidak perlu lagi menjalankan python -m venv secara manual.
Langkah 3: Menambahkan Dependency
Tambahkan library yang dibutuhkan menggunakan perintah uv add:
uv add requests numpy pandasuv akan otomatis mengupdate pyproject.toml, meng-resolve versi kompatibel, dan membuat file uv.lock. File lock ini berfungsi seperti package-lock.json di Node.js, memastikan setiap anggota tim mendapatkan dependency yang identik.
Langkah 4: Menjalankan Script
Tidak perlu mengaktifkan virtual environment secara manual. Cukup gunakan uv run:
uv run python main.pyuv akan otomatis mendeteksi Python interpreter dari .venv dan menjalankan script di dalamnya. Untuk menjalankan tool CLI seperti pytest atau black, gunakan:
uv run pytest tests/
uv run black src/Langkah 5: Sinkronisasi Environment
Ketika berkolaborasi dengan tim, rekanmu hanya perlu menjalankan:
uv syncPerintah ini akan membaca uv.lock dan menginstall dependency dengan versi yang persis sama. Tidak ada lagi masalah "works on my machine" karena perbedaan versi library.
Tips Migrasi dari Pip dan Poetry
Jika kamu memiliki project lama dengan requirements.txt, uv bisa mengimport dependency secara otomatis:
uv pip install -r requirements.txtUntuk project Poetry, uv mendukung konversi dari poetry.lock meskipun beberapa edge case mungkin memerlukan penyesuaian manual. Dokumentasi resmi Astral menyediakan migration guide lengkap.
Kesimpulan
uv mengubah cara developer Python mengelola dependency dengan pendekatan yang unified dan sangat cepat. Dari instalasi, inisialisasi project, penambahan library, hingga sinkronisasi tim, semua bisa dilakukan dengan satu tool. Bagi developer Indonesia yang ingin meningkatkan produktivitas, beralih ke uv adalah investasi waktu yang sangat worth it.