> only do (lots of) TypeScript if it's for the most Pythonic reasons 😎
Posts by Sebastián Ramírez
March 2026 update of The Diff & The Merge, my substack about OS maintenance.
oxykodit.substack.com/p/march-2026...
- free-threaded Python in FastAPI
- ty as type checker
- triaging nanochat PRs
- nanochat's little brother "autoresearch"
- publishing LLM-readable skills files
All my Python projects are now using ty for type checks 🎉
@fastapi.tiangolo.com, Typer, SQLModel, Asyncer, etc.
Thank you @oxykodit.bsky.social 🙌
ty is great, try it docs.astral.sh/ty/
Here's SQLModel 0.0.38 🍫
🐛 @carljm.me from the Astral team implemented a typing fix to improve correctness and compatibility with the next ty 🙌
sqlmodel.tiangolo.com
And? What are the types? We need to know
Now @fastapi.tiangolo.com is a fully AI agentic framework. This is the future. 🚀
Thank you alejsdev, @patrick.wtf, malvex 🙌
Most (or all) reports are AI slop. Too many reports, no real issues. All contrived, incorrect usage, to fabricate a vulnerability which is actually in user code.
But all of them require a lot of effort to review.
Don't DDoS open source human effort: fastapi.tiangolo.com/contributing...
Some universities in at least two countries are asking students to get a CVE number assigned in an open source project to verify their academic results.
Please don't do this, completely wrong incentive. This damages open source.
It's a DDoS attack on maintainer attention.
Quality PR reviews I receive 🤓
If the Python core team started a weekly/monthly newsletter, what would y'all want out of it? What would make you excited to see the notification in your inbox?
@emmatyping.dev and I were brainstorming a bit on this the other day, inspired a bit by @thisweekinrust.bsky.social.
Since it's now linked in the What's New for Python 3.15, I decided to migrate doesjitgobrrr.com to proper cloud hosting and out of my closet RPi cluster.
The once unofficial JIT benchmarking site is now *official*, has a new look, and hosted on the very best @fastapicloud.com 🖤!
Do you code with Cursor? ↗️
Try the official (and verified ✅) FastAPI Extension from the marketplace ✨
open-vsx.org/extension/Fa...
Are you using Google Antigravity as your editor? ☄️
Now you can install the official FastAPI Extension open-vsx.org/extension/Fa... 🎁
Long-awaited, Server-Sent Events in @fastapi.tiangolo.com ✨
This @fastapi.tiangolo.com feature has been cooking in my mind for 2 years or so. 😅
So happy it's finally out there. And I think the developer experience is just right (minimal and simple). ✨
I've been working on something very cool for the past few months and today, it's finally yours!
The *official* @fastapi.tiangolo.com extension for VS Code has launched! 🎉
Install: marketplace.visualstudio.com/items?itemNa...
GitHub: github.com/fastapi/fast...
There's a @vscode.dev extension for @fastapi.tiangolo.com now! 🤯
It's so enjoyable to use, try it!
@savannah.dev did an amazing job with it. 🙌
@anthonypjshaw.bsky.social do you know who should I ask to get support for this in VS Code / GitHub Copilot?
Libraries should be able to provide their own official AI Agent Skills, in sync with new versions and features.
So I'm starting by shipping this in FastAPI. Next, Typer, SQLModel, etc. 🚀
Now it's time to ask your favorite coding agent to support it. 😎
tiangolo.com/ideas/librar...
Taking one (or several) for the (Python) team.
I promise we'll get back to Python. 🍰
FastAPI 0.132.0 adds strict Content-Type checking for JSON requests 🏰
This would solve a CSRF risk in local-network apps (apps intended to run on users' machines, on localhost) 🔒️
If your clients don't send a Content-Type, you can also disable it: fastapi.tiangolo.com/advanced/str...
You get so many features from @fastapi.tiangolo.com when you declare a return type - response model...
And now you also get the best performance possible 😎🚀
🐛 Here's FastAPI 0.129.1 with a bug fix in the JSON Schema for binary data and file uploads.
📝 And a new guide to use base64 binary data in JSON payloads: fastapi.tiangolo.com/advanced/jso...
I’m sorry about that. It was not appropriate and we should have handled it better.
Typer 0.24.0 just released, dropping support for Python 3.9 (that reached End of Life some months ago) 🪓
typer.tiangolo.com
I've been dreaming of this day since around one year ago when I started the LLM translations setup. ✨
Actually since the first translations years ago, LLMs made it actually feasible now.
I like when technology makes things easier and more accessible to all humans. 🌐
Here's Typer 0.23.1 with a small bug fix 🐛
Thanks Brian Kohan! 🙌
...and soon, dropping support for Python 3.9 🪓
typer.tiangolo.com
You can't imagine how happy I am to finally be able to use the vertical bar (|) for type unions in the internal code 😁