I’m nominating myself again for the Steering Council 2026 term.
I do really apologize for the wall of text but everybody who has interacted with me knows that I talk a lot so probably this won’t come as a surprise ![]()
Although we’re still figuring out and improving how we handle some things (especially around communication), I am very proud of what we have achieved together in the 2025 term of the Steering Council. Python 3.14 was a really cool but challenging release and we faced some complex project decisions such as navigating free-threaded Python’s evolution, the inclusion of the JIT, some unstable beta and RC releases. I think the collaboration with working groups like the Typing Council, C API WG, and Documentation WG has been genuinely productive and has helped us manage the workload in ways that I think are setting a good pattern for the future. We are certainly still learning how to balance all these responsibilities but I am grateful that people keep engaging with us and sharing feedback, even when we’ve fallen short. I am extremely excited about the momentum we’re building toward 3.15 with capabilities the community has been asking for and I would love to have your trust and support in serving you and the community as a Steering Council member for the 2026 term.
I especially want to thank my current SC colleagues: @barry, @corona10, @emily, and @gpshead (now covering all timezones!). I am very lucky to have spent a considerable amount of time this year with you and I have enjoyed a lot facing all these challenges and projects together and I am very proud of what we have achieved ![]()
Steering Council Agenda
Ensuring there is a good story with Python’s current big changes
Python is at a really exciting moment right now. We have massive proposals happening almost simultaneously: free threading, the JIT, potential use of Rust in parts of the standard library, and more. I want the SC to focus on enabling Python to evolve and get better while listening carefully to all users (not just the most vocal ones), taking a close look at the consequences and compatibility between these initiatives, and making sure we’re not moving so fast that we lose people along the way or we forget about a important subset of our users, specially the ones that are less vocal. This means ensuring that there are good communication lines and collaboration between different groups working on the big projects and our user base and ensuring that we have a shared vision for where Python is going, and ensuring we are all in the same page about what is the pacing that make sense.
Improving the PEP Process
Many people have indicated several times that shepherding PEPs is incredibly stressful for authors and very chaotic for the community members that want to participate in the discussion, and I have seen this firsthand many times. I think we need to make this better. I want to work on several improvements to ensure this experience is reasonable for everyone. Things like establishing a group of neutral people to help PEP authors navigate the process (similar to how working groups help), improving PEP 1 documentation to set clearer expectations for different groups, better framing of timings and what to expect at each stage, and UX improvements to how PEP discussions work and what authors should do. The process should be rigorous but not unnecessarily painful for people putting in the effort to improve Python.
Making Better Use of Core Team Input
One thing we tried this year that I think worked really well was polling the core team directly on PEP 798 to get broader input beyond the usual discussion threads. This approach surfaced perspectives and concerns that we might not have seen otherwise, and it helped us make a more informed decision. I want us to do this more often when reviewing PEPs (long discussion threads can be hard to follow and sometimes people with important insights don’t feel comfortable jumping into heated debates). By proactively reaching out to core developers for their gut reactions for big important changes, we can make better decisions, ensure we’re representing the community well, and surface concerns early before they become bigger problems.
Improving User Experience
Performance is crucial, but Python’s accessibility to newcomers, students, and individual developers is equally important. Having worked on projects like better error messages, the new REPL, the new debugging protocol and the new profiler in 3.15 I understand how impactful these user-facing improvements are. I want to ensure that whatever direction Python goes, our technical decisions always consider impact on educators, students, hobbyists, and individual developers who make up the heart of our community and not just professional users at large companies.
Empowering Working Groups
The success of the Typing Council, Documentation WG, and C-API WG proves this model works really well. These groups have been genuinely helpful in ways that make the SC’s job more manageable and ensure we’re making better-informed decisions. I want to continue strengthening these groups, encourage new ones where needed (including a mentorship working group), and ensure clear coordination with the SC so we can delegate effectively and leverage their expertise.
Supporting Mentorship and Community Growth
Mentoring is more crucial than ever for Python’s future. This past year, collaborating with @ambv on the core.py podcast has been particularly rewarding and I’m very happy to see how explaining how core development works encourages people who would have never considered contributing to Python to actually give it a try. I will continue my personal mentoring efforts like I have been doing this past year, but I also want to explore how we can ensure that more people can do this work in a way that’s sustainable and allows us to transfer knowledge effectively. This means building more structured support systems for both mentors and mentees, finding ways to attract contributors from all backgrounds (especially from groups that currently find it less accessible), and creating processes that don’t rely on individuals burning out to keep the mentorship pipeline going.
Work as a core developer
- 3rd most active core developer since my promotion.
- Core developer since 2018-06-06.
- Release manager for Python 3.10 and Python 3.11.
- Focused on improving the user experience with the better error messages project to improve the error messages and general user experience in CPython.
- My work is centred on the parser, the compiler, the garbage collector and the VM in general but I more or less work all over the place, maintaining also some of the CI bots (buildbot integration) and workflow.
Recent work
- PEP 768: Safe external debugger interface - Co-authored and implemented a zero-overhead debugging interface that allows debuggers like pdb to safely attach to running Python processes. Presented at PyCon US 2025 and EuroPython 2025.
- Asyncio introspection capabilities - Working with @ambv and Yury Selivanov, added
python -m asyncio psandpython -m asyncio pstreecommands and programmatic APIs for introspecting running asyncio programs. - PEP 810: Explicit lazy imports Introduces opt-in lazy imports with new syntax improving startup time improvements for Python applications. The PEP generated over 450 community comments (in one of the more challenging discussions I remember
) and received unanimous SC acceptance in November 2025. - PEP 799: High frequency statistical sampling profiler - Organized profiling tools under new
profilingnamespace and added a new statistical sampling profiler capable of up to 1,000,000 Hz sampling rates with zero overhead. This profiler can attach to running processes without code modification, making it ideal for production debugging. And it has a lot of cool exporters and lots of introspection (see below):

