go-enry/python
Alexander Bezzubov ee7a0f1139
python: initial impl of bindings using cFFI
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>
2019-10-14 19:38:33 +02:00
..
enry_build.py python: initial impl of bindings using cFFI 2019-10-14 19:38:33 +02:00
enry.py python: initial impl of bindings using cFFI 2019-10-14 19:38:33 +02:00
README.md python: initial impl of bindings using cFFI 2019-10-14 19:38:33 +02:00

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)