Inside CPython's attribute lookup Python's attribute lookup logic seems pretty simple at a first glance: "firstlook in the instance __dict__, then look in its type". However, the actual logic is much more complex because it needs to take intoaccount the descriptor protocol, the difference between lookups on instancesvs types, and what happens in presence of metaclasses. Recently I implemented preliminary support for the descriptor protocol in SPy,which led me to investigate the CPython source...| Antonio Cuni's blog
EuroPython 2025 slides Here are the slides for the three speeches which I gave atEuroPython 2025:| Antonio Cuni's blog
Claude code modified my .bashrc without asking? !!! note "Note" This is not the classical post about running claude in YOLO mode and then complaining that it damaged the system. I have reasons to think that claude automatically modified my .bashrc to remove a line alias claude=... without asking my permission and without notifying me of the change.| Antonio Cuni's blog
SPy @ PyCon IT 2025 Yesterday I talked about SPy at PyCon Italy. Thanks to Hugo van Kemenade for the picture. Slides are available here. The edited video is not available yet, but in the meantime it's possible towatch unedited version available inside thelive streamat minute 05:44:05.| Antonio Cuni's blog
Tales with claude code: how to make it behave? In the past weeks, I have been experimenting with using claude code to speedup development, in particular of SPy. My experience so far reveals a clear pattern: claude excels at simple,one-shot tasks that follow existing patterns, producing commit-readycode. However, for complex tasks requiring multiple iterations, qualitydeteriorates significantly with each round, often necessitating completerewrites or extensive cleanup. Because of this, I have ...| Antonio Cuni's blog
Over the clouds: CPython, Pyodide and SPy The Python community is awesome. It is full of great people and minds, and interacting with people atconferences is always nice and stimulating. But one of my favorite things isthat over time, after many conferences, talks, pull requests and beers, thepersonal relationship with some of them strengthen and they become friends. I am fortunate enough that two of them, Łukasz Langa and Hood Chatham, accepted myinvitation to join me in Cervinia, at the bo...| Antonio Cuni's blog
!!! note "" Originally published on the HPy blog. HPy has been around for a while now. The initial discussion started duringEuroPython 2019, in the good old times when we could still go to conferencesand have real-life meetings. Since then, HPy progressed a lot from thepoint of view of the actual code, but we have been a bit too silentw.r.t. communicating what we are doing to the external world and to the broaderPython community. Hopefully, now that this blog is online we will do a betterjob ...| Antonio Cuni's blog
!!! note "" Originally published on the HPy blog. HPy 0.0.2 is out! This is the first version which is officially released andmade available on PyPI. The major highlight of this release is that it is supported by three differentPython implementations: CPython, PyPy and GraalPython.| Antonio Cuni's blog
!!! note "" Originally published on the HPy blog. Yesterday I had the privilege to give a talk about HPy(sildes) at thePython Language Summit 2021. The organizers of the summit will soon publish a full report about the event(edit: now availablehere),but for the HPy-specificpart,we got generally good feedback. Someone has a few concerns that if CPython isto change the API, HPy might not be going far enough. Others said that Pythonshouldn't wait for the "perfect" API if HPy can be the "good" on...| Antonio Cuni's blog
!!! note "" Originally published on the PyPy blog. A while ago Amit Regmi, a student from Canada, started working on theclr module improvements branch as a university project.| Antonio Cuni's blog
!!! note "" Originally published on the PyPy blog. After having spent the last few days on understanding PyPy's JIT,today I went back hacking the clr module. As a result, it is nowpossible to import and use external assemblies from pypy-cli,including Windows Forms| Antonio Cuni's blog
!!! note "" Originally published on the PyPy blog. As you surely know, Python 3.0 is coming; recently, they releasedPython 3.0 alpha 3, and the final version is expected aroundSeptember.| Antonio Cuni's blog
!!! note "" Originally published on the PyPy blog. In the last months, I've actively worked on the CLI backend for PyPy'sJIT generator, whose goal is to automatically generate JIT compilersthat produces .NET bytecode on the fly.| Antonio Cuni's blog
!!! note "" Originally published on the PyPy blog. As happened in the last years, there will be a PyPy sprint just afterEuroPython. The sprint will take place in the same hotel as theconference, from 10th to 12th of July.| Antonio Cuni's blog
!!! note "" Originally published on the PyPy blog. When hacking on PyPy, I spend a lot of time inside pdb; thus, I triedto create a more comfortable environment where I can pass my nights:-).| Antonio Cuni's blog
!!! note "" Originally published on the PyPy blog. Following the great success of code_swarm, I recently produced avideo that shows the commit history of the PyPy project.| Antonio Cuni's blog
!!! note "" Originally published on the PyPy blog. As the readers of this blog already know, I have been working on the CLIJIT backend for some months: last Friday, it reached an important milestone,as it is now able to produce huge speedups for a little dynamic language. Toknow how huge the speedup is, read on :-).| Antonio Cuni's blog
!!! note "" Originally published on the PyPy blog. In my previous post, we saw that PyPy JIT generator can produce hugespeedups when applied to the tlc toy language.| Antonio Cuni's blog
Antonio Cuni's blog| antocuni.eu
My experience at the CPython Core Dev Sprint| antocuni.eu