[ANN] JPE 2.0 The Java-Python Extension
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@arakne.com
participants (1)
-
Frederic Giacometti