Hi, I'm playing around with generating extension moudle to Python in Go. This is for a blog post - not production ready.
The Go code is compiled to a shared library and the Python module is using ctypes to call the Go code in the shared library. I know it's know a classic extension module with PyModule_Create and friends, but that's for later... maybe. The setup.py is defined as --- from subprocess import call from setuptools import Extension, setup from setuptools.command.build_ext import build_ext class build_go_ext(build_ext): def build_extension(self, ext): ext_path = self.get_ext_filename(ext.name) cmd = ['go', 'build', '-buildmode=c-shared', '-o', ext_path] cmd += ext.sources out = call(cmd) if out != 0: raise RuntimeError('Go build failed') setup( name='checksig', version='0.1.0', py_modules=['checksig'], ext_modules=[ Extension('_checksig', ['checksig.go', 'export.go']) ], cmdclass={'build_ext': build_go_ext}, ) --- When I run "python setup.py bdist_wheel", I see that that _checksig.cpython-38-x86_64-linux-gnu.so is being built. But when I look at the content of dist/checksig-0.1.0-cp38-cp38-linux_x86_64.whl it's not there. What am I missing? You can view the whole (WIP) project at https://github.com/ardanlabs/python-go/tree/master/pyext Thanks, Miki -- https://mail.python.org/mailman/listinfo/python-list