Telegram Group & Telegram Channel
Python Hints
ابزار جدیدی از astral اومده به اسم uv جاگزینی خواهد بود برای pip, poetry, ... البته درحال حاضر خیلی خام هست ولی بطور خیره کننده‌ای سرعت بالایی داره حتما یک سری بهش بزنید. uv: Python packaging in Rust پ.ن: از cache یک سری پکیج هوش مصنوعی نصب کردم 0.35sec…
یکی از پروژه‌ها رو جابجا کردیم و اینطوری شد که:

بجای docker از podman استفاده بشه
بجای docker swarm, docker stack, ... هم از k8s استفاده بشه
ی مقدار قبلتر هم که همگی روی ruff و mypy رفته بودیم و pre-commit رو اینطوری تنظیم کردیم.

دیگه یکی از هم تیمی‌ها پیشنهاد داد یعنی یه uv مون نشه ؟

که سوییچ کردیم روی این مورد (البته قبلش کلی تست زمان build, ... ازش گرفتیم) دیدیم علاوه بر اینکه تایم بیلد رو آورد پایین‌تر (حتی تو بیلدهای اپتیمایز خودم) کار کردن باهاش هم نسبت به ورژن‌های قبلی خیلی بهتر و راحت‌تر شده.

اگر شما هم میخواید تستش کنید؛ من دستورات مهمش رو میذارم برای شروع برید سراغش باقی موارد هم که داکیومنت خودش هست :

uv python list
لیست از تمام ورژن‌های پایتون قابل نصب رو نشون میده؛ cpython, pypy رو داره.
uv python install 3.11 3.12 3.13 3.14
تمام ورژن‌های پایتون که بهشون اشاره شده رو نصب می‌کنه (حدود ۳۰-۳۵ مگ هست هر کدوم) دیفالت cpython نصب میشه.

uv init <dir_name>
این دستور پوشه <dir_name> رو براتون میسازه به همراه git, python version, readme, main, pyproject

uv init <dir_name> --lib
اگر خواستید پکیج برای انتشار بنویسید.
uv init
اگر مثل ما پروژه از قبل با مثلا pip ایجاد شده و می‌خواید بیاید روی uv داخل پوشه پروژه اجراش کنید.
uv add dajngo
پکیج django رو می‌خوام به پروژه اضافه کنم؛ حتی اگر .venv نساخته باشید این دستور بصورت پیشفرض اینکار رو براتون می‌کنه؛ که اشتباها روی python سیستم چیزی نصب نکنید.

uv tree
نمایش درختی معادل pip freeze هست.
uv run main.py
برای اجرا استفاده میشه (حتی اگر .venv رو پاک کرده باشید درجا ایجاد می‌کنه پکیج‌هارو نصب می‌کنه و بعد اجرا می‌کنه که اگر cache رو پاک نکرده باشید در حد میلی ثانیه زمان میبره)

uv venv --python 3.11.11
برای اینکه دقیقا از همین ورژن پایتون استفاده بشه (کلا توی همه کامندها می‌تونید از --python برای مشخص کردن ورژن دقیق استفاده کنید)
این دستور بهترین دستور برای بچه‌هایی هست که در زمینه AI تحقیق و کار می‌کنند.
uv sync
فقط .venv رو ایجاد و پکیج‌ها رو نصب می‌کنه (همه چیز آماده)
uv remove dajngo
برای حذف استفاده میشه.
uv add -r requirements.txt
جهت انتقال از pip به uv
uvx ruff
جایگزین عالی برای pipx
uv tool run ruff check
بدون اینکه ruff رو روی کل سیستم نصب کنید می‌تونید اجرا کنید
نکته این هست که uvx , uv tool دستورات یکسان هست و دستور بالا اینو می‌گه که نیازی نیست ابزار رو روی کل سیستم نصب کنی می‌تونی درجا اجرا و استفاده کنی؛ pipx اینو نداره که خیلی هم کاربردی هست.
uv self update
در نهایت برای آپدیت خود uv ازش استفاده کنید.


برای پروژه‌های غیر docker و شخصی هم خیلی خوبه چون disk کمتری مصرف می‌کنه (دوستان AI میدونند توی هر پروژه ورژن متفاوت pytorch و ... داشتن چقدر جا میگیره) یا حتی یک ورژن یکسان رو هی روی venv جدا نصب کردن. که uv اینکارو نمی‌کنه و به همون نسخه‌ای که دارید symlink میزنه. (بصورت دیفالت hardlink میزنه؛ دوستان اشاره کردند)


الان تنها مورد کند پروژه‌ای که صحبتش شد mypy هست که خب منتظریم ببینیم ty وضعیتش به کجا خواهد رسید بخصوص اینکه LSP هم هست و یک تیر و دو نشان خواهد بود.

ty github



tg-me.com/pyHints/823
Create:
Last Update:

یکی از پروژه‌ها رو جابجا کردیم و اینطوری شد که:

بجای docker از podman استفاده بشه
بجای docker swarm, docker stack, ... هم از k8s استفاده بشه
ی مقدار قبلتر هم که همگی روی ruff و mypy رفته بودیم و pre-commit رو اینطوری تنظیم کردیم.

دیگه یکی از هم تیمی‌ها پیشنهاد داد یعنی یه uv مون نشه ؟

