We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SOT 新版本适配时间到~又到了一年一度的 Python 新版本适配时间(虽然实际上是两年好几度),如今 Python 3.13 已经发布,我们自然也是需要对 Python 3.13 进行适配了。
SOT 版本适配的相关背景已经在 #61173 中有所提及,这里就不再赘述一遍了。
不过值得注意的一点是,根据现在对于 EvalFrame 的适配工作难度来看,Python 3.13 的适配难度比预想的要低一些,大概和 Python 3.12 相当。因为 Python 3.13 中的 JIT、free-threading 都还是实验性功能,SOT 整体适配工作量不大。free-threading 作为单独的可执行文件,会作为额外专项进行适配,而且目前来看,对 SOT 影响不大,真正有影响的是框架其它 pybind 层的 API 变动(需要保证线程安全,避免数据竞争)。
eval_frame
GetLocals
f_locals
SystemError
字节码适配任务即对新版本新增、修改的字节码进行适配,根据 Python 3.13 字节码变更 和 Python 各版本字节码差异表格,变动和新增字节码如下:
行为变动
新增
TODO...
单测汇总见 #69246
The text was updated successfully, but these errors were encountered:
eval_custom_code
cpython_internals.c
_PyFrame_GetCode
FORMAT_SIMPLE
SigureMo
gouzil
GoldenStain
No branches or pull requests
背景
SOT 新版本适配时间到~又到了一年一度的 Python 新版本适配时间(虽然实际上是两年好几度),如今 Python 3.13 已经发布,我们自然也是需要对 Python 3.13 进行适配了。
SOT 版本适配的相关背景已经在 #61173 中有所提及,这里就不再赘述一遍了。
不过值得注意的一点是,根据现在对于 EvalFrame 的适配工作难度来看,Python 3.13 的适配难度比预想的要低一些,大概和 Python 3.12 相当。因为 Python 3.13 中的 JIT、free-threading 都还是实验性功能,SOT 整体适配工作量不大。free-threading 作为单独的可执行文件,会作为额外专项进行适配,而且目前来看,对 SOT 影响不大,真正有影响的是框架其它 pybind 层的 API 变动(需要保证线程安全,避免数据竞争)。
Eval Frame 适配
eval_frame
support python 3.13 #69126GetLocals
获取f_locals
[SOT][3.13] UseGetLocals
to avoidSystemError
when get locals from proxy frame #69131字节码适配
字节码适配任务即对新版本新增、修改的字节码进行适配,根据 Python 3.13 字节码变更 和 Python 各版本字节码差异表格,变动和新增字节码如下:
行为变动
新增
其它模块适配
TODO...
单测汇总见 #69246
The text was updated successfully, but these errors were encountered: