atlas news
Tall, Snarky Canadian
16 august
03h36
What’s missing to have reproducible builds on PyPI
Brett Cannon
While writing the section of my 2026 Python Packaging Council (PPC) nomination on secure supply chain, I realized that one thing related to having a...
10 august
22h22
My nomination statement for the 2026 Python packaging council
Brett Cannon
I have decided to run for the inaugural 2026 Python packaging council (PPC). I will say I have the support of my employer (Microsoft) to do this, but...
07 july
20h44
How to publish to PyPI using GitHub Actions securely
Brett Cannon
There have been several security incidents lately that involved compromising GitHub Actions workflows. This has led some to say GitHub Actions is the...
24 june
23h08
Why I wrote PEP 832 -- virtual environment discovery
Brett Cannon
While I decide what to do with PEP 832 after polling folks on their opinion, I thought I would write out why I’m even bothering with any of this.I’m...
26 march
03h59
Why pylock.toml includes digital attestations
Brett Cannon
A Python project got hacked where malicious releases were directly uploaded to PyPI. I said on Mastodon that had the project used trusted publishing...
02 march
19h28
State of WASI support for CPython: March 2026
Brett Cannon
It’s been a while since I posted about WASI support in CPython 😅 Up until now, most of the work I have been doing around WASI has been making...
21 february
22h37
CLI subcommands with lazy imports
Brett Cannon
In case you didn’t hear, PEP 810 got accepted which means Python 3.15 is going to support lazy imports One of the selling points of lazy imports is...
22 november
00h18
Should I rewrite the Python Launcher for Unix in Python?
Brett Cannon
I want to be upfront that this blog post is for me to write down some thoughts that I have on the idea of rewriting the Python Launcher for Unix from...
20 november
21h18
The varying strictness of TypedDict
Brett Cannon
I was writing some code where I was using httpx.get() and its params parameter. I decided to use a TypedDict for the dictionary I was passing as the...
11 october
03h46
Why it took 4 years to get a lock files specification
Brett Cannon
This is the blog post version of my keynote from EuroPython 2025 in Prague, Czechia.)We now have a lock file format specification. That might not...
16 may
05h19
Unravelling t-strings
Brett Cannon
PEP 750 introduced t-strings for Python 3.14. In fact, they are so new that as of Python 3.14.0b1 there still isn’t any documentation yet for t...
07 march
01h04
Why I won’t be attending PyCon US this year
Brett Cannon
I normally don’t talk about politics here, but as I write this the US has started a trade war with Canada (which is partially paused for a month, but...
23 january
04h43
My impressions of Gleam
Brett Cannon
When I was about to go on paternity leave, the Gleam programming language reached 1.0. It’s such a small language that I was able to learn it over...
26 november
23h28
What the PSF Conduct WG does
Brett Cannon
In the past week I had two people separately tell me what they thought the Python Software Foundation Conduct WG did and both were wrong (and...
02 november
22h00
Don’t return named tuples in new APIs
Brett Cannon
In my opinion, you should only introduce a named tuple to your code when you’re updating a preexisting API that was already returning a tuple or you...
1787073411