JEP: Embed Python in Java, the Polished Way Jep embeds CPython in Java via JNI, enabling Java applications to run Python code natively. The project supports Python ≥3.10 and Java ≥1.8, offering features like multiple sub-interpreters and NumPy array support. 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 pip install . . Building and installing require the JDK and Python, to be installed beforehand. Pip will need to be able to install setuptools and numpy to build jep. - Python = 3.10 - Java = 1.8 - 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 Documentation https://github.com/ninia/jep/wiki JavaDoc https://ninia.github.io/jep/javadoc Mailing List deprecated https://groups.google.com/d/forum/jep-project Known Issues and Help https://github.com/ninia/jep/issues Contribution Guidelines https://github.com/ninia/jep/blob/master/.github/CONTRIBUTING.md Project Page https://github.com/ninia/jep We welcome comments, contributions, bug reports, wiki documentation, etc. If you need help, please first search for existing solutions online, in the the issues, and on the wiki. If you still need help, please open a GitHub issue and we will try and help you. Please remember to close the issue once it has been resolved. Jep Team