PyLucene's Python to Java bridge (ctypes/cffi-based JCC)
Currently only as placeholder (because a base package jtypes.jvm is still in development)
PyLucene’s Python to Java bridge.
jtypes.jcc provides a bridge necessary to call into Java classes from Python via Java’s Native Invocation Interface (JNI).jtypes.jcc is a lightweight Python package, based on the ctypes or cffi library.It is an almost fully compliant implementation of PyLucene’s JCC package by reimplementing its functionality in a clean Python instead of C++.
Borrowed from the original website:
What is JCC ?
JCC is a C++ code generator that produces a C++ object interface wrapping a Java library via Java’s Native Interface (JNI). JCC also generates C++ wrappers that conform to Python’s C type system making the instances of Java classes directly available to a Python interpreter. …
JCC is a Python extension written in Python and C++. It requires a Java Runtime Environment (JRE) to operate as it uses Java’s reflection APIs to do its work.
- Various Java Runtime Environments such as Oracle Java 1.7+, Apple’s Java 1.6+ on Mac OS X as well as open source Java OpenJDK 1.7+ builds.
- Python 2.7 or higher or 3.4 or higher
- 2.7 and 3.6 are primary test environments.
- pip and setuptools
To install run:
python -m pip install --upgrade jtypes.jcc
To ensure everything is running correctly you can run the tests using:
python -m jt.jcc.tests
Visit development page
Installation from sources:
Clone the sources and run:
python -m pip install ./jtypes.jcc
or on development mode:
python -m pip install --editable ./jtypes.jcc
Development is strictly based on tox. To install it run:
python -m pip install tox
Copyright 2015-2018 Adam KarpierzLicensed under the Apache License, Version 2.0Please refer to the accompanying LICENSE file.
- Synchro with JCC master branch (svn rev: 1839491).
- Update of the required setuptools version.
- Improvement and simplification of setup and packaging.
- Development moved to github.
- General improvements and update.
- Initial version.
- Initial version.