#Uv
6 posts
Python Packaging #7 Team Conventions and Tool Choice: uv, poetry, pip
The series finale: tool choice and team conventions. uv, poetry, and pip+venv on one table with criteria that decide between them, the real cost of migration, caching and frozen verification in CI, the standard pattern for uv in Docker images, and a team convention checklist that survives new teammates — closing with a look back at the whole series.
Python Packaging #5 Dependency Locking: Lock Files and Reproducibility
Starting from why declaration and lock are separate, we read the contents of uv.lock directly: the resolution result that pins every transitive dependency, the supply-chain risks hash verification blocks, reproducing the lock exactly in CI with --frozen, a strategy that turns upgrades into routine work, and pylock.toml (PEP 751), the standard that opens movement between tools.
Python Packaging #4 uv: The Standard Workflow of 2026
The daily uv workflow that folds virtual environments, dependency installation, locking, and Python version management into one tool: how init, add, sync, and run replace the manual work of earlier posts, uv installing Python interpreters themselves, isolated global tools via uvx and uv tool, and migrating existing requirements.txt projects.
Docker in Practice #1: Containerizing FastAPI — uv, Multi-stage, non-root
First post of the practice series. Containerizing the most common scenario — a FastAPI app. Slim base on uv, multi-stage to separate build from runtime deps, a non-root user, and HEALTHCHECK — in a shape that goes straight to production.
Django Basics #2: Project Setup — uv + django-admin startproject
Create a Django 5 project with uv, lay down the first structure with startproject/startapp, and reach runserver in one breath.
Modern Python Basics #1: Getting Started and uv Setup
Why Python again — what changed in 3.14 since the 2017 tutorial, and building a first project with uv that replaces pip + venv + pyenv all at once.