Sign in

Brett Cannon

@snarky.ca
4.1K followers 81 following 580 posts

#Python core developer who also works on packaging; works on Python stuff at #Microsoft (although this is a personal account). Proudly #Canadian.

PostsRepliesMedia
Brett Cannon @snarky.ca · 28/08/2026
Getting you to move to Vancouver? 😉
000
Reposted by Brett Cannon
Gleam Programming Language @gleam.run · 19/08/2026
Did you know? @ucberkeleyofficial.bsky.social has added #Gleamlang to it's CS course!
Graphic with "Did you know... Berkeley University is now using Gleam for one of its Computer Science courses?" and a smiling pink star holding an envelope with a light bulb
415619
Brett Cannon @snarky.ca · 18/08/2026
Thanks for the reminder that I was missing a disc copy of the film!
131
Brett Cannon @snarky.ca · 18/08/2026
Exactly my sentiments. Security practices are only useful if they are practiced and most people are not going to spend the CPU cycles on reproducing builds, so let's lean on those that will do it honestly.
110
Brett Cannon @snarky.ca · 16/08/2026
Wrote a blog post about what gaps exist which prevent having reproducible builds for Python. snarky.ca/whats-missin... This came to me while writing my nomination statement for the PPC.
snarky.ca
What's missing to have reproducible builds on PyPI
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 secure supply chain that we lack is a defined way t...
1115
Reposted by Brett Cannon
Mike Fiedler @miketheman.com · 12/08/2026
Wow, @pypi.org crossed 2 EXABYTES bandwidth served in 2026. For comparison, **all traffic served in 2025** was only 1.95 Exabytes. Thanks to @fastly.com, over 99.999% of that is absorbed by their powerful global caching layer, chugging along to serve #OpenSource #Python users worldwide
Chart with blue line increasing gradually up and to the right, displaying total bandwidth served this year since January 1st
0328
Brett Cannon @snarky.ca · 11/08/2026
Thanks! Fixed.
020
Brett Cannon @snarky.ca · 10/08/2026
If you want to run or give supporting nominations to anyone else who's running (yes, that includes me), www.python.org/nominations/... is taking nominations until August 11, 14:00 UTC.
python.org
Welcome to Python.org
The official home of the Python Programming Language
021
Brett Cannon @snarky.ca · 10/08/2026
I self-nominated myself for the Python packaging council today. I have posted my nomination statement as a blog post. snarky.ca/my-nominatio...
snarky.ca
My nomination statement for the 2026 Python packaging council
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 they didn't ask me to and my usual thing that I wo...
3196
Brett Cannon @snarky.ca · 27/07/2026
The lazy answer is opensource.snarky.ca/Python/Workf... , but the short answer is "no" beyond the overall goal as I'm focused on getting pre-compiled builds hosted on python.org as my current problem to solve.
opensource.snarky.ca
Overview - Open Source by Brett Cannon
❔ = might be best as an extension There’s a pattern in how complex technology matures. Early on, teams make their own choices: different tools, different abstractions, different ways of reasoning abo…
032
Brett Cannon @snarky.ca · 25/07/2026
The minimum for me is "install the Python Launcher at python.org " so they don't need to choose which Python version. Better is "here's the app in a zip file". Best is "here's the binary".
130
Brett Cannon @snarky.ca · 25/07/2026
My concern with that is it requires having access to AI which not everyone will have; some people won't have the money, a good enough GPU, or not be in the right country. I want a kid to be able to easily share a terminal version of tic-tac-toe with a friend.
240
Brett Cannon @snarky.ca · 25/07/2026
Once we can easily make relocatable builds of CPython I'm hoping that at least making apps that only have pure Python dependencies is nothing more than sticking the app source with a copy of CPython
240
Brett Cannon @snarky.ca · 25/07/2026
And if possible, I would rather this be written in pure Python. There's enough I/O here that if we can get the packaging specs and pip updated then this doesn't inherently have to be "slow" as uv's wins are mostly not due to Rust (although it does help).
151
Brett Cannon @snarky.ca · 25/07/2026
Rust isn't actually allowed in CPython (yet); it's still an open PEP. As for forking uv, I think it's more complicated than necessary for beginners (it has a ton of knobs). It also skirts packaging standards in the name of speed.
241
Brett Cannon @snarky.ca · 25/07/2026
Inspired me to do github.com/python/cpyth...
github.com
Use lazy imports in the top-level modules of importlib by brettcannon · Pull Request #154657 · python/cpython
050
Brett Cannon @snarky.ca · 24/07/2026
It's no secret that I want a cross-platform Python Launcher that can install pre-compiled CPython binaries, run Python code easily (both projects by handling virtual environments transparently and inline script metadata), and pipx-like tool running and installation. And all of this from python.org.
2112
Brett Cannon @snarky.ca · 22/07/2026
Some day I hope to change that "all the way" and make you want to update those docs again 😉
170
Brett Cannon @snarky.ca · 17/07/2026
<goes and checks what I said to get on the episode and see if either Christophers are now mad at me ...>
220
Reposted by Brett Cannon
Kelsey Hightower @kelseyhightower.com · 16/07/2026
I talk to a lot of startups building security tools for AI agents, and my advice to all of them is, treat AI agents like malware. Even if agents provide a lot of value to those who use them, agents are a security nightmare to those who have to secure them.
1314839
Reposted by Brett Cannon
Gleam Programming Language @gleam.run · 16/07/2026
Share details about your Gleam project with us! forms.gle/Yu6QZfnxNKXM...
forms.gle
Share your Gleam project with us!
The Gleam packages site is a great place to explore Gleam libraries, but what about applications? We're making a showcase site so folks can check out projects made with Gleam! Do you have an applicat...
041
Brett Cannon @snarky.ca · 13/07/2026
If @jakebailey.dev was Norwegian.
010
Reposted by Brett Cannon
TypeScript @typescriptlang.org · 08/07/2026
📣 The moment is here. 📣 TypeScript 7 is officially released! 7️⃣ devblogs.microsoft.com/typescript/a...
devblogs.microsoft.com
Announcing TypeScript 7.0 - TypeScript
Today we are proud to announce the availability of TypeScript 7, a 10x faster native port of TypeScript! Since its early days, TypeScript has promised to
15617156
Reposted by Brett Cannon
npm @npmjs.com · 08/07/2026
npm v12 is now generally available. npm install now makes install scripts, Git, and remote-URL dependencies opt-in by default. We're also retiring npm 2FA-bypass GAT: no account management (early Aug 2026), no direct publishing (~Jan 2027). More info at github.blog/changelog/20...
github.blog
npm install-time security and GAT bypass2fa deprecation - GitHub Changelog
npm v12 is now generally available and tagged latest. This major release turns on the install-time security defaults we announced in June, and it’s also where we begin a deprecation…
26024
Brett Cannon @snarky.ca · 07/07/2026
If you use GitHub Actions to publish to #PyPI, I wrote a blog post outlining what I consider the key things you can do to secure your publishing workflow. snarky.ca/how-to-publi... If you don't use GitHub Actions for publishing, this post will NOT be of interest to you.
snarky.ca
How to publish to PyPI using GitHub Actions securely
There have been several security incidents lately that involved compromising GitHub Actions workflows. This has led some to say "GitHub Actions is the weakest link" in publishing and to GitHub publish...
2126
Brett Cannon @snarky.ca · 07/07/2026
@tiangolo.com are there any plans for hosting SQLite3 databases on @fastapicloud.com ? For a personal blog I just don't need something as fancy as Postgres which requires setting up another service. All I want is a SQLite3 file that I can occasionally download for backup purposes.
180
Brett Cannon @snarky.ca · 06/07/2026
Especially since @yossarian.net hasn't merged the PR 😉
130
Brett Cannon @snarky.ca · 03/07/2026
And now I have opened PR #2 on the WAR format repo 😁 github.com/astral-sh/wa...
github.com
Fix typo in compression documentation comment by brettcannon · Pull Request #2 · astral-sh/war
120
Reposted by Brett Cannon
Ben Collins @bencollins.bsky.social · 30/06/2026
Trans rights are human rights always and forever.
104154574145
Brett Cannon @snarky.ca · 25/06/2026
I look forward to when our toddler is old enough that anyone can put them to bed so we can go to the movies more easily again
010
Reposted by Brett Cannon
FastAPI Cloud @fastapicloud.com · 22/06/2026
FastAPI Cloud is now in Public Beta ⚡ Deploy @fastapi.tiangolo.com apps with: fastapi deploy No waitlist. Try it now. 🚀 You Code. We Cloud. 😎 fastapicloud.com/blog/fastapi...
082
Reposted by Brett Cannon
Ryan Cavanaugh @searyanc.dev · 16/06/2026
Setting up a direct indexing account has generally not been worth the hassle, but it sure feels great to be able to exclude SpaceX from my investment list
291
Reposted by Brett Cannon
Gleam Programming Language @gleam.run · 03/06/2026
The rainbow is here all year long, so we don't need to change the profile for June. But it is a good time to remind everyone that LGBTQIA+ rights are under attack all year long as well. And to steal @haskell.org's message: there would be no Gleam without trans people 🩵🩷🤍
pink star looking in the mirror with text "I'm going to be brave. I'm going to be myself", with rainbow pride and trans pride stickers on it. The background is rainbow
531391
Brett Cannon @snarky.ca · 15/06/2026
I totally believe it. For the longest time Japan required official paperwork to be faxed.
010
Reposted by Brett Cannon
Louis Pilfold @lpil.uk · 03/12/2025
Gleam is free from corporate interference and control, but that means financially we rely entirely on our sponsors! Please consider supporting Gleam, even if just a couple of dollars. Thank you! 💖 gleam.run/sponsor/
gleam.run
Sponsor | Gleam Programming Language
Everything we bring to the language is possible thanks to our sponsors. See how to become one of them and support Gleam.
13911
Brett Cannon @snarky.ca · 13/06/2026
If you're needing AI to do that you should talk to your boss about having less bureaucratic things 😉
110
Reposted by Brett Cannon
Python Software Foundation @python.org · 05/06/2026
🤔📚 Wondering what to do this weekend? Grab the latest No Starch Press Humble Bundle, ‘Python: the Good Stuff’ and dig into 15 #Python related titles for just $36! A percentage of the proceeds goes to supporting the PSF! www.humblebundle.com/books/python...
094
Reposted by Brett Cannon
Gleam Programming Language @gleam.run · 08/06/2026
💡 Fun fact for the day. Learn more about Gleam's 'use' in our language tour: tour.gleam.run/advanced-fea...
Graphic: dark background, text "Did you know... Python's 'with' was one of the main inspirations of Gleam's 'use'",
At the bottom there are two small graphics, in the left corner a smiling pink star holding an envelope with a bulb drawing; in the right corner Python's logo in pink.
0365
Brett Cannon @snarky.ca · 04/06/2026
Coder brain read that as "I love my job less than 333,333"
050
Brett Cannon @snarky.ca · 03/06/2026
Why is @bsky.app showing me a banner for elections in the US?!? I don't live there! I can't vote in their elections! @bsky.app just lost a ton of cred with me.
Screenshot of the "June 2 Elections" link from Bluesky.
230
Reposted by Brett Cannon
Hugo van Kemenade @hugovk.dev · 02/06/2026
🐍🚀 Out now: Python 3.15 beta 2! 💤 Lazy imports! 🧊 frozendict builtin! 💂 sentinel builtin! 📉 Tachyon profiler! 🖼️ Frame pointers everywhere! 🎨 More colour! 🚌 & more! Library maintainer? Add 3.15 to your CI and keep those bugs coming! discuss.python.org/t/python-3-1... #Python315 #Python #release
discuss.python.org
Python 3.15.0 beta 2 is here!
Here comes the antepenultimate beta. This is a beta preview of Python 3.15 Python 3.15 is still in development. This release, 3.15.0b2, is the second of four planned beta releases. Beta release p...
1133
Brett Cannon @snarky.ca · 28/05/2026
`operator.itemgetter` and `attrgetter` get under-used IMO. Same goes for `else` clauses on `for` and `while` loops.
1141
Reposted by Brett Cannon
FastAPI @fastapi.tiangolo.com · 26/05/2026
Your FastAPI is safe 🔒 Today, FastAPI was incorrectly flagged as malicious by automated tooling from a large company, among several other packages. FastAPI was not compromised. It was a false positive. We were not contacted before publication. This should not happen to OSS.
1218
Brett Cannon @snarky.ca · 20/05/2026
🗺️ May 20, 2026 5/5 countries in 9/13 guesses 🟩🟨🟩🟨🟧 #Whereabouts whereabouts.earth/daily/
whereabouts.earth
120
Brett Cannon @snarky.ca · 20/05/2026
Seems to be working!
110
Reposted by Brett Cannon
EuroPython 2026, Kraków @europython.eu · 18/05/2026
We have a unique keynote this year: Guido van Rossum - the creator of Python - will be the guest on an episode of the core.py podcast, recorded live from the #EuroPython stage by @lukasz.langa.pl and @pablogsal.com Grab your ticket: ep2026.europython.eu/tickets/ #europython #python
A cover image of the EuroPython 2026 keynote "In conversation with... a special core.py episode with Guido van Rossum" featuring Guido van Rossum, Łukasz Langa and Pablo Galindo Salgado. The event will take place on 13-19 July in Kraków.
0256
Brett Cannon @snarky.ca · 12/05/2026
Is there a new boycott, or a continuation of the DEI one?
000
Brett Cannon @snarky.ca · 08/05/2026
Something somewhere hates Mullvad VPN as it worked when I turned it off (for Cloudflare that typically shows up as a "I'm a human" box but not an outright block)
100
Brett Cannon @snarky.ca · 07/05/2026
I can't connect from 2 different machines
100