My tweets are the opinion of my previous employer @graingert@fosstodon.org bsky.app/profile/graingert.c…

Joined October 2008
186 Photos and videos
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
470
2/2 to acompletion, no aclosing is aneeded. Awhen it is, awrap it as contextlib.aclosing(generator) in the async with astatement.
1
283
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,204
Thomas Grainger retweeted
6 Feb 2024
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
60
8,899
Thomas Grainger retweeted
12 Dec 2023
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
1
6
24
2,960
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…

2
6
101
11,050
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
903
14,615
783,399
Thomas Grainger retweeted
31 Oct 2023
🚨 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
8 Oct 2023
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
89
15,394
Thomas Grainger retweeted
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!
6
20
70
16,230
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
44
324
44,617
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
12 Apr 2023
Sorry yall :( we'll do better
1
1
5
303
Thomas Grainger retweeted
We are concerned that language in the proposed European Cyber Resilience Act may cause problems for public open source repositories like the ones we host. Please read and share: pyfound.blogspot.com/2023/04…
7
144
234
85,856
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,842
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
20
11,823