Sign in

Thomas Grainger

@graingert.co.uk
195 followers 232 following 30 posts

fosstodon.org/@graingert twitter.com/graingert

PostsRepliesMedia
Reposted by Thomas Grainger
GNOME @gnome.org · 26/06/2025
It has indeed been a difficult year for GNOME, financially. If you benefit from GNOME as a user, we really need your donation: donate.gnome.org
donate.gnome.org
Donate to GNOME
Donate to the GNOME Foundation and make a difference to GNOME
067
Reposted by Thomas Grainger
arynndoesdata @arynn.bsky.social · 20/11/2025
16551206
Reposted by Thomas Grainger
Savannah Ostrowski @savannah.dev · 31/10/2025
Python 3.9 is officially EOL! Congratulations to @lukasz.langa.pl on a wonderful run as release manager! 🖤 discuss.python.org/t/the-final-...
discuss.python.org
The final Python 3.9 security fix release is out!
Python 3.9.25 is available now! If you’re still using that, grab the sources and build the update as there’s some final fixes: Security (low severity) gh-136063: email.message: ensured linear comp...
05813
Reposted by Thomas Grainger
Glyph @glyph.im · 29/10/2025
This week, the #Python Software Foundation rejected a $1.5MM NSF grant, due to a requirement that the PSF abandon diversity work. So I joined forces with Python folks (@offby1, @petrillic, @amethyst) and we're matching up to $12,000 of donations to the PSF. 🧵
12760
Reposted by Thomas Grainger
John @johngoodman.bsky.social · 26/08/2025
realistic Star Trek
A comic on the bridge from Star Trek the Next Generation.
Picard: COMMANDER DATA, PLEASE IDENTIFY THAT ROMULAN VESSEL.
Data: THAT'S A GREAT IDEA CAPTAIN!
IDENTIFYING A VESSEL IS A GREAT PLACE TO START - IN ANY TACTICAL OR STRATEGIC OUTER SPACE SITUATION.
THIS VESSEL APPEARS TO BE A 23rd CENTURY KLINGON BIRD OF
PREY! 🚀🦅✨
Picard: ARE YOU SURE?
LIKE I SAID WE'RE... PRETTY SURE IT'S ROMULAN.
Data: ...
Data: OF COURSE! SO SORRY ABOUT THAT, YOU'RE RIGHT!
ON CLOSER EXAMINATION IT'S A ROMULAN VESSEL! CAN I RECOMMEND SOME SOONG™ BRAND PRODUCTS THAT CAN HELP YOU WITH THAT?
Picard cradles his face in his hand in a gesture of frustration.
Data: DID I MENTION THE PLIGHT OF OPRESSED WHITES IN SOUTH AFRICA?
4765262473
Thomas Grainger @graingert.co.uk · 20/06/2025
Why didn't you get a ResourceWarning about this?
110
Reposted by Thomas Grainger
Giovanni Barillari @baro.dev · 29/05/2025
Python web development in a picture #pyconit @marcelotryle.bsky.social @tiangolo.com @pyconit.bsky.social
161
Reposted by Thomas Grainger
Cult.Repo @cultrepo.bsky.social · 18/05/2025
The trailer for "Python, the Documentary" is here! 🔥🐍 From its humble beginnings in the Netherlands to powering AI at the world’s biggest companies - this is the story of Python. 🎥 The film premiers at @europython.eu in July and will follow on our YouTube channel. Subscribe to stay updated!
412150
Reposted by Thomas Grainger
Hugo van Kemenade @hugovk.dev · 23/04/2025
EuroPython returns to Prague this July and is looking for a new home for 2026 and beyond. Can your community help? www.europython-society.org/call-for-eur... #Python #EuroPython #conference #PyCon
europython-society.org
Call for EuroPython 2026 Host Venues
Are you a community builder dreaming of bringing EuroPython to your city? The Call for Venues for EuroPython 2026 is now open! 🎉 EuroPython is the longest-running volunteer-led Python conference in the world, uniting communities across Europe. It’s a place to learn, share, connect, spark new ideas—and have fun
011
Reposted by Thomas Grainger
Lupita Nihongo @otsumamiboy.blacksky.app · 17/04/2025
This should be the easiest boycott ever and if you can’t even satisfy this baseline level of solidarity then you have no right to question why we are all now under the gun.
3537531363
Reposted by Thomas Grainger
#aiohttp @aiohttp.org · 17/04/2025
Thanks to months of consistent contributions by lysnikolaou of @quansight.com (Lysandros Nikolaou), all of the mandatory dependencies of #aiohttp now ship free-threaded variants of #wheels! This unlocks the same in aiohttp! Find a minute to thank him, will you? #aio-libs #Python #Packaging
1167
Reposted by Thomas Grainger
Sebastián Ramírez @tiangolo.com · 09/04/2025
EuroPython!
111
Reposted by Thomas Grainger
Jose @jum.bsky.social · 06/04/2025
47154243372
Reposted by Thomas Grainger
Jeremiah Lowin @jlowin.dev · 26/03/2025
Our next OSS love letter
prefect.io
How AnyIO powers Prefect's Async Architecture
Our love letter to AnyIO.
0167
Reposted by Thomas Grainger
Steve Klabnik @steveklabnik.com · 27/03/2025
What an achievement: * All official Debian bookworm live images rebuild reproducibly lists.reproducible-builds.org/pipermail/rb...
lists.reproducible-builds.org
Irregular status update about reproducible Debian live ISO images
720747
Reposted by Thomas Grainger
evacide @evacide.bsky.social · 22/03/2025
Let it be known that I too will accept $2 billion in funding on the promise that I will not release anything until I have created God. pivot-to-ai.com/2025/03/06/i...
pivot-to-ai.com
Ilya Sutskever, ex-OpenAI, gets $2b funding not to release anything until he has ‘super intelligence’
Ex-OpenAI cofounder Ilya Sutskever’s new startup Safe Superintelligence just closed another funding round. For $2 billion, Sutskever promises not to release any product at all until SSI has develop…
491756387
Reposted by Thomas Grainger
Laura Bassett @lebassett.bsky.social · 20/03/2025
Roses are red Violets are blue
24686098713410
Reposted by Thomas Grainger
Mike Bithell @mikebithell.bsky.social · 16/03/2025
It is either very funny or very depressing that I’ve now been trained to seek a second source for online queries as innocuous as ‘when is my local coffee shop open til today’. I’ve been conditioned to not trust Google’s first answer. Great stuff.
921016
Thomas Grainger @graingert.co.uk · 12/03/2025
sys._getframe should probably have a pure python default that uses an exception and tb_frame
010
Thomas Grainger @graingert.co.uk · 12/03/2025
But I think tb_frame is just as unmandated (and for practically the same reasons) so I think this compat function is indeed redundant
100
Thomas Grainger @graingert.co.uk · 12/03/2025
Maybe, but I'm pretty sure PyPy does have this function. Python 2 doesn't have `__traceback__` though
100
Thomas Grainger @graingert.co.uk · 12/03/2025
This isn't a python 2 thing
110
Thomas Grainger @graingert.co.uk · 12/03/2025
Like doing things without OOP/types/ABCs/discord/FastAPI or server sockets and just glue code around requests and keyboard etc?
030
Thomas Grainger @graingert.co.uk · 13/02/2025
Mastodon
000
Thomas Grainger @graingert.co.uk · 13/02/2025
Think of the herd immunity and the extra load on the healthcare service
140
Reposted by Thomas Grainger
amanda moore 🐢 @noturtlesoup17.bsky.social · 10/02/2025
Poster featuring cartoon Trump and Elon Musk at the CFPB protest.
291350220
Thomas Grainger @graingert.co.uk · 03/02/2025
A lot slower! try/except is zero cost when no exception is raised
110
Thomas Grainger @graingert.co.uk · 03/02/2025
suppress is slower and will unintentionally catch ExceptionGroups
120
Reposted by Thomas Grainger
Brett Cannon @snarky.ca · 01/02/2025
Doing I/O on my behalf. sans-io.readthedocs.io
sans-io.readthedocs.io
Network protocols, sans I/O — Sans I/O 1.0.0 documentation
051
Reposted by Thomas Grainger
Peter W🤓 @wang.social · 01/02/2025
Nope nope nope nope Fuck this. @mcuban.bsky.social What is the right way to pursue legal action against this
3411
Reposted by Thomas Grainger
Tin Tvrtković @tinche.bsky.social · 01/02/2025
Yeah, it's both unnecessary and misleading
011
Reposted by Thomas Grainger
Laíns ⚡🌈🇵🇸 @missingclara.bsky.social · 01/02/2025
ngl, with all this I am strongly considering whether or not to attend PyCon US this year, it literally doesn't feel safe
2112
Thomas Grainger @graingert.co.uk · 01/02/2025
It implies a cancel/reschedule point where there's none
100
Reposted by Thomas Grainger
Tin Tvrtković @tinche.bsky.social · 01/02/2025
asyncio.timeout being async is because of Yuri overriding me while it was being designed 🙈
211
Thomas Grainger @graingert.co.uk · 01/02/2025
Yep I saw that discussion and was very smh. But not too bad the async-ness lets me backport it all the way to 3.8
000
Reposted by Thomas Grainger
Savannah Ostrowski @savannah.dev · 31/01/2025
Open question for Python friends: What are your favorite and least favorite design choices for async APIs/endpoints? Curious to hear what you think makes async APIs delightful (or frustrating) to use!
7105
Thomas Grainger @graingert.co.uk · 01/02/2025
Favorite: anyio.create_memory_object_stream way better than Queue and warns if you forgot to close it anyio.Path ergonomic async file IO anyio.wait_readable even works on windows ProactorEventLoop! anyio to_interpreter.run_sync run in a subinterepreters pool and unused workers die when idle
000
Thomas Grainger @graingert.co.uk · 31/01/2025
Least favorite: edge cancellation asyncio.shield/asyncio.wait(_for) eager tasks asyncio.timeout needing async with, and always raising TimeoutError, anyio.move_on_after ftw APIs that take a Coroutine, should take an async function so you avoid unawaited warnings Exceptions in callbacks getting lost
200
Reposted by Thomas Grainger
Barry Warsaw @pumpichank.bsky.social · 25/01/2025
Incredibly sad news. RIP Michael.
041
Reposted by Thomas Grainger
Adam Johnson @adamj.eu · 25/01/2025
I am saddened to hear of the passing of Michael Foord. RIP. I had the pleasure of meeting Michael at PyCon UK a few times. He was warm, kind, and inspiring. discuss.python.org/t/in-memoria...
discuss.python.org
In memoriam: Michael Foord 1974-2025
Through Nicholas Tollervey the news reached me that former core dev Michael Foord has passed away. Michael, an original thinker if there ever was one, started the tradition of having Language Summit e...
0146
Reposted by Thomas Grainger
Armin Ronacher @mitsuhiko.at · 25/01/2025
Heartbroken and devastated to hear about Michael "voidspace" Foord's passing. I have so many cherished memories of our fun and always weird conversations — about Python, life, and everything in between — at conferences and IRC. You'll be deeply missed.
1543
Reposted by Thomas Grainger
Naomi Ceder @naomiceder.tech · 25/01/2025
Stunned by the news of Michael Foord's death. The world will be a little less interesting now... I always felt that with you as an ally things could not be truly lost. Farewell my friend. "The dude abides."
0154
Thomas Grainger @graingert.co.uk · 14/01/2025
www.sortabrick.com ?
sortabrick.com
Home | Sort A Brick
Sort A Brick transforms your Toy Bricks into endless building experiences
000
Reposted by Thomas Grainger
PyCon UK @pyconuk.org · 13/01/2025
New Year, New PyCon UK! We're excited to announce that PyCon UK 2025 will be held in Manchester from 19th to 22nd September 2025. Expect a full program of talks, workshops, and sprints for all Pythonistas. We look forward to seeing you there! #PyConUK2025 #PythonProgramming #Pythonista
22216
Reposted by Thomas Grainger
Seth Larson @sethmlarson.dev · 13/01/2025
Meta is scared of Pixelfed. This is the biggest endorsement of Pixelfed that I've seen so far.
14924
Reposted by Thomas Grainger
Tin Tvrtković @tintvrtkovic.mastodon.social.ap.brid.gy · 11/01/2025
Me a year ago: yes, please federate with threads so I have a bigger pool of friends to interact with Me now: burn the cables and salt them
001
Reposted by Thomas Grainger
David Brochart @davidbrochart.bsky.social · 05/01/2025
AnyIO v4.8.0 is out, with support for offloading CPU-bound functions to Python 3.13's sub-interpreters: await anyio.to_interpreter.run_sync(my_func)
051
Reposted by Thomas Grainger
pimoroni @pimoroni.com · 27/12/2024
New in store! Home Assistant Green - your ultimate companion for creating a seamless, smart home environment: shop.pimoroni.com/products/hom...
shop.pimoroni.com
Home Assistant Green
Home Assistant Green is your ultimate companion for creating a seamless, smart home environment.
0286
Reposted by Thomas Grainger
Marcelo Trylesinski @marcelotryle.bsky.social · 24/12/2024
The ASGI specification living in the same repository as the asgiref package is a pain for me.
011