About:

Coding, scientific development, finance, data analysis, visualization, statistics, and machine learning

Website:

Specializations:

Incoming Links:

Subscribe to RSS:
The blog post discusses the development of the PyBytesWriter API in the Python C API, detailing the author's journey through multiple iterations and attempts to create a public API to replace the _PyBytes_Resize() function. It out...
The article discusses the design and development of a C API for importing and exporting Python integers, detailing the discussions and decisions made by the C API Working Group from August 2023 to December 2024. It covers the rest...
Victor Stinner reports on his 18 commits merged into Python in February 2025. The commits include reorganizing C API tests, using PyErr_FormatUnraisable(), reorganizing includes, removing PySequence_Fast(), fixing function signatu...
PEP 741 is a new C API to configure the Python initialization using strings for option names. It took two years to get PEP 741 accepted by the Steering Council. The API is made of 18 functions, and it took more than 200 messages t...
Victor Stinner designed a new C API to build a Python str object called the PyUnicodeWriter API. The C API Working Group helped to design a better and more convenient API. The initial API was changed to make it more efficient and ...
In Python 3.13, Victor Stinner made multiple enhancements to the limited C API, including adding 14 functions, making the special debug build Py_TRACE_REFS compatible with the limited C API, enhancing Argument Clinic to generate C...
In Python 3.13 alpha 1, Victor Stinner removed over 300 private C API functions, which caused negative feedback and issues with various projects. He reverted 50 functions in alpha 2 to address the situation. The removal of private...
Victor Stinner proposed adding a new PyDict_GetItemRef() function to Python 3.13 C API. He explained the design of the API and the future creation of C API Working Group. He also added PyImport_AddModuleRef() and PyWeakref_GetRef(...
Victor Stinner made 144 commits to the Python main branch between May 4 and July 8, 2023. He describes the most important Python contributions to Python 3.12 and 3.13, including the addition of new functions, checks for index boun...
The text describes the changes made to macros in the Python C API between Python 3.7 and Python 3.12. The changes were made to make the API less error-prone and better define the API. The changes include converting macros and stat...
The text is about an email received from the buildbot-status mailing list regarding a new failure on builder PPC64LE Fedora Rawhide Refleaks 3.x while building Python. The author decided to write an article to document and explain...
The text discusses the challenges of optimizing CPython due to the PyObject structure and the efforts made by the author to add functions and introduce incompatible C API changes to make the structure opaque. It also outlines the ...
The text discusses the changes in the Python C API from version 3.5 to 3.10. It highlights the removal, deprecation, and addition of symbols, functions, and structures. The C API is now organized into three parts: Include, cpython...
Victor Stinner created the pythoncapi_compat project in 2020 to add Python 3.10 support to C extensions without losing support for old Python versions. The project consists of a header file and a script to upgrade C extension modu...
The article discusses the changes made in the Python C API in Python 3.8, 3.9, and 3.10 to make structures opaque, the impact of these changes, and the issues faced. It also covers the rationale behind making structures opaque, th...
The article discusses the work done in Python in 2019 and 2020 to better isolate subinterpreters. It explains the technical challenges, the benefits of isolating subinterpreters, and the improvements made in Python. It also provid...
The article discusses the history of Python C API discussions over the last 4 years, and the creation of C API projects such as pythoncapi website, pythoncapi_compat.h header file, and HPy. It also covers the efforts to evolve the...
The article discusses old reference leaks discovered or caused by the work on isolating subinterpreters. It covers leaks in 6 different modules, the issues with Python objects leaked at Python exit, and the efforts to solve these ...
The article discusses the bugfixes of the GIL in Python 3.9 for daemon threads during Python finalization. It covers the bugs that were fixed, the issues caused by daemon threads in Python finalization, and the changes made to add...
The article discusses a race condition in threading shutdown that was fixed in Python 3.9 in March 2019. It explains how the issue was identified, the process of reproducing the bug, and the steps taken to fix it. The author also ...
The article discusses the bugs fixed in the Python finalization in Python 3.2 and Python 3.3, and a backport in Python 2.7.8. It covers the issues caused by daemon threads and the changes made to address them. The Python finalizat...
The article discusses the design of the development mode (-X dev) added to Python 3.7 and its implementation. It enables runtime checks that are too expensive to be enabled by default, and can be enabled by command line option or ...