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.

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.