Tiny Cython runtime that the jni-wrap cython generator targets.
It contains only what generated code needs to call JNI directly:
jni.pxd—cdef extern from "jni.h"declarations (JNIEnv, JavaVM, jobject, jmethodID, ...).core.pxd/core.pyx—get_env(),check_jni_exc(), baseJavaObjectcdef class with global-ref RAII, method/field-ID cache helpers.conversions.pxi— inline primitive / jstring / primitive-array converters.
The generator emits per-class .pyx/.pxd modules that cimport from here and call JNIEnv directly.
jni.h is located via $JAVA_HOME/include (and include/<platform>).
export JAVA_HOME=$(/usr/libexec/java_home) # macOS
pip install -e .
pytest tests/