go python3 bind
- python version:3.10.5
- python version:3.8.10 (default supper win7)
support list
- cogo-less,It does not need CGO support, so the compilation speed is very fast
- python3 all plugin,include Native module
- Automatic type conversion Go to PyObject
- Automatic type conversion PyObject to Go
- import Any Python package
- C function is registered to python, painless interaction
cgo-less
install
go get github.com/aadog/py3-go
test
func main(){
	PyImport_AppendInittab("_test", func() *PyObject {
		m := CreateModule("_test", "aa")
		m.AddFunction("add", func(a, b int) int {
			return a + b
		})
		return m.AsObj()
	})
	cpy3.Py_SetProgramName(os.Args[0])
	cpy3.Py_SetPythonHome("./")
	cpy3.Py_Initialize()
	cpy3.PyRun_SimpleString(`
        import _test
        print(_test.Call('add',1,2))
    `)
}
exception
func main(){
	PyImport_AppendInittab("_test", func() *PyObject {
		m := CreateModule("_test", "aa")
		m.AddFunction("add", func(a, b int) int {
		    py3.PyErr_SetString(py3.UserException(),"raise exception")
			return a + b
		})
		return m.AsObj()
	})
	cpy3.Py_SetProgramName(os.Args[0])
	cpy3.Py_SetPythonHome("./")
	cpy3.Py_Initialize()
	cpy3.PyRun_SimpleString(`
        import _test
        print(_test.Call('add',1,2))
    `)
}