Blog Photo

UV by Astral: Python Developers ke Liye Ek Complete Guide

Discover the ultimate all-in-one tool every Python developer needs in this in-depth guide to UV by Astral — the modern, lightning-fast command-line utility that's being hailed as the “NPM for Python.” Whether you're a beginner learning Python or a professional tired of juggling pip, pyenv, venv, poetry, and pipx, this comprehensive tutorial will walk you through every feature UV offers — from managing Python versions and running scripts with inline dependencies to building projects, installing CLI tools, and publishing to PyPI. With clear explanations, side-by-side comparisons of old vs new workflows, terminal outputs, pro tips, and real-world use-cases, this blog simplifies Python development like never before. Say goodbye to complexity and hello to productivity — it's time to supercharge your workflow with UV!

Death Code - 5/9/2025, 12:19:02 PM

UV by Astral: Python Developers ke Liye Ek Complete Guide - DeathCode

UV by Astral ek all-in-one command-line tool hai jo Python development ko simple aur fast bana deta hai. Aapko alag alag tools (jaise pip, pyenv, poetry, pipx, virtualenv, twine) use karne ki zarurat nahi hoti. UV sab kuch ek hi CLI se karta hai – chahe Python version install karna ho, environment banana ho, dependencies add karni ho, ya package publish karna ho.


💡 UV Kyu Use Karein?

Python ke traditional ecosystem me alag alag kaam ke liye alag tools chahiye hote the:

  • pip: packages install karne ke liye
  • venv ya virtualenv: project-specific environments banane ke liye
  • pip-tools ya poetry: dependencies ko lock karne ke liye
  • pipx: CLI tools ke liye
  • pyenv: Python versions manage karne ke liye
  • twine: PyPI pe publish karne ke liye

UV ek single tool hai jo in sab kaam ko replace karta hai.

🔑 UV ke Key Features:

  • All-in-One: Alag alag tools ka kaam ek hi CLI karta hai.
  • Super Fast: Rust me likha gaya hai, 10x–100x tak faster hai pip se.
  • Auto Python Install: Agar system me Python nahi bhi ho to bhi kaam karega.
  • Global Cache: Har project ke liye bar bar packages download nahi hote.
  • Isolation: Har script, project ya tool ka alag environment hota hai.
  • Cross Platform: Windows, macOS, aur Linux pe kaam karta hai.

🔗 Official Docs: docs.astral.sh


🛠️ UV Install Kaise Karein

macOS/Linux Users:

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows Users (PowerShell):

irm https://astral.sh/uv/install.ps1 | iex

Install Check Karein:

uv --version

🐍 Python Versions Manage Karna (Old vs New Way)

🔁 Traditional Tarika:

  • Python.org se manually download karo
  • pyenv se manage karo (complex setup hota hai)

✅ UV se:

uv python install 3.11 3.12
uv python list
uv python pin 3.11

UV automatically required Python version download kar leta hai jab zarurat ho. Agar Python installed nahi hai tab bhi uv run ya uv venv command use karne se UV usse download kar leta hai.

Python Version Reinstall Karna:

uv python install --reinstall

📄 Scripts Run Karna (Dependencies ke Sath ya Bina)

1️⃣ Simple Script (no dependencies):

uv run example.py

2️⃣ External Dependencies ke Sath:

uv run --with requests example.py
uv run --with "rich>12,<13" example.py

3️⃣ Script Ke Andar Dependency Embed Karna (PEP 723):

# /// script
# requires-python = ">=3.12"
# dependencies = ["requests", "rich"]
# ///
uv run example.py

4️⃣ Script Executable Banana (shebang ke sath):

#!/usr/bin/env -S uv run --script
chmod +x script.py
./script.py

5️⃣ Script Dependencies Lock Karna:

uv lock --script script.py

⚙️ CLI Tools Run Karna (pipx Alternative)

One-Time Use:

uvx ruff --version
uvx --from httpie http GET https://example.com

Permanent Tool Install:

uv tool install ruff
uv tool list
uv tool uninstall ruff

Update Tools:

uv tool upgrade ruff
uv tool upgrade --all

Aap version specify kar sakte ho:

uv tool install 'httpie>3.0'
uv tool install git+https://github.com/psf/black

📁 Projects Create aur Manage Karna

Naya Project Banana:

uv init my_project

Project Structure:

my_project/
├── pyproject.toml
├── .python-version
├── README.md
└── main.py

Dependencies Add/Remove Karna:

uv add requests
uv remove requests

Lock aur Sync Karna:

uv lock --upgrade-package requests
uv sync

🧪 Project Code Run Karna

uv run script.py
uv run -- flask run -p 3000

Manual Mode:

uv sync
source .venv/bin/activate
python script.py

Dependency Tree Dekhna:

uv tree

🔐 Lockfile ka Use & Reproducibility

  • uv.lock ko version control me add karo
  • Har OS (Windows, Mac, Linux) pe same result milta hai
  • Lock update karne ke liye:
uv lock --upgrade

🏗️ Project Build aur PyPI pe Publish Karna

Project Build Karna:

uv build

PyPI pe Upload Karna:

uv publish --token pypi-XXXX...

Test Install:

uv run --with mylib --no-project -- python -c "import mylib"

🧰 Extra Commands & Pip Compatibility

uv pip install numpy
uv pip freeze
uv pip list
uv pip check
uv pip compile > requirements.lock
uv pip sync

Aur bhi:

uv venv
uv cache prune
uv self update

🔄 CI/CD & Docker Integration

  • Minimal docker image: astraloss/uv
  • CI me curl se install kar sakte ho
  • GitHub Actions supported hai
  • Pre-commit me integrate hota hai
  • Jupyter Notebooks, AWS Lambda, private PyPI sab ke sath compatible

✅ Tips for Best Use:

  • Naye projects ke liye uv init se start karo
  • uv.lock ko git me commit karo
  • Scripts me # /// script block zaroor likho
  • uv run prefer karo instead of manual activate
  • CI me ~/.cache/uv ko cache karo
  • Regular uv self update karte raho

🔚 Conclusion

UV by Astral Python developers ke liye ek game-changer tool hai. Ek hi CLI se sab kuch manage hota hai: environment, dependencies, Python version, script, tools aur publishing.

Agar aap Python me naye ho ya ek experienced developer ho jo pip/poetry se thak chuke ho, UV aapke liye best solution hai.

Try karo, aur coding ko aur bhi asaan banao!

🔗 Official Docs: https://docs.astral.sh/uv

Happy Coding! BY DeathCode🚀

© 2024 DeathCode. All Rights Reserved.