pydevtools.com blog
Simple, Modern Python
Joshua Levy recently shared his enthusiasm for uv, Astral’s Python package manager, along with a practical template for new projects using this tool. His thread on X highlights both technical advantages and philosophical approaches to modern Python development. Key Points from Levy’s UV Template Levy has created a simple-modern-uv, Copier template that combines minimal but essential tools for Python projects: Uses uv for package management Incorporates ruff for linting and formatting (replacing Black and isort) Includes mypy, codespell, and pytest Provides GitHub Actions configuration Uses Copier for template management Why uv Matters Beyond Speed While uv’s performance is impressive, Levy emphasizes that its real value lies in dependency management fundamentals:
April 1, 2025
Setuptools 78.0.1 breaking package installation
Update: Setuptools released version 78.0.2 postponing this breaking change. A recent update to setuptools (version 78.0.1) is breaking installations of many packages, particularly older or unmaintained ones that use dash-separated keys instead of the now-required underscore format.
March 24, 2025
Dependabot Now Supports uv
As of March 13, 2025, Dependabot officially supports uv. Dependabot monitors repositories for outdated or insecure dependencies and creates pull requests to update them. GitHub’s tool supports npm, pip, Maven, Docker, and now uv.
March 14, 2025
Why Doesn't the Authoritative Python Packaging Guide Mention the Best Thing that's Happened to Python Packaging?
Despite uv’s meteoric rise and widespread adoption in the Python community over the last year, the excellent and official Python Packaging User Guide (PPUG) at packaging.python.org makes no mention of it. Understanding why this is requires some background knowledge and unveils understanding of the modern Python developer tooling ecosystem. uv’s Rise Since its introduction in early 2024, uv has rapidly gained traction as a high-performance alternative to existing Python tooling. uv delivers 10-100x faster package operations than traditional tools while consolidating functionality previously spread across multiple utilities (pip, pip-tools, virtualenv, pyenv, and more). Its performance advantages, cross-platform support, and unified approach have made it increasingly popular among Python developers.
February 27, 2025
Production Experiences with uv
Yesterday on Reddit, batman-iphone asked: Anyone used uv package manager in production Is it reliable to use it in production as it is comparatively new in the market. Also, are there any disadvantages that I should be aware of before pitching it to my manager? Given that the tool was introduced just over a year ago, its rate of adoption has been wild. Here is my summary of the discussion: uv Pros Real Performance Gains Multiple developers reported dramatic performance improvements, e.g.,
February 26, 2025
Poetry's Move Toward Python Standards
This is an excerpt from the forthcoming Python Developer’s Tool Handbook. The handbook provides comprehensive guidance on Python tooling and best practices for modern Python development. While modern Python build tools like uv, Hatch, PDM, and Flit embraced PEP 621’s standardized project metadata from their inception, Poetry - one of the most widely used packaging tools - maintained its own configuration format in tool.poetry until version 2.0. This delay reflected both Poetry’s established user base and its richer feature set beyond standard packaging needs.
February 21, 2025
Why Use uv Projects Instead of requirements.txt?
This is an excerpt from the forthcoming Python Developer’s Tool Handbook. The handbook provides comprehensive guidance on Python tooling and best practices for modern Python development. The Python ecosystem offers two main approaches to managing project dependencies: the traditional requirements.txt file and the newer pyproject.toml standard. Understanding the strengths and limitations of each helps inform better choices for Python development.
February 19, 2025
bitecode.dev's "A year of uv"
uv hit its one-year mark, and bitecode.dev published a thorough retrospective on how it’s held up. The highlights: Solves Python bootstrapping by installing without Python and working the same across platforms Fast - tasks that took minutes now take seconds More reliable dependency resolution than alternatives Works with existing tools without friction Error messages tell you what went wrong and what to do The article lists five situations where uv might not fit, but these feel overly cautious. Speed, reliability, and simpler workflows make uv worth adopting for any team that can.
February 18, 2025
Flexible Python Version Management with uv and tox
When working with Python projects that use tox for testing, you may encounter version mismatch errors like: lint-format: skipped because could not find python interpreter with spec(s): python3.8 This happens when tox expects a specific Python version that isn’t available in your environment. Traditionally, this would require:
February 12, 2025
It's happening! A Python Type Checker from Astral
After months of speculation, Astral (creators of Ruff and uv) has officially announced their work on a new static type checker for Python. Built from the ground up in Rust, this tool aims to bring Astral’s signature focus on performance to Python’s static typing ecosystem. Charlie Marsh, Astral founder, says that beyond performance, the project seeks to minimize “false positives, especially on untyped code, to make it easier for projects to adopt a type checker and expand coverage gradually over time, without being swamped in bogus type errors from the start.”
January 29, 2025