Comments (5)
I can of course expose togo
- which I would probably expose as:
func PyObject_FromVoidPtr(ptr unsafe.Pointer) *PyObject { ... }
but, as you mentionned numpy
, perhaps a more useful API to expose would be capsules ?
https://docs.python.org/2/c-api/capsule.html#capsules
(BTW: any pointer to your numpy-based+go project? color me interested!)
from go-python.
I am/was not familiar with capsules. AFAICT, however, this is an orthogonal concept, no? I still need SimpleNewFromData
from NumPy---my use case is the same as Travis', here:
but he's unfortunately using the CObject way there. Charles Harris explicitly notes that NumPy uses the CObject method internally:
https://bugzilla.redhat.com/show_bug.cgi?id=623857#c3
So perhaps that forces our hand to use the old way? It is (very) possible that I'm misunderstanding how this would work with capsules, though. Would welcome some education on that.
Re: the project, the code is here:
https://github.com/tfogal/visdebug
but there's far too much to grok. We're preparing a manuscript to submit academically, but I'm too embarrassed about its current state to post it publicly. Happy to send it to you via email, though.
from go-python.
I proposed PyCapsules
because PyCObject
are deprecated in 2.7, but I can as easily wrap PyCObject
. would that work for you ?
but, ok. if somebody were to wrap, say, numpy
with cgo
, she would still need a way to convert an unsafe.Pointer
into a python.PyObject
.
so... I'll start with exposing togo
via PyObject_FromVoidPtr
.
from go-python.
Sounds great, thanks!
from go-python.
fixed with 06cbd38
from go-python.
Related Issues (20)
- Does it works on Centos7 i686 system? HOT 1
- go get report errors HOT 4
- panic when register callback from go into python as module HOT 1
- How to call a function of Go from python HOT 3
- After running go-python script for a while, the memory becomes larger and larger HOT 1
- How to build the environment required by go-golang under window
- panic when run multi goroutine HOT 3
- Error reporting for execute command under win10 HOT 3
- Hi,
- Question: Usable with WebAssembly (WASM)? HOT 1
- Documentation not displayed due to license restrictions. HOT 2
- Pandas and go Python are incompatible? HOT 9
- D:\go\project\src\github.com\sbinet\go-python\capi.go:33:32: could not determine kind of name for C.METH_OLDARGS
- Exception SystemError: '/builddir/build/BUILD/Python-2.7.5/Objects/classobject.c:521: bad argument to internal function'
- can i import python module like selenium to use inside golang code?
- Let's try it, python bindings cgo-less HOT 1
- Cannot pass Integer type to CallFunction
- go panic when multi thread HOT 1
- How to use cPickle loads or dump complicated data, like array, class object
- memory leak๏ผ HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go-python.