Jep embeds CPython in Java through JNI.
Some benefits of embedding CPython in a JVM:
- Using the native Python interpreter may be much faster than alternatives.
- Python is mature, well supported, and well documented.
- Access to high quality Python modules, both native CPython extensions and Python-based.
- Compilers and assorted Python tools are as mature as the language.
- Python is an interpreted language, enabling scripting of established Java code without requiring recompilation.
- Both Java and Python are cross platform, enabling deployment to different operating systems.
Simply run pip install jep
or download the source and run python setup.py build install
.
Building and installing require the JDK, Python, and optionally numpy to be installed beforehand.
- Python 2.7, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, or 3.9
- Java >= 1.7
- NumPy >= 1.7 (optional)
- Interactive Jep console much like Python's interactive console
- Supports multiple, simultaneous, mostly sandboxed sub-interpreters or shared interpreters
- Numpy support for Java primitive arrays
We welcome comments, contributions, bug reports, wiki documentation, etc.
Jep Team