Skip to main content

PyLucene's Python to Java bridge (ctypes/cffi-based JCC)

Project description

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

jtypes.jcc

PyLucene’s Python to Java bridge.

Overview

jtypes.jcc provides a bridge necessary to call into Java classes from Python via Java’s Native Invocation Interface (JNI).

PyPI record.

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

About JCC:

Borrowed from the original website:

What is JCC ?

JCC is a C++ code generator that produces a C++ object interface wrapping a Java library via Java’s Native Interface (JNI). JCC also generates C++ wrappers that conform to Python’s C type system making the instances of Java classes directly available to a Python interpreter. …

JCC is a Python extension written in Python and C++. It requires a Java Runtime Environment (JRE) to operate as it uses Java’s reflection APIs to do its work.

Requirements

  • Various Java Runtime Environments such as Oracle Java 1.7+, Apple’s Java 1.6+ on Mac OS X as well as open source Java OpenJDK 1.7+ builds.

Installation

Prerequisites:

To install run:

python -m pip install --upgrade jtypes.jcc

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

python -m jt.jcc.tests

Development

Visit development page

Installation from sources:

Clone the sources and run:

python -m pip install ./jtypes.jcc

or on development mode:

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

Prerequisites:

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

    python -m pip install tox
    

License

Copyright 2015-2018 Adam Karpierz

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

Authors

Changelog

2.22.0a8 (2018-09-03)

  • Synchro with JCC master branch (svn rev: 1839491).

2.22.0a6 (2018-05-23)

  • Update of the required setuptools version.

2.22.0a5 (2018-02-26)

  • Improvement and simplification of setup and packaging.

2.22.0a4 (2018-01-29)

  • Development moved to github.
  • General improvements and update.

2.22.0a3 (2017-01-10)

  • Initial version.

2.21.0a0 (2015-10-14)

  • 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.

Filename, size & hash SHA256 hash help File type Python version Upload date
jtypes.jcc-2.22.0a8.zip (24.1 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