Paket Python dan manajer proyek yang sangat cepat, ditulis dalam Rust.
Menginstal dependensi Trio dengan cache hangat.
pip
, pip-tools
, pipx
, poetry
, pyenv
, twine
, virtualenv
, dan banyak lagi.pip
.curl
atau pip
.uv didukung oleh Astral, pencipta Ruff.
Instal uv dengan penginstal mandiri kami:
# On macOS and Linux.
curl -LsSf https://astral.sh/uv/install.sh | sh
# On Windows.
powershell -ExecutionPolicy ByPass -c " irm https://astral.sh/uv/install.ps1 | iex "
Atau, dari PyPI:
# With pip.
pip install uv
# Or pipx.
pipx install uv
Jika diinstal melalui penginstal mandiri, uv dapat memperbarui dirinya ke versi terbaru:
uv self update
Lihat dokumentasi instalasi untuk rincian dan metode instalasi alternatif.
dokumentasi uv tersedia di docs.astral.sh/uv.
Selain itu, dokumentasi referensi baris perintah dapat dilihat dengan uv help
.
uv mengelola dependensi dan lingkungan proyek, dengan dukungan untuk file kunci, ruang kerja, dan banyak lagi, mirip dengan rye
atau poetry
:
$ uv init example
Initialized project `example` at `/home/user/example`
$ cd example
$ uv add ruff
Creating virtual environment at: .venv
Resolved 2 packages in 170ms
Built example @ file:///home/user/example
Prepared 2 packages in 627ms
Installed 2 packages in 1ms
+ example==0.1.0 (from file:///home/user/example)
+ ruff==0.5.4
$ uv run ruff check
All checks passed!
Lihat dokumentasi proyek untuk memulai.
uv juga mendukung proyek pembangunan dan penerbitan, meskipun tidak dikelola dengan uv. Lihat panduan publikasi untuk mempelajari lebih lanjut.
uv mengeksekusi dan menginstal alat baris perintah yang disediakan oleh paket Python, mirip dengan pipx
.
Jalankan alat di lingkungan sementara menggunakan uvx
(alias untuk uv tool run
):
$ uvx pycowsay ' hello world! '
Resolved 1 package in 167ms
Installed 1 package in 9ms
+ pycowsay==0.0.0.2
"""
------------
< hello world! >
------------
^__^
(oo)_______
(__) )/
||----w |
|| ||
Instal alat dengan uv tool install
:
$ uv tool install ruff
Resolved 1 package in 6ms
Installed 1 package in 2ms
+ ruff==0.5.4
Installed 1 executable: ruff
$ ruff --version
ruff 0.5.4
Lihat dokumentasi alat untuk memulai.
uv menginstal Python dan memungkinkan peralihan antar versi dengan cepat.
Instal beberapa versi Python:
$ uv python install 3.10 3.11 3.12
Searching for Python versions matching: Python 3.10
Searching for Python versions matching: Python 3.11
Searching for Python versions matching: Python 3.12
Installed 3 versions in 3.42s
+ cpython-3.10.14-macos-aarch64-none
+ cpython-3.11.9-macos-aarch64-none
+ cpython-3.12.4-macos-aarch64-none
Unduh versi Python sesuai kebutuhan:
$ uv venv --python 3.12.0
Using Python 3.12.0
Creating virtual environment at: .venv
Activate with: source .venv/bin/activate
$ uv run --python [email protected] -- python --version
Python 3.8.16 (a9dbdca6fc3286b0addd2240f11d97d8e8de187a, Dec 29 2022, 11:45:30)
[PyPy 7.3.11 with GCC Apple LLVM 13.1.6 (clang-1316.0.21.2.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>>
Gunakan versi Python tertentu di direktori saat ini:
$ uv python pin [email protected]
Pinned `.python-version` to `[email protected]`
Lihat dokumentasi instalasi Python untuk memulai.
uv mengelola dependensi dan lingkungan untuk skrip file tunggal.
Buat skrip baru dan tambahkan metadata sebaris yang mendeklarasikan dependensinya:
$ echo ' import requests; print(requests.get("https://astral.sh")) ' > example.py
$ uv add --script example.py requests
Updated `example.py`
Lalu, jalankan skrip di lingkungan virtual yang terisolasi:
$ uv run example.py
Reading inline script metadata from: example.py
Installed 5 packages in 12ms
Lihat dokumentasi skrip untuk memulai.
uv menyediakan pengganti drop-in untuk perintah pip
, pip-tools
, dan virtualenv
yang umum.
uv memperluas antarmukanya dengan fitur-fitur canggih, seperti penggantian versi ketergantungan, resolusi platform-independen, resolusi yang dapat direproduksi, strategi resolusi alternatif, dan banyak lagi.
Bermigrasi ke uv tanpa mengubah alur kerja Anda yang ada — dan rasakan percepatan 10-100x — dengan antarmuka uv pip
.
Kompilasi persyaratan ke dalam file persyaratan yang tidak bergantung pada platform:
$ uv pip compile docs/requirements.in
--universal
--output-file docs/requirements.txt
Resolved 43 packages in 12ms
Buat lingkungan virtual:
$ uv venv
Using Python 3.12.3
Creating virtual environment at: .venv
Activate with: source .venv/bin/activate
Instal persyaratan yang terkunci:
$ uv pip sync docs/requirements.txt
Resolved 43 packages in 11ms
Installed 43 packages in 208ms
+ babel==2.15.0
+ black==24.4.2
+ certifi==2024.7.4
...
Lihat dokumentasi antarmuka pip untuk memulai.
Lihat dokumen dukungan platform uv.
Lihat dokumen kebijakan pembuatan versi uv.
Kami bersemangat mendukung kontributor dari semua tingkat pengalaman dan ingin melihat Anda terlibat dalam proyek ini. Lihat panduan berkontribusi untuk memulai.
Penyelesai ketergantungan uv menggunakan PubGrub. Kami berterima kasih kepada pengelola PubGrub, khususnya Jacob Finkelman, atas dukungan mereka.
Implementasi Git uv didasarkan pada Cargo.
Beberapa pengoptimalan uv terinspirasi oleh karya hebat yang kami lihat di pnpm, Orogene, dan Bun. Kami juga belajar banyak dari Posy karya Nathaniel J. Smith dan mengadaptasi trampolinnya untuk dukungan Windows.
uv dilisensikan di bawah salah satu dari
sesuai pilihan Anda.
Kecuali jika Anda secara eksplisit menyatakan sebaliknya, setiap kontribusi yang dengan sengaja Anda kirimkan untuk dimasukkan ke dalam uv, sebagaimana didefinisikan dalam lisensi Apache-2.0, akan dilisensikan secara ganda seperti di atas, tanpa syarat atau ketentuan tambahan apa pun.