که سوییچ کردیم روی این مورد (البته قبلش کلی تست زمان build, ... ازش گرفتیم) دیدیم علاوه بر اینکه تایم بیلد رو آورد پایین‌تر (حتی تو بیلدهای اپتیمایز خودم) کار کردن باهاش هم نسبت به ورژن‌های قبلی خیلی بهتر و راحت‌تر شده.

اگر شما هم میخواید تستش کنید؛ من دستورات مهمش رو میذارم برای شروع برید سراغش باقی موارد هم که داکیومنت خودش هست :

uv python list
لیست از تمام ورژن‌های پایتون قابل نصب رو نشون میده؛ cpython, pypy رو داره.
uv python install 3.11 3.12 3.13 3.14
تمام ورژن‌های پایتون که بهشون اشاره شده رو نصب می‌کنه (حدود ۳۰-۳۵ مگ هست هر کدوم) دیفالت cpython نصب میشه.

uv init <dir_name>
این دستور پوشه <dir_name> رو براتون میسازه به همراه git, python version, readme, main, pyproject

uv init <dir_name> --lib
اگر خواستید پکیج برای انتشار بنویسید.
uv init
اگر مثل ما پروژه از قبل با مثلا pip ایجاد شده و می‌خواید بیاید روی uv داخل پوشه پروژه اجراش کنید.
uv add dajngo
پکیج django رو می‌خوام به پروژه اضافه کنم؛ حتی اگر .venv نساخته باشید این دستور بصورت پیشفرض اینکار رو براتون می‌کنه؛ که اشتباها روی python سیستم چیزی نصب نکنید.

uv tree
نمایش درختی معادل pip freeze هست.
uv run main.py
برای اجرا استفاده میشه (حتی اگر .venv رو پاک کرده باشید درجا ایجاد می‌کنه پکیج‌هارو نصب می‌کنه و بعد اجرا می‌کنه که اگر cache رو پاک نکرده باشید در حد میلی ثانیه زمان میبره)

uv venv --python 3.11.11
برای اینکه دقیقا از همین ورژن پایتون استفاده بشه (کلا توی همه کامندها می‌تونید از --python برای مشخص کردن ورژن دقیق استفاده کنید)
این دستور بهترین دستور برای بچه‌هایی هست که در زمینه AI تحقیق و کار می‌کنند.
uv sync
فقط .venv رو ایجاد و پکیج‌ها رو نصب می‌کنه (همه چیز آماده)
uv remove dajngo
برای حذف استفاده میشه.
uv add -r requirements.txt
جهت انتقال از pip به uv
uvx ruff
جایگزین عالی برای pipx
uv tool run ruff check
بدون اینکه ruff رو روی کل سیستم نصب کنید می‌تونید اجرا کنید
نکته این هست که uvx , uv tool دستورات یکسان هست و دستور بالا اینو می‌گه که نیازی نیست ابزار رو روی کل سیستم نصب کنی می‌تونی درجا اجرا و استفاده کنی؛ pipx اینو نداره که خیلی هم کاربردی هست.
uv self update
در نهایت برای آپدیت خود uv ازش استفاده کنید.


برای پروژه‌های غیر docker و شخصی هم خیلی خوبه چون disk کمتری مصرف می‌کنه (دوستان AI میدونند توی هر پروژه ورژن متفاوت pytorch و ... داشتن چقدر جا میگیره) یا حتی یک ورژن یکسان رو هی روی venv جدا نصب کردن. که uv اینکارو نمی‌کنه و به همون نسخه‌ای که دارید symlink میزنه. (بصورت دیفالت hardlink میزنه؛ دوستان اشاره کردند)


الان تنها مورد کند پروژه‌ای که صحبتش شد mypy هست که خب منتظریم ببینیم ty وضعیتش به کجا خواهد رسید بخصوص اینکه LSP هم هست و یک تیر و دو نشان خواهد بود.

ty github

BY Python Hints


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/pyHints/823

View MORE
Open in Telegram


Python Hints Telegram | DID YOU KNOW?

Date: |

How Does Telegram Make Money?

Telegram is a free app and runs on donations. According to a blog on the telegram: We believe in fast and secure messaging that is also 100% free. Pavel Durov, who shares our vision, supplied Telegram with a generous donation, so we have quite enough money for the time being. If Telegram runs out, we will introduce non-essential paid options to support the infrastructure and finance developer salaries. But making profits will never be an end-goal for Telegram.

How Does Bitcoin Work?

Bitcoin is built on a distributed digital record called a blockchain. As the name implies, blockchain is a linked body of data, made up of units called blocks that contain information about each and every transaction, including date and time, total value, buyer and seller, and a unique identifying code for each exchange. Entries are strung together in chronological order, creating a digital chain of blocks. “Once a block is added to the blockchain, it becomes accessible to anyone who wishes to view it, acting as a public ledger of cryptocurrency transactions,” says Stacey Harris, consultant for Pelicoin, a network of cryptocurrency ATMs. Blockchain is decentralized, which means it’s not controlled by any one organization. “It’s like a Google Doc that anyone can work on,” says Buchi Okoro, CEO and co-founder of African cryptocurrency exchange Quidax. “Nobody owns it, but anyone who has a link can contribute to it. And as different people update it, your copy also gets updated.”

Python Hints from hk


Telegram Python Hints
FROM USA