[Chicago] Python/JVM news
tal.liron at threecrickets.com
Thu Feb 25 04:09:35 CET 2010
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
*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