Stop watching your CI pipeline get backdoored. PyPI’s 2026 security upgrades — Trusted Publishing, Sigstore attestations, and the PSF’s $1.5M Anthropic grant — finally give maintainers real defenses against supply chain attacks. Here is what changed and what to do now.
Fire off 50 async tasks and one timeout can bring down 49 others. asyncio.TaskGroup fixes this with structured concurrency — here are the patterns that matter in 2026.
You try to use a dict as a key. Python raises TypeError: unhashable type. Python 3.13 finally has the answer: frozendict — immutable, hashable, built-in.
Stop waiting for pip. uv 0.10.0 installs packages 10-100x faster, stabilizes Python upgrades, and adds workspace discovery — here is what changed and how to migrate.
Stop managing separate requirements files across services. uv workspaces give Python teams one lockfile, one shared virtual environment, and automatic intra-package dependency resolution — the same monorepo ergonomics that Node.js and Rust developers have enjoyed for years.
Python null vs None: Complete Guide to Handling Null Values
August 10, 2025
Quick Answer: Python doesn’t have “null” – it uses None instead. If you’re coming from languages like Java, C#, or JavaScript, this guide will show you exactly how Python’s None works and why it’s different from traditional null values. The Truth About “null” in Python…

