- Notifications
You must be signed in to change notification settings - Fork0
A setuptools extension for building cpython extensions written in golang.
License
go-python/setuptools-golang
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A setuptools extension for building cpython extensions written in golang.
This requires golang >= 1.5. It is currently tested against 1.6 and 1.7.
This requires python >= 2.7. It is currently tested against 2.7, 3.5, 3.6,and pypy.
Addsetuptools-golang
to thesetup_requires
in your setup.py andbuild_golang={'root': ...}
.root
refers to the root go import path ofyour project.
An extension must be a single file in themain
go package (though the entiremain
package will be built into the extension). That package may importother code.You may have multiple extensions in yoursetup.py
.
setup( ...build_golang={'root':'github.com/user/project'},ext_modules=[Extension('example', ['example.go'])],setup_requires=['setuptools-golang'], ...)
Here's someexamples
Extension
by default will bring along the go files listed, but won't bringalong the related C files. Add the following toMANIFEST.in
:
global-include *.cglobal-include *.go
You're probably trying to import from an external source which does not exist.Double check that your import is correct.
package github.com/a/b/c: /tmp/.../github.com/a/b exists but /tmp/.../github.com/a/b/.git does not - stale checkout?
You've probably mistyped an import. Double check that your import is correct.
setuptools-golang
also provides a tool for buildingPEP 513 manylinux1 wheels so yourconsumers don't need to have a go compiler installed to use your library.
Simply runsetuptools-golang-build-manylinux-wheels
from your sourcedirectory. The resulting wheels will end up in./dist
.
$ setuptools-golang-build-manylinux-wheels...+ ls /dist -altotal 8092drwxrwxr-x 2 1000 1000 4096 Feb 1 04:16 .drwxr-xr-x 41 root root 4096 Feb 1 04:15 ..-rw-r--r-- 1 1000 1000 2065095 Feb 1 04:16 setuptools_golang_examples-0.1.1-cp27-cp27mu-manylinux1_x86_64.whl-rw-r--r-- 1 1000 1000 2063299 Feb 1 04:16 setuptools_golang_examples-0.1.1-cp34-cp34m-manylinux1_x86_64.whl-rw-r--r-- 1 1000 1000 2064862 Feb 1 04:16 setuptools_golang_examples-0.1.1-cp35-cp35m-manylinux1_x86_64.whl-rw-r--r-- 1 1000 1000 2064873 Feb 1 04:16 setuptools_golang_examples-0.1.1-cp36-cp36m-manylinux1_x86_64.whl-rw-rw-r-- 1 1000 1000 4273 Feb 1 04:14 setuptools-golang-examples-0.1.1.tar.gz*******************************************************************************Your wheels have been built into ./dist*******************************************************************************
About
A setuptools extension for building cpython extensions written in golang.
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Languages
- Python58.9%
- C20.0%
- Go19.5%
- Makefile1.6%