go-python icon indicating copy to clipboard operation
go-python copied to clipboard

Question: Using go-python to write CPython C-extensions into Go libraires

Open prologic opened this issue 10 years ago • 4 comments

As per the title; Is this possible here? I haven't really looked too deeply into this (yet) but if it's possible I think I'd like to have a go at doing so.

prologic avatar Jul 10 '15 08:07 prologic

it is technically possible to write a CPython extension module in Go, but:

  • not really convenient (and one will have to drop to cgo quite a lot)
  • until go-1.5, it won't be easy to compile a shared object and load it from a regular python prompt.

in the (hopefully) not too far future, I'll resume working on github.com/go-python/gopy-gen which should provide a much more user friendly recipe.

see #24 for some more background.

sbinet avatar Jul 10 '15 09:07 sbinet

@sbinet Thanks for your quick response! A bit of background to what I'm trying to achieve here. I'm developing several tools (autodock, domains and factory) but especially factory which at present wraps around the CLI of Docker Machine via sh -- However it would be really nice if I could integrate Docker Machine at a library level.

prologic avatar Jul 10 '15 09:07 prologic

well, for this particular case, I wouldn't be surprised if a JSON/REST api were to appear at some point (api which you could then call directly from python...)

sbinet avatar Jul 10 '15 09:07 sbinet

Perhaps but that would incur the same cost and overheads as invoking subprocesses :) All good though -- we'll see how things evolve. Nonetheless though I look forward to your gopy-gen because I belive this will be generally useful!

prologic avatar Jul 10 '15 09:07 prologic