Welcome to JyNI v2.7-alpha.4!
Among plenty bugfixes, the most notable new feature is support for NumPy (>= 1.12). Not everything is working already, but it is possible to
import numpy, create nd-arrays, apply arithmetics to them, do eigenvalue decompositions and things alike. We still observe issues with subclassing nd-array and also the lack of buffer protocol support locks out various features.
For details and examples, follow the discussion at #2.
Another important new milestone in this release is support for new-style classes.
In combination with improved ctypes support this allows to use PyOpenGL in Jython. We still observe issues on OSX, but most test-demos work on Linux. Note that on first run Jython will prompt you to create some .pyc-files using CPython. This is Jython's current way to handle Python functions that exceed JVM size limits; PyOpenGL contains several of them.
Extensions generated via Cython are mostly workable (e.g. mtrand from NumPy). However, cythonizing pyx-files is not yet feasible with Jython, but can be done with CPython to build native libraries initially. Once the .so files are compiled, make sure Jython has them in its
sys.path, then JyNI can load them into the JVM.
For a more detailed write-up of some usability demos and implementation techniques, especially regarding garbage collection and weak references, see the publication
It features a NumPy example and also shows how to embed Python calls seamlessly into Java code (Tkinter demo).
Some improvements to Jython were triggered by work on this JyNI release. Most notably, it is now possible to control how platform detection values
sys.platform are presented to specific extensions.
Improving support for oversized functions like mentioned above was also motivated partly with native extensions in mind.
JyNI v2.7-alpha.4 requires Jython 2.7.1.
JyNI v2.7-alpha.4 was tested with Java 7 and 8 on
Binaries are provided for Linux (32 bit and 64 bit) and OS-X.
Thanks go to
- All Jython developers for constantly improving Jython and making Jython 2.7.1 possible
- Jim Baker, Frank Wierzbicki and Darjus Loktevic for making the JyNI GSoC 2017 project possible
- Malte Darnstädt for testing on OS-X and providing JyNI release binaries for OS-X
- Lothar Kunz for help on NumPy support (#6, #7, #8, #9)
- Christian Weilbach for helpful discussion and testing of NumPy support (#2)