حزمة Python ومدير مشروع سريع للغاية، مكتوب بلغة Rust.
تثبيت تبعيات Trio باستخدام ذاكرة تخزين مؤقت دافئة.
pip
و pip-tools
و pipx
poetry
و pyenv
و twine
و virtualenv
والمزيد.pip
.curl
أو pip
.uv مدعوم من Astral، مبدعي Ruff.
قم بتثبيت الأشعة فوق البنفسجية باستخدام أدوات التثبيت المستقلة لدينا:
# 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 "
أو من PyPI:
# With pip.
pip install uv
# Or pipx.
pipx install uv
إذا تم تثبيته عبر برنامج التثبيت المستقل، فيمكن لـ uv تحديث نفسه إلى الإصدار الأحدث:
uv self update
راجع وثائق التثبيت للحصول على التفاصيل وطرق التثبيت البديلة.
وثائق uv متاحة على docs.astral.sh/uv.
بالإضافة إلى ذلك، يمكن الاطلاع على الوثائق المرجعية لسطر الأوامر uv help
.
تدير uv تبعيات المشروع وبيئاته، مع دعم ملفات القفل ومساحات العمل والمزيد، على غرار rye
أو 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!
راجع وثائق المشروع للبدء.
تدعم uv أيضًا إنشاء المشروعات ونشرها، حتى لو لم تتم إدارتها باستخدام uv. راجع دليل النشر لمعرفة المزيد.
تقوم uv بتنفيذ وتثبيت أدوات سطر الأوامر التي توفرها حزم Python، المشابهة لـ pipx
.
قم بتشغيل أداة في بيئة سريعة الزوال باستخدام uvx
(اسم مستعار 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 |
|| ||
تثبيت أداة باستخدام 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
راجع وثائق الأدوات للبدء.
يقوم uv بتثبيت 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
قم بتنزيل إصدارات بايثون حسب الحاجة:
$ 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.
>>>>
استخدم إصدار Python محددًا في الدليل الحالي:
$ uv python pin [email protected]
Pinned `.python-version` to `[email protected]`
راجع وثائق تثبيت Python للبدء.
تدير uv التبعيات والبيئات للبرامج النصية ذات الملف الواحد.
قم بإنشاء برنامج نصي جديد وأضف بيانات التعريف المضمنة التي تعلن عن تبعياته:
$ echo ' import requests; print(requests.get("https://astral.sh")) ' > example.py
$ uv add --script example.py requests
Updated `example.py`
ثم قم بتشغيل البرنامج النصي في بيئة افتراضية معزولة:
$ uv run example.py
Reading inline script metadata from: example.py
Installed 5 packages in 12ms
<Response [200]>
راجع وثائق البرامج النصية للبدء.
يوفر uv بديلاً مباشرًا لأوامر pip
و pip-tools
و virtualenv
الشائعة.
تقوم uv بتوسيع واجهاتها بميزات متقدمة، مثل تجاوزات إصدار التبعية، والدقة المستقلة عن النظام الأساسي، والدقة القابلة للتكرار، واستراتيجيات الدقة البديلة، والمزيد.
انتقل إلى uv دون تغيير سير العمل الحالي لديك - واستمتع بتجربة تسريع بمعدل 10 إلى 100 مرة - باستخدام واجهة uv pip
.
تجميع المتطلبات في ملف متطلبات مستقل عن النظام الأساسي:
$ uv pip compile docs/requirements.in
--universal
--output-file docs/requirements.txt
Resolved 43 packages in 12ms
إنشاء بيئة افتراضية:
$ uv venv
Using Python 3.12.3
Creating virtual environment at: .venv
Activate with: source .venv/bin/activate
تثبيت المتطلبات المقفلة:
$ 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
...
راجع وثائق واجهة النقطة للبدء.
راجع مستند دعم منصة uv.
راجع وثيقة سياسة إصدار الأشعة فوق البنفسجية.
نحن متحمسون لدعم المساهمين من جميع مستويات الخبرة ونود أن نراكم تشاركون في المشروع. راجع دليل المساهمة للبدء.
يستخدم محلل التبعية الخاص بـ uv PubGrub تحت الغطاء. نحن ممتنون لمشرفي PubGrub، وخاصة جاكوب فينكلمان، على دعمهم.
يعتمد تنفيذ Git الخاص بـ uv على Cargo.
بعض تحسينات uv مستوحاة من العمل الرائع الذي رأيناه في pnpm، وOrogene، وBun. لقد تعلمنا أيضًا الكثير من Nathaniel J. Smith's Posy وقمنا بتكييف الترامبولين الخاص به لدعم Windows.
الأشعة فوق البنفسجية مرخصة بموجب أي منهما
في خيارك.
ما لم تنص صراحة على خلاف ذلك، فإن أي مساهمة يتم تقديمها عمدًا لتضمينها في الأشعة فوق البنفسجية بواسطتك، كما هو محدد في ترخيص Apache-2.0، يجب أن تكون مرخصة بشكل مزدوج على النحو الوارد أعلاه، دون أي شروط أو أحكام إضافية.