Skip to main content

Python-Java bridge. Fork of the jPype project by Steve Menard (http://jpype.sourceforge.net/), with the modifications applied by Luis Nell (https://github.com/originell/jpype)

Project description

From the original Website:

JPype is an effort to allow python programs full access to java class libraries. This is achieved not through re-implementing Python, as Jython/JPython has done, but rather through interfacing at the native level in both Virtual Machines. Eventually, it should be possible to replace Java with python in many, though not all, situations. JSP, Servlets, RMI servers and IDE plugins are good candidates.

Once this integration is achieved, a second phase will be started to separate the Java logic from the Python logic, eventually allowing the bridging technology to be used in other environments, I.E. Ruby, Perl, COM, etc …

This GitHub fork is a Python 3 version of jPype. It does not support Python 2.

This is a fork of originell/jpype, which originally aims to simplify the installation of jPype on Linux and MacOS X.

Known Bugs/Limitations

  • Java classes outside of a package (in the <default> package) cannot be imported.
  • Fields or methods conflicting with a python keyword can’t be accessed.
  • Because of lack of JVM support, you cannot shutdown the JVM and then restart it.
  • Some methods rely on the “current” class/caller. Since calls coming directly from python code do not have a current class, these methods do not work. The User Manual lists all the known methods like that.

Road map

Future developments of this fork of jPype :

  • Stay close to the Python 2 version (patches, issues, …)
  • Convert examples in Python 3
  • Review the code (Python and C++): clean up, add comments, …
  • Separate Python 3 specific code (Python and C++)

Requirements

The Python 3 development files and either the Sun/Oracle JDK/JRE Variant or OpenJDK.

Debian/Ubuntu

Debian/Ubuntu users will have to install g++ and python3-dev first:

sudo apt-get install g++ python3-dev

Red Hat/Fedora

Same thing with Fedora users:

su -c 'yum install gcc-c++ python3-devel'

Windows

On Windows, you will have to install:

Installation

On Linux:

sudo python3 setup.py install

On Windows:

python setup.py install

If it fails…

This happens mostly due to the setup not being able to find your JAVA_HOME. In case this happens, please do two things:

  1. You can continue the installation by finding the JAVA_HOME on your own ( the place where the headers etc. are) and explicitly setting it for the installation:

    JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64 python3 setup.py install
    
  2. Please create an Issue on GitHub and post all the information you have.

Tested on

OS Architecture Java version
Fedora 18 64 bits OpenJDK 6 and 7
Fedora 19 64 bits OpenJDK 6 and 7
Ubuntu 12.04 64 bits OpenJDK 6 and 7
Mac OS X 10.8.4 64 bits Oracle JDK 6 and 7
Mac OS X 10.9 64 bits Oracle JDK 6 and 7
Windows 7 32 bits Oracle JDK 7 and OpenJDK 7

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
JPype1_py3-0.5.5.2-cp34-none-win32.whl (171.5 kB) Copy SHA256 hash SHA256 Wheel 3.4
JPype1_py3-0.5.5.2-cp34-none-win_amd64.whl (199.4 kB) Copy SHA256 hash SHA256 Wheel 3.4
JPype1_py3-0.5.5.2-cp35-none-win_amd64.whl (203.4 kB) Copy SHA256 hash SHA256 Wheel 3.5
JPype1-py3-0.5.5.2.tar.gz (87.9 kB) Copy SHA256 hash SHA256 Source None
JPype1-py3-0.5.5.2.win32-py3.4.exe (365.0 kB) Copy SHA256 hash SHA256 Windows Installer 3.4
JPype1-py3-0.5.5.2.win-amd64-py3.4.exe (424.1 kB) Copy SHA256 hash SHA256 Windows Installer 3.4
JPype1-py3-0.5.5.2.zip (160.5 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page