My tweets are the opinion of my previous employer @graingert@fosstodon.org https://xitter.cf/t.co/guZS3HdFqj

London, England
Joined October 2008
Thomas Grainger retweeted
Yup, we also maintain sqlite's test suit, not many know that.
1
6
651
1/2 Why don’t async generators support the async with astatement? Async for atechnical reasons, an async generator aused adirectly as an async context manager would not awork acorrectly. Awhen, as is most acommon, an async generator is used as an async iterator run
2
3
472
2/2 to acompletion, no aclosing is aneeded. Awhen it is, awrap it as contextlib.aclosing(generator) in the async with astatement.
1
284
Thomas Grainger retweeted
🚀 Announcing the Deepfake Detection Challenge! 🤖 We've been working @CoefficientData in partnership with ACE, @ukhomeoffice, @SciTechgovuk, @turinginst, @faculty_ai, @Plexalcity & @Hackmasters to tackle the ever-evolving threats from #GenAI #deepfakes. Register below 👇🧵
1
4
5
1,207
Thomas Grainger retweeted
We're very sad to announce the cancellation of PyCon UK 2024. We've been hit by a perfect storm of factors that have made it impossible for us to run the conference this year - not least of which being the venue becoming unavailable due to unexpectedly extended renovation work.
18
16
2
60
8,900
Thomas Grainger retweeted
I'll be joining @mkennedy on @TalkPython to talk about FastUI in **1 hour** (18.30 UTC). Watch live here: youtube.com/watch?v=DzyxUVm_… @pydantic @FastAPI
2
6
54
6,419
Thomas Grainger retweeted
Less than a week left to submit a talk proposal to @PyCon! I'm especially curious about "niche" topics, that is things unrelated to data science. Don't get me wrong, I love #Python is useful in that space! But I want to see all the other ways in which it's useful. #PyConUS2024 – at Phra Khanong Nuea, Thailand
1
6
24
2,963
Thomas Grainger retweeted
I just released #Python 3.11.7 on #deadsnakes, and @codewithanthony released 3.12.1 and 3.13.0a2. Yeah, from now on, I'll be helping him get the releases out as part of the regular CPython release process. github.com/deadsnakes/python… – at Texas, USA
2
6
100
11,054
Thomas Grainger retweeted
If you were tempted by stamina, my Python package for easy production-ready retries, but were bummed out by the lack of Trio support, I have some fantastic news in the form of the 23.3.0 release for you: github.com/hynek/stamina/dis…
4
8
1,258
Thomas Grainger retweeted
all this time i thought the lasers were going in the other direction
91
885
64
14,428
783,460
Thomas Grainger retweeted
🚨 setup.py was never deprecated 🚨 setup.py was never deprecated 🚨 setup.py was never deprecated 🚨 setup.py was never deprecated 🚨 setup.py was never deprecated 🚨
3
4
36
6,592
Thomas Grainger retweeted
Finally, progress. What's left is adding a new `uvloop.run()` API to celebrate us finally... ...nuking ☢️ asyncio child process watchers from 🛰️ orbit... ...and hopefully asyncio loop policies will follow. 🤞 we can release early next week.
3
8
87
15,395
Python 3.12 incompatible change: venv no longer installs setuptools by default, only pip: github.com/python/cpython/is… You must now install it explicitly. Moreover, distutils was removed in Python 3.12, but is still provided by setuptools. Enjoy the bright Python packaging future!
5
20
2
69
16,233
Thomas Grainger retweeted
Great news: gcc-13 has been released, and -ffast-math and friends will no longer add code that alters the FPU state when building shared libraries! I'm proud of the (small) part I played in getting this decade-old bug fixed :) gcc.gnu.org/bugzilla/show_bu…
9
41
1
321
44,623
Thomas Grainger retweeted
With virtualenv 20.22.0 you no longer can create <=3.6 Python virtual environments - virtualenv.pypa.io/en/latest…
1
3
5
948
Thomas Grainger retweeted
Sorry yall :( we'll do better
1
1
5
304
Thomas Grainger retweeted
Replying to @willmcgugan
Have you considered using AnyIO in Textual? Task groups are well implemented and you get structured concurrency while keeping compatibility with asyncio. Major projects are using it internally including FastAPI. I'm working on using it in Jupyter's kernel. anyio.readthedocs.io
1
2
10
1,843
Thomas Grainger retweeted
Posted about this on the Textual blog Also posted it on HN, which I'm sure I'll regret. textual.textualize.io/blog/2…
I have a feeling these three sentences are not enough to prevent some nasty bugs. If you don't save a reference to an asyncio Task it could disappear at any time. Your code would stop running, but likely only when your app is under real load. Good luck figuring that out.
3
5
1
20
11,823