Using uv to manage pyton projects
Using uv to manage Python projects and virtual environments
169 Words
2026-02-01 20:54 -0600
Using uv (https://docs.astral.sh/uv/) to create and manage python projects, code bases, and virtual environments:
Install uv software on a mac:
brew install uv
Creating the first project:
uv init uvdemoproject
Output:
Initialized project `uvdemoproject` at `/Users/jemurray/Documents/src/personalPython/uvdemoproject`
Edit code:
cd uvdemoproject
vi ./main.py
Execute code:
uv run ./main.py
Output:
jemurray@freelightbulbs uvdemoproject % uv run ./main.py
Using CPython 3.13.7 interpreter at: /opt/homebrew/opt/python@3.13/bin/python3.13
Creating virtual environment at: .venv
Hello from uvdemoproject!
Add external libraries to a project:
uv add "mcp[cli]"
Output:
jemurray@freelightbulbs uvdemoproject % uv add "mcp[cli]"
Resolved 38 packages in 2.04s
Prepared 35 packages in 11.75s
Installed 35 packages in 30ms
+ annotated-types==0.7.0
+ anyio==4.12.1
+ attrs==25.4.0
+ certifi==2026.1.4
+ cffi==2.0.0
+ click==8.3.1
+ cryptography==46.0.4
+ h11==0.16.0
+ httpcore==1.0.9
+ httpx==0.28.1
+ httpx-sse==0.4.3
+ idna==3.11
+ jsonschema==4.26.0
+ jsonschema-specifications==2025.9.1
+ markdown-it-py==4.0.0
+ mcp==1.26.0
+ mdurl==0.1.2
+ pycparser==3.0
+ pydantic==2.12.5
+ pydantic-core==2.41.5
+ pydantic-settings==2.12.0
+ pygments==2.19.2
+ pyjwt==2.11.0
+ python-dotenv==1.2.1
+ python-multipart==0.0.22
+ referencing==0.37.0
+ rich==14.3.2
+ rpds-py==0.30.0
+ shellingham==1.5.4
+ sse-starlette==3.2.0
+ starlette==0.52.1
+ typer==0.21.1
+ typing-extensions==4.15.0
+ typing-inspection==0.4.2
+ uvicorn==0.40.0