Category Archives: news

Spring Python 1.1.0.M1 Released

See for the official announcement.

I chatted with Mark Pollack earlier this week and asked if we wouldn’t mind me taking over. He said no problem, and I was able to get keys later to push releases up to SpringSource’s S3 site.

This release is first milestone in our new 1.1 baseline. More features, improvements, and enhancements will be coming out with the next milestone, as we work towards getting this released.

I’m going to work for SpringSource

Starting January 11th, I’m going to be working for SpringSource. I told my daughter and look what she had to say!



I’m glad she approves.


No, they didn’t hire me to work on Spring Python. That is still in my spare time. Hopefully, I can become sponsor and not have to bug Mark Pollack.


Anyway, my first assignment will involve working on integration between tcServer and some of SpringSource’s management products. I can’t wait!

Welcome Sven Wilhelm!

I wanted to introduce another team member: Sven Wilhelm. We just granted him commit privileges this week. Sven has been using Spring Python as a core piece of his team’s system. He has been doing a bit of work on making Spring Python work with Jython (which I’m VERY interested in!), as well as working on a Spring Python Ldap module. With Sven on the team, we will be able to make these parts available to you as well.

Sven, thanks for joining the Spring Python team!

Welcome Dariusz Suchojad

I want to welcome our newest team member: Dariusz Suchojad. He has coded several patches in the past, including support for SQLServer. You will notice his name in the credits at the top of the reference docs ( I submitted a request today that he be given commit rights to Spring Python’s code base.

He is working on some new Spring Python features as well. Dariusz, thanks for joining Spring Python!

VMware set to buy SpringSource

Rod Johnson posted a blog entry today that is also sweeping the twitterverse, indicating that they “have signed a definitive agreement with VMware, who will acquire SpringSource”. It says that the Spring Framework software will remain as free as ever. That should be the case, and I haven’t seen reason to doubt SpringSource would do anything differently.

Considering SpringSource has been at play using venture capital to grow its business and enter markets, this should definitely be a sign of success. A lot of startup companies get venture capital, but die off through the fact that no bigger company seeks them. This is definitely the opposite. The way I see it, SpringSource has succeeded by getting acquired by a well known company. One thing is keen in the article: both SpringSource and VMware have their eyes on the cloud computing market. And given their successful record, I think they can do pretty well.

I don’t know what VMware thinks about python, but I sure will keep me ears open. This project isn’t slowing down!

UPDATE: Acquisition is complete. Read all about it at

Spring Python makes final 1.0.0 release

Please read the official press release from SpringSource about this historic release of Spring Python. Please visit in order to download a copy. NOTE: Spring Python has now been relocated to the top level, instead of being inside EXT.

  • It’s the first Spring Extension to reach live status and also progress to a stable 1.0.0 final release.
  • The trunk has been updated to allow work on next major release 1.1 to begin. This means we aren’t through, but just getting started.
  • Another branch has been created to support backporting critical fixes into the 1.0 baseline, meaning it will have the same type of strong support as other SpringSource projects.

This demonstrates that Spring Python has a nicely honed development process, committed to providing stable APIs, while also focusing on new and innovative changes. While we have worked hard since the start of this project back in 2006, we still lots of ideas and have plenty more work to do.

I wish to thank Mark Pollack, the current sponsor of Spring Python and code geek that developed Spring .NET, for coming on board quickly, and supporting me in every way possible to get this release wrapped up and pushed out for everyone to use. I also want to thank Russ Miles, former SpringSource consultant, who has supported me for over the past year with encouragement and feedback. I also thank the community for its valuable comments, questions, and suggestions that has helped steer this project in a positive direction.

Key changes used to this release include:


  • [SESPRINGPYTHONPY-96] – When making builds, use “.” as separator between version and tag; support python 2.4/2.5/2.6


  • [SESPRINGPYTHONPY-56] – Assess impact of python’s deprecation of md5 and sha modules to spring python’s security segment

Spring Python 1.0.0 (RC2) is released

What is Spring Python?

For those of you new to this project, Spring Python takes the concepts implemented by the Spring Framework (Java), and applies them to Python. This provides a powerful library of functionality to help you get back to writing the code that makes you money. You can visit Spring Python’s official web page, or skip right to the downloads.

You’re Late!

Yes, we’re a tad late. Okay, we’re really late, but in case you fell off the planet, SpringSource lost a valuable member of its team, Russ Miles, who was also the sponsor for this project. There were other high priority things happening, so considering this is an extension, it took a little longer than usual to get to making a release. Which brings me to my next point. I want to welcome Mark Pollack as the new sponsor for this extension. He is the code geek that developed Spring .NET. I have had the benefit of meeting him at least year’s SpringOne Americas conference and attending his presentation, and we have also corresponded over email and IM.

So what’s in this release?

You can scroll down to see the release notes. There actually isn’t much change in the code. We are trying to freeze things into a stable API. However, one thing not listed was a key problem we had to solve with coily. coily is the command-line tool that let’s you download Spring Python plugins. Coily was having trouble handling data hosted on the S3 servers used to stage these downloads, so I had to fix it. It now offers you the correct name.

When you query this version to see what plugins are available, you should see this:

$ ./coily --list-available-plugins
Coily v1.0.0 - the command-line management tool for Spring Python
Copyright 2006-2008 SpringSource (, All Rights Reserved
Licensed under the Apache License, Version 2.0

Available plugins:
gen-cherrypy-app springpython-plugin-gen-cherrypy-app-1.0.0-RC1.tar.gz 2009-01-22 18:08
gen-cherrypy-app springpython-plugin-gen-cherrypy-app-1.0.0-RC2.tar.gz 2009-06-03 18:23

You may be seeing two copies listed here, but when you try to install, it will grab RC2’s version.

Release Notes

Release Notes – SX Spring Python – Version 1.0.0-RC2



What is coming next?

Well, I have been in contact with a company in Germany that is using Spring Python as a key piece of their software solution. They have even granted me access to view their code base. It is exciting seeing them in action, especially since they are writing some extensions to Spring Python and also experimenting with using it inside Jython.

What does this boil down to? Community feedback is a key ingredient to finding out what features need to be added, modified and improved.  Through IM and email, we have already identified some mods to DatabaseTemplate supporting convention-over-configuration, and have already coded a SimpleRowMapper. If your POPO’s attributes match the column names of a query, you don’t need to create a custom RowMapper. Instead, plug-in this one, and it will link them together, without requiring you to extend any of Spring Python’s classes.

"select name, category from animal",

SimpleRowMapper only needs a class name. It will instantiate one of these classes for each row, and then populates the name and category attributes with the results of the query.

There is also a DictionaryRowMapper, which returns a list of dictionaries, instead of tuples. The key point is that convention-over-configuration has become an accepted way to rapidly write essential code without getting caught up the details, and Spring Python embraces this concept.

There is just one wrinkle to make this work: the API used in RowMapper has a slight change (we added metadata as an optional attribute). Since 1.0 is a frozen API, and we are trying to get to a final release, Sven and I agreed to put this change into Spring Python v1.1, so for now, you can only get it from our source repository. Stay tuned for updates!

Spring Python’s blog site moved to WordPress

I was enjoying running the blog site with b2evolution, but decided to spend the last few days switching over to wordpress. It has been pretty much smooth sailing. I was really happy to find that someone had already ported the theme to wordpress. Basically, the only thing I sacrificed were the user comments. It was just too much effort, and not enough talk threads to manage. I have been digging through plugins, and already have OpenID working. 🙂

SpringSource has acquired G2One, the company behind Grails and Groovy.


I posted this in case you hadn’t heard, SpringSource has acquired the company behind Grails and Groovy.

You may wonder “what has this got to do with Python?” Well, I am always interested in tracking what SpringSource is up to, especially in the realm of dynamic languages. This is good news to me, because it shows SpringSource’s keen interest in this arena, which is also good for Python.

SpringSource acquired G2One