Python 3.13 adds the ability to have a free-threaded python interpreter - which doesn't have a GIL.
py-spy doesn't currently work against free-threaded python interpreters, because:
PyObject layout is different : instead of just containing a ob_refcnt and ob_type members - with Py_GIL_DISABLED interpreters the PyObject has additional members (threadid/mutex/ etc)
Python 3.13 adds the ability to have a free-threaded python interpreter - which doesn't have a GIL.
py-spy doesn't currently work against free-threaded python interpreters, because:
ob_refcnt
andob_type
members - withPy_GIL_DISABLED
interpreters the PyObject has additional members (threadid/mutex/ etc)MANAGED_DICT_OFFSET
is different