[Python-Dev] Recent changes to PyCodeObject

Cody Piersall cody.piersall at gmail.com
Thu Nov 17 10:09:15 EST 2016

On Wed, Nov 16, 2016 at 6:18 PM, Ned Batchelder <ned at nedbatchelder.com> wrote:
> When I added Python 3.6 support to coverage.py, I posted a Mac wheel to
> PyPI: https://pypi.python.org/pypi/coverage/  That wheel was built
> against 3.6a3, the latest version at the time.  When I use it now on
> 3.6b3, it doesn't work right.  The reason is that the co_firstlineno
> field in PyCodeObject moved in September, as part of the PEP 523 work:
> https://github.com/python/cpython/commit/f1e6d88b3ca2b56d51d87b6b38ea1870c5d9490c
> The docs say that PyCodeObject can change at any time, but I don't see
> why the field had to move in the first place.  Was this needed?

Christian Heimes had the idea so that memory consumption wouldn't be
impacted by adding co_extra to the struct:


More information about the Python-Dev mailing list