Currently only as placeholder (because a base package jtypes.jvm is still in development)
Java Embedded Python.
jtypes.jep embeds CPython in Java.jtypes.jep is a lightweight Python package, based on the ctypes or cffi library.
It is an almost fully compliant implementation of Mike Johnson's Jep package by reimplementing its functionality in a clean Python instead of C.
Borrowed from the original website:
Jep embeds CPython in Java through JNI and is safe to use in a heavily threaded environment.
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.
Notable features
- Interactive Jep console much like Python's interactive console
- Supports multiple, simultaneous, mostly sandboxed sub-interpreters
- Numpy support for Java primitive arrays
- Java >= 1.7 - either the Sun/Oracle JRE/JDK or OpenJDK.
- NumPy >= 1.7 (optional)
Prerequisites:
- Python 2.7 or Python 3.4 or later
- http://www.python.org/
- 2.7 and 3.6 are primary test environments.
- pip and setuptools
To install run:
python -m pip install --upgrade jtypes.jep
To ensure everything is running correctly you can run the tests using:
python -m jt.jep.tests
Visit development page
Installation from sources:
Clone the sources and run:
python -m pip install ./jtypes.jep
or on development mode:
python -m pip install --editable ./jtypes.jep
Prerequisites:
Development is strictly based on tox. To install it run:
python -m pip install tox
Copyright (c) 2014-2018 Adam Karpierz
Licensed under the zlib/libpng License
http://opensource.org/licenses/zlib
Please refer to the accompanying LICENSE file.
- Adam Karpierz <adam@karpierz.net>