pydevtools.com blog

Early Explorations of Astral's Red Knot Type Checker

ℹ️ Update (May 5, 2025): Red Knot has been renamed ty. A recent blog post by Michael Jurasovic provides an interesting early peek at Astral’s upcoming static type checker, Red Knot. While still under active development with an alpha release targeted for PyCon 2025, this in-development tool shows impressive potential.

Read more →

April 3, 2025

The Python Tooling Revolution

Python development is experiencing a tooling revolution thanks to Astral’s ruff and uv. Lewis Gaul’s blog examines how these tools are transforming Python workflows with exceptional speed and intelligent design. When trying ruff check the benefits were immediately obvious: performance is incredible, provides a superset of the pylint rules, reporting of errors is very clear, configuration is straightforward, documentation is excellent…and above all else the –fix flag is a huge win to automatically fix certain rule violations.

Read more →

April 2, 2025

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:

Read more →

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. Setuptools 78.0.1 introduced a breaking change that enforces strict naming conventions in setup.cfg files. Specifically:

Read more →

March 24, 2025

Dependabot Now Supports uv

As of March 13, 2025, Dependabot officially supports uv. Dependabot is GitHub’s automated dependency management tool that continuously monitors repositories for outdated or insecure dependencies, automatically creating pull requests to update them to the latest versions. It supports multiple package ecosystems including npm, pip, Maven, Docker, and now uv as of March 13, 2025, allowing teams to maintain security compliance and dependency freshness with minimal manual intervention.

Read more →

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.

Read more →

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.,

Read more →

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.

Read more →

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.

Read more →

February 19, 2025

bitecode.dev's "A year of uv"

The game-changing tool uv was released a year ago, and the results are compelling. A detailed analysis from bitecode.dev provides an in-depth look at uv’s real-world performance across diverse Python environments and use cases. Some uv highlights noted in the article: uv solves Python bootstrapping issues elegantly through Python-independent installation and unified cross-platform behavior Performance advantages are dramatic - tasks that took minutes now take seconds Dependency resolution is more reliable than alternatives Integration with existing tools and workflows is seamless Error messages are clear and actionable The article lists 5 situations where uv might not be appropriate, but I found these caveats overly cautious. The core benefits of uv - speed, reliability, and simplified workflows - are compelling enough that any team able to use uv should strongly consider adoption.

Read more →

February 18, 2025