[ANN] JPE 2.0 The Java-python Extension
Frederic Giacometti
frederic.giacometti at arakne.com
Tue Feb 26 16:14:25 EST 2002
This is the official announcement of the second version of JPE.
JPE (The Java-Python Extension) is a production-grade seamless
integration of Python and Java.
JPE lets you call Java objects and classes from Python, and vice-versa,
within the same process space. JPE is reentrant (cross-language
callbacks), and supports multi-threading concurently in Java and Python.
The reference web site for JPE is http://jpe.sourceforge.net
As compared to its first release:
1) Build
The build system of JPE is based on a new build library (libplus):
- Java and python are auto-detected from the command line, and
everything else is derived from there
(Java libraries, library paths...).
- libplus generated its own makefiles, and runtime environment (env
variables) for the build and test phases; so there is no need to set-up
anything
- everything is now plateform-independant, and the same scripts are
used on Win32 and posix (no more GNU make / cygwin make required on
windows)
- JPE has been ported to posix environments. However, a shared python
library is required on these platforms. You can build your onw, or use
the branched version of Python 2.1, named 'pythonx', which is provided
for these purposes.
- JPE is distributed in source form from CVS. Substantial efforts have
been invested to provide a config and build environment that makes it
straightforward to configure, build from source, and test
multi-component, multi-platform software systems. Hopefully, that can be
one step ahead from the current autoconf or distutil systems.
Easily extensible to support arbitrary software components and tools,
libplus currently supports C, C++, Python, Java, and swig wrappers.
Libplus generates configuration-specific makefiles that chain software
component dependencies together, and provides runtime software/tool
configuration information.
Litteratly, this is an 'open-source' project :))
2) New capabilities of JPE, for the 2d release:
- Java bean support: Jbean properties are accessed as regular python
attributes
- Cross-language native array access: JPE integrates the bufarray python
extension type; a layer on top of the python buffer interface that
provides type-safe access to contiguous fixed-length C arrays (actually,
99% of the situations in scientific C or Fortran libraries).
This integration permits to safely access arrays by shared memory
reference between Java, Python, and C; while hidding the native memory
format.
3) Acknowledgements:
Arakné, and The Molecular Graphics Laboratory at The Scripps Research
Institute.
Benevolently yours,
Frédéric Giacometti
fred at arakne.com
More information about the Python-list
mailing list