Embed Python in Java
C Java Python C++ Other
Latest commit 1406244 Sep 16, 2016 @ndjensen ndjensen Merge branch 'dev_3.6'
Conflicts:
	jep/version.py

Change-Id: I308313c9e3a519ee7f0dc2f4854ec757af86867b

README.rst

Jep - Java Embedded Python

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.

Installation

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.

Dependencies

  • Python 2.6, 2.7, 3.2, 3.3, 3.4, or 3.5
  • Java >= 1.6
  • Numpy (optional) >= 1.5 (numpy >= 1.7 recommended)

Notable features

  • Interactive Jep console much like Python's interactive console
  • Supports multiple, simultaneous, mostly sandboxed sub-interpreters
  • Numpy support for Java primitive arrays

Help

We welcome comments, contributions, bug reports, wiki documentation, etc.

Jep Team