Skip to main content

a C++ code generator for calling Java from C++/Python

Project description

For changes since earlier releases, see:
http://svn.apache.org/repos/asf/lucene/pylucene/trunk/jcc/CHANGES

JCC is a C++ code generator for producing the code necessary to call into Java classes from CPython via Java’s Native Invocation Interface (JNI).

JCC generates C++ wrapper classes that hide all the gory details of JNI access as well Java memory and object reference management.

JCC generates CPython types that make these C++ classes accessible from a Python interpreter. JCC attempts to make these Python types pythonic by detecting iterators and property accessors. Iterators and mappings may also be declared to JCC.

JCC has been built on Python 2.3, 2.4, 2.5, 2.6 and 2.7 and has been used with various Java Runtime Environments such as Sun Java 1.5 and 1.6, Apple’s Java 1.5 and 1.6 on Mac OS X, open source Java OpenJDK 1.7 builds as well as Oracle Java 1.7.

An experimental port to Python 3 is available from a branch:
http://svn.apache.org/repos/asf/lucene/pylucene/branches/python_3/jcc/

JCC is supported on Mac OS X, Linux, Solaris and Windows.

JCC is written in C++ and Python. It uses Java’s reflection API to do its job and needs a Java Runtime Environment to be present to operate.

JCC is built with distutils or setuptools:

python setup.py build
sudo python setup.py install

Setuptools is required to build JCC on Python 2.3.

Except for Mac OS X - where Apple’s Java comes pre-installed in a known framework location - JCC’s setup.py file needs to be edited before building JCC to specify the location of the Java Runtime Environment’s header files and libraries.

The svn sources for JCC are available at:
http://svn.apache.org/repos/asf/lucene/pylucene/trunk/jcc/
For more information about JCC see:
http://lucene.apache.org/pylucene/jcc/index.html
JCC comes with an Apache 2.0 copyright license:
http://www.apache.org/licenses/LICENSE-2.0

Project details


Release history Release notifications

History Node

3.0

History Node

2.23

History Node

2.22

History Node

2.21

History Node

2.20

This version
History Node

2.19

History Node

2.18

History Node

2.17

History Node

2.16

History Node

2.15

History Node

2.14

History Node

2.13

History Node

2.12

History Node

2.11

History Node

2.10

History Node

2.9

History Node

2.8

History Node

2.7

History Node

2.6

History Node

2.5.1

History Node

2.5

History Node

2.4.1

History Node

2.4

History Node

2.3

History Node

2.2

History Node

2.1

History Node

2.0

History Node

1.9

History Node

1.8

History Node

1.7

History Node

1.5

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
JCC-2.19.tar.gz (94.1 kB) Copy SHA256 hash SHA256 Source None Feb 13, 2014

Supported by

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