Friday, January 21, 2011

Jython 2.5.2 Released!

Jython 2.5.2 has been released, get it while it's hot!

This release includes a whole lot of bug fixes but also some new features, such as:
  • Performance improvements, particularly around method invocation
  • The socket module now includes ipv6 and Internationalized Domain Names (RFC 3490) support
  • Improved startup time
Jython 2.5.2 now runs the richards benchmark 3x faster than Jython 2.5.1. It's also about 20% faster than 2.5.1 at running pybench.

Admittedly richards and pystone aren't the greatest Python benchmarking suites out there, but they're what we've historically kept close eyes on. We're aiming to monitor more, better benchmarks (i.e. those @ ) in the future.

Friday, May 28, 2010

Pylons 1.0 Released

Pylons 1.0 has been released!

It includes some cleanups to the APIs, of course bug fixes, and finally the removal of legacy compatibility code. The latter significantly reduced the Pylons codebase size, which is always a good thing.

There's also a 0.10 release to mostly ease the transition to the 1.0 changes. That's recommended for existing (especially larger) applications.

Monday, April 19, 2010

SQLAlchemy 0.6 Released With Jython Support

The new SQLAlchemy 0.6 is out with official support for Jython and Python 3, among various other features.

SQLAlchemy on Jython uses JDBC drivers via Jython's builtin zxJDBC DBAPI interface. It currently supports PostgreSQL, MySQL, Oracle and also MS SQL Server via jTDS.

Those are all well proven JDBC drivers, and they can be even easier to install than CPython C extension drivers. Just add their jar file to your CLASSPATH (or sys.path) and go, no compiling needed.

Friday, March 20, 2009

Django vs Pylons: Pylons fails to deliver a pony?

Last year the Django community adopted the Django Pony as their unofficial mascot. Since then, I keep hearing a complaint about Pylons: that it lacks a pony.

I have an important message: this is a falsehood, most likely orchestrated by the Django marketing machine.

Pylons *DOES NOT* lack a pony -- Pylons (actually Paste) has included a pony (paste.pony) out of the box for 3 years, since the Pylons 0.8.1 release. Here's Ben Bangert demoing said pony at a Google tech talk over 2 years ago.

Typical Django and their NIH attitude -- instead of checking if Ian Bicking did it first, they just went off and made their own pony. That's fine though, we don't mind the Django pony. However the lies about Pylons must stop immediately. I demand a retraction and an apology from the Django camp.

Pylons and TurboGears 2 has a significant presence at PyCon if you'd like to apologize in person.

Tuesday, March 10, 2009

Deploying Pylons Apps to Java Servlet Containers

As of the 0.9.7 release, Pylons now supports Jython 2.5. The new snakefight tool can create a WAR file from a Pylons app via its bdist_war distutils command.

Using bdist_war is simple: just follow these instructions on the Pylons official docs: Pylons on Jython.

The WAR file contains everything you'll need: the Jython runtime and all the eggs your app requires. For Paste style apps, it can automatically generate a deployment descriptor (web.xml) to load the application via modjy (which is now included with Jython as of the beta2 release).

This makes deployment to a J2EE App server incredibly easy, even easier than deploying your app behind Apache or the like.

I'll be giving a talk on Pylons on Jython at PyCon '09 in a couple weeks. 

Monday, February 23, 2009

Pylons 0.9.7 released

After a lengthy release cycle (5 betas, 6 release candidates) the new Pylons 0.9.7 release is finished!

This release is huge:

o Optional SQLAlchemy and Genshi or Jinja2 integration for new projects, out of the box
o Support for Jython 2.5 (and support for Google App Engine with appengine-monkey, and even some success on PyPy)
o New extensive documentation, as well as the Pylons book (which is also available online)
o Now uses the awesome WebOb library
o New PylonsHQ website, powered by CouchDB

and a whole slew of new features and fixes. See the official release announcement for more details.