Skip to main content

Bi-directional Python-Java bridge (ctypes/cffi-based Jpy)

Project description

Currently only as placeholder (because a base package jtypes.jvm is still in development)

jtypes.jpy

Bi-directional Python-Java bridge.

Overview

jtypes.jpy is a bi-directional bridge between Python and Java which can be use to call Java from Python and Python from Java.

PyPI record.

jtypes.jpy is a lightweight Python package, based on the ctypes or cffi library.
It is an almost fully compliant implementation of Norman Fomferra’s Jpy package by reimplementing its functionality in a clean Python instead of C.

About Jpy:

Borrowed from the original website:

jpy is a bi-directional Java-Python bridge allowing you to call Java from Python and Python from Java.

jpy is a bi-directional Python-Java bridge which you can use to embed Java code in Python programs or the other way round. It has been designed particularly with regard to maximum data transfer speed between the two languages. It comes with a number of outstanding features:

  • Fully translates Java class hierarchies to Python

  • Transparently handles Java method overloading

  • Support of Java multi-threading

  • Fast and memory-efficient support of primitive Java array parameters via Python buffers (e.g. numpy arrays)

  • Support of Java methods that modify primitive Java array parameters (mutable parameters)

  • Java arrays translate into Python sequence objects

  • Java API for accessing Python objects (jpy.jar)

Installation

Prerequisites:

To install run:

python -m pip install --upgrade jtypes.jpy

To ensure everything is running correctly you can run the tests using:

python -m jt.jpy.tests

Development

Visit development page

Installation from sources:

Clone the sources and run:

python -m pip install ./jtypes.jpy

or on development mode:

python -m pip install --editable ./jtypes.jpy

Prerequisites:

  • Development is strictly based on tox. To install it run:

    python -m pip install tox

License

Copyright 2014-2018 Adam Karpierz

Licensed under the Apache License, Version 2.0
Please refer to the accompanying LICENSE file.

Authors

Changelog

0.10.0a3 (2018-11-08)

  • Synchro with jpy master branch.

  • Update of the required setuptools version.

  • Minor setup and tests improvements.

0.9.0a3 (2018-05-23)

  • Synchro with jpy master branch.

  • Update of the required setuptools version.

0.9.0a2 (2018-02-26)

  • Improvement and simplification of setup and packaging.

0.9.0a1 (2018-02-12)

  • Synchro with the original jpy 0.9.0.

0.9.0a0 (2018-01-29)

  • Development moved to github.

  • Version numbering in sync. with the original jpy.

0.0.1 (2005-10-05)

  • Initial version.

Project details


Download files

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

Source Distribution

jtypes.jpy-0.10.0a3.zip (370.9 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page