[Chicago] Python/JVM news

Tal Liron tal.liron at threecrickets.com
Thu Feb 25 04:09:35 CET 2010

Hey ChiPy,

As some of you know, I'm much involved in that exciting realm between 
Python and the JVM. Here's news on some things I've been working on that 
might be of interest you. I'd be happy to speak about any of them in 
upcoming meetings, and even happier to enlist your help in these 
open-source efforts.

*1. Jython - embedded progress; ctypes coming!*

I've mostly been working on getting embedded Jython working properly, 
and there's been terrific progress there. An ongoing challenge right now 
is to get it playing nicely with other JVM languages, notably JRuby. 
Everybody involved (Nicholas Reily and Wayne Meissner) is willing to 
make it work, and the future is bright.

In the meantime, you may be happy to know that initial ctypes support 
has been merged into Jython trunk. This will make Jython compatible with 
more Python libraries.

*2. Jygments - a Java port of Pygments*

I'm sure many of you are familiar with Pygments, a widely-used Python 
tool that colors syntax of a many computing languages, and exports to 
many formats. I've been working on a Java port/rewrite, lovingly and 
ridiculously named Jygments. It's been a good exercise in just how 
different the languages are in the real world, despite academic 

In the midst, I've been working with Goerg Brandl, Pygments creator, on 
a common interchange format for language lexers. It's essentially an 
extension of JSON to allow for Python-style regular expressions -- I 
call it REJSON. The format is thus very similar to how Pygments lexers 
are stored now, but is more language-agnostic. The goal is to create a 
repository of lexers that would work with Pygments, Jygments, and 
possibly other future ports.

Jygments is still at an early stage, feature incomplete, but already 
lexes a few languages well. By the way, it performs much better than 


*3. SQLAlchemy dialect for H2*

H2 is one of my favorite database servers. It has about the same 
footprint and performance characteristics as SQLite, but supports more 
features and configurations, offering better scalability. In addition to 
embedded mode, it runs as a standalone server, and even in clustered 
mode. It even contains a great web admin tool.

I've been working on getting SQLAlchemy to support H2, and my prototype 
runs well enough. My primary goal is to support embedded mode, only 
useful for Jython/zxJDBC configurations. But, it may be possible to 
support the standalone server from other Python implementations.


That's it for now!


More information about the Chicago mailing list