- memory.python.org - With @ambv and Marta Gómez Macías, launched CPython Memory Tracker to benchmark and track memory usage across commits, crucial for monitoring free-threading’s memory impact.
- Enhanced Python’s debugging experience with colour support for tracebacks and continued error message improvements.
- Continue the core.py podcast with making core developer work more visible and inspiring new contributors.
- Managed to convince a bunch of very serious-looking core devs to dress like a banana in PyCon US 2025

Some highlights and past work
- Added tracebacks in the REPL (really this was not there before).
- Spearheaded the implementation of Python’s new default REPL, bringing features like multiline editing, direct support for REPL commands, colored output, and improved history management.
- Enhanced Python’s debugging experience with new colour support for tracebacks in terminal output.
- Maintained and improved various debugging and profiling tools used by the Python community.
- Developed support for the perf profiler, working without frame pointers and debugging support in collaboration with the Linux kernel and perf developers.
- Continued the better error messages project, making Python more approachable for users at all levels.
- Several major improvements to the devguide, including the new Design of CPython’s Garbage Collector which has been very well received by many core devs and contributors and the guide to the new peg parser.
- Python 3.10 better error messages
- PEP 657
- I created and maintain one of the most popular memory profiles for Python: memray.
- I maintain several Python debuggers and stack analyser tools such as pystack.
- Made several events to demystify core development and the release process and get closer to user such as the 3.10 release stream party and the 3.11 release stream party.
- I work considerably on performance and I collaborate with the Faster CPython project. Some of the performance improvements I have worked recently include the work on Python call inlining, adding support for the perf profiler, GC improvements and many more.
- Maintenance and improvements of the Python speed server: speed.python.org. This involves running automatic benchmarks, cross-validation and monitoring the different benchmarks in a stable and reproducible manner and open issues in the bug tracker if performance regressions have been detected.
- Add checks for ABI stability
- Maintenance of the buildbot server and the CPython CI:
- Watch and monitor daily the buildbot server to spot failures, report them to the bug tracker and fix them (almost all of them if possible).
- PSF blog post covering my talk about the buildbot work at the Language summit.
- GitHub-buildbot server bots integration improvement to the GH workflow
- Many improvements to the buildbot server as the new release dashboard.
- Added a new
test-with-buildbotslabel to test a particular PR with the buildbot fleet. This has reduced considerably the number of reference leaks reported since it was added. - Organized and hosted the core developer sprint of 2019 in London.
- Mentored / promoted several new core developers:
- Diego Russo
- Paul Ganssle
- Lysandros Nikolaou
- Brandt Bucher
- Batuhan Taşkaya
- Ammar Askar
- Ken Jin
- Michael Droettboom
- Organization committee of several conferences such as:
- PyCon Spain
- PyLondinium
- Authored & Co-authored PEPs:
- PEP-delegate for:
- Plenty of new additions to the standard library (I will not list them here to not make this post too big, but you can check them in the “What’s new document” of the different releases.
Online Presence
Conferences
Speaker at different conferences and meetups including PyConSpain, PyLondinium, EuroPython, PyConUS, PyCon US 2026… I am intentionally keeping this short to not make a wall of text, but if someone is interested I can provide links to all the talks + publications.
If anyone requires more information or clarifications regarding these points or has other questions, I will be pleased to answer them or provide more extensive information.
Serving on the Steering Council has been one of the most rewarding experiences of my career, but it’s ultimately your trust that makes this work possible. If you believe I can continue to contribute positively to Python’s future and represent the community well in the 2026 term, I would be deeply honored to have your support
If you have arrived here, thanks a lot for reading the full thing ![]()


