百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
G

gopy

> 编程语言
开源

gopy 从 go 包中生成一个 CPython 扩展模块。

2.3K stars0 点赞1 次浏览
访问官网GitHub

工具介绍

gopy 从 go 包中生成一个 CPython 扩展模块。

gopy 从 go 包生成 (并编译) CPython 扩展模块。这是一个改进版本,可与当前版本的 Go 兼容(例如 1.15,应该能够兼容未来的任何版本),并且使用唯一的 int64 句柄与 Python 进行接口,这样就不会交换指针,使一切都符合较新的动态垃圾回收器的要求。

它还支持具有任意数量 Go 包的 Python 模块,并为每个包生成一个单独的 .py 模块文件,这些模块链接到一个单一的通用绑定库中。 它已经在大型库中重现复杂的 Go 代码方面进行了广泛测试 - 大多数内容"都能正常工作"。 例如, GoGi GUI 库现在可以从 Python 中完全使用(在该目录中执行 make; make install, 并尝试 examples/widgets/widgets.py 演示程序)。

新功能: * 从 Go 到 Python 的回调方法现在可以正常工作:您可以将 Python 函数传递给具有函数参数的 Go 函数,它将适当调用 Python 函数。 * Python class 包装器中使用了第一个嵌入结构体字段(即 Go 的类型继承版本),从而建立了对应的类继承,然后可以高效地继承所有方法、属性等。

目前使用 pybindgen 生成低级的 c-to-Python 绑定,但对于使用 PyPy 而不是 CPython 的人来说,对 cffi 的支持应该相对简单(对于 CPython,pybindgen 显然会更快)。此外,您还需要 goimports 来确保包含正确的导入。

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Gocffictypesgogolang

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言