Nominated by …
Christian Heimes, Senthil Kumaran
- Victor’s contributions to Python
- Victor Stinner Blog: mostly articles about Python
- Victor’s Python Dev docs
- Victor’s Python Security docs
From the perspective of the Council’s mandate
Over the years, Victor has worked on multiple areas of the interpreter. He has done impressive work on optimization, security, and memory handling. Amongst others he designed and implemented faulthandler, tracemalloc with new memory allocator, and countless performance improvements. He is also the author or co-author of 18 PEPs (if I have counted correctly).
I let Victor fill in the details himself
Victor works for Red Hat. Formerly he was on the OpenStack team. Last year he joined Red Hat’s Python maintenance team and now helps to maintain Python and Python packages on RHEL and Fedora Linux.
He is working remotely from the South of France, so he is part of the European core developers
His manager allows him to spend (significant) time to contribute to Python upstream as part of his job. In his latest talk he even wrote that he is paid full-time to work on upstream which is not strictly true (but it’s not easy to elaborate during a short talk which wasn’t about himself ).
Red Hat heavily rely on Python and has multiple products written in Python like OpenStack and Ansible to name the most famous. Making Python better and sustainable matters for Red Hat. There is also a general upstream first policy at Red Hat: fix a bug or implement a feature upstream, before considering to backport the change “downstream” (in a Red Hat package).
Victor’s plan for the next 5-10 years of Python
- Performance. Continue to investigate options to reduce startup time, speedup the runtime, promote runtimes different than CPython, more collaboration between CPython, PyPy and Cython, prepare a GIL-less era (maybe at least replace the GIL with a lock per subinterpreter), etc. More generally be open to experiment new optimization projects/ideas
- Community. Detect earlier motivated candidates and mentor them. Write more tutorials and documentation explaining how to contribute to Python. Invite more active contributors to sprints and “core developers” events. Increase the diversity of core developers using positive actions. Detect issues to contribute to Python to enhance our workflow. More generally, continue what we are already doing well in this area.
- Sustainability. Discuss with the PSF to see how the PSF money can be used to sponsor Python development (ex: short “grants” to develop a specific task in exchange of regular reports), open the door to companies which have Python developers who have time to help (identify our priorities, ex: better Windows for asyncio, better TLS implementaton for asyncio), continue to organize sprint, etc.
- Maintenance. Sorry that item is less exciting but it’s just the boring reality. We have to fix CI issues, regressions, adapt Python to platform changes (hello macOS who decided to stop supporting fork without exec!), etc.
Victor experimented different projects last years to speedup Python:
- Register-based Virtual Machine for Python
- AST Optimizers
- FAT Python
- Design a new better C API for Python
- etc. => his Faster CPython website lists most of them (not only his projects and ideas!)
Victor mentored or is mentoring 10 contributors (he is not sure of the exact number). He mentored Pablo Galindo and Julien Palards who became core developers (honestly, they were already mostly ready, he shouldn’t say that he mentored them!). He promoted the 5 developers as core devs (Pablo Galindo, Julien Palard, Xiang Zhang, Xavier de Gaye, Charles-François Natali). He also started to write a Tutorial to contribute to the CPython project (devguide written as a tutorial).
About the maintenance, well, Victor is part of the Night Gathers who ensure that the CI remains green (tests pass) all the time (“Night gathers, and now my watch begins. It shall not end until my death.”). Some people dislike to maintain Python, but well, he is paid to do that and he is fine with that (he was already “maintaining Python” before he was paid for that ).
Usually, Victor dislikes talking about himself, it’s already way too much here, so he stops here and hide myself!
Note: I (Victor) merged Christian’s initial text with my text, I had to replace “I” with “he” and it’s sometimes weird to talk about myself using “he” instead of “I”