mirror of
https://github.com/ralsina/tartrazine.git
synced 2024-11-13 23:12:24 +00:00
ee7a0f1139
A PoC that exposes single function `enry.language_by_extension()` and a small number of helpers to deal with string coversion between Go<->C<->Python. Signed-off-by: Alexander Bezzubov <bzz@apache.org>
29 lines
651 B
Markdown
29 lines
651 B
Markdown
# Python bindings for enry
|
|
|
|
Python bingings thoug cFFI (API, out-of-line) for calling enr Go functions though CGo wrapper.
|
|
|
|
## Build
|
|
|
|
```
|
|
$ make static
|
|
$ python enry_build.py
|
|
```
|
|
|
|
Will build static library for Cgo wrapper `libenry`, then generate and build `enry.c`
|
|
- a CPython extension that
|
|
|
|
## Run
|
|
|
|
Example for single exposed API function is provided.
|
|
|
|
```
|
|
$ python enry.py
|
|
```
|
|
|
|
## TODOs
|
|
- [ ] try ABI mode, to aviod dependency on C compiler on install (+perf test?)
|
|
- [ ] ready `libenry.h` and generate `ffibuilder.cdef` content
|
|
- [ ] cover the rest of enry API
|
|
- [ ] add `setup.py`
|
|
- [ ] build/release automation on CI (publish on pypi)
|
|
- |