mirror of
https://github.com/ralsina/tartrazine.git
synced 2024-11-12 22:42:23 +00:00
35575d0a3e
Signed-off-by: Alexander Bezzubov <bzz@apache.org>
28 lines
746 B
Markdown
28 lines
746 B
Markdown
# Python bindings for enry
|
|
|
|
Python bindings through cFFI (API, out-of-line) for calling enry Go functions exposed by CGo wrapper.
|
|
|
|
## Build
|
|
|
|
```
|
|
$ cd .. && make static
|
|
$ python build_enry.py
|
|
```
|
|
|
|
Will build a static library for Cgo wrapper `libenry`, then generate and build `enry.c` - a CPython extension that provides actual bindings.
|
|
|
|
## Run
|
|
|
|
Example for single exposed API function is provided.
|
|
|
|
```
|
|
$ python enry.py
|
|
```
|
|
|
|
## TODOs
|
|
- [x] helpers for sending/receiving Go slices to C
|
|
- [ ] read `libenry.h` and generate `ffibuilder.cdef(...)` content
|
|
- [ ] cover the rest of enry API
|
|
- [ ] add `setup.py`
|
|
- [ ] build/release automation on CI (publish on pypi)
|
|
- [ ] try ABI mode, to avoid dependency on C compiler on install (+perf test?) |