Spring Python 0.9.0 is released

Posted by: Greg Turnquist on 12/01/2008

Spring Python is not a web framework, but instead a library of tools that can empower any python application, whether web-based, desktop, or server side utility. For more details, read the list of features below and visit the website at http://springpython.webfactional.com.

Spring Python has just released 0.9.0. This release includes a key update to springpython.security.web module, where authorization has been patched to support CherryPy 3.1. Sylvain helped by providing key patches to integrate Spring Wiki with CherryPy 3.1, and I adapted these to support the PetClinic app. This valuable feature will help demonstrate all the various features of Spring Python during the "Introduction to Spring Python" demo scheduled later this week during the SpringOne conference.
===============================
Release Notes - Spring Python - Version 0.9

Bug

Task

===============================
Links:

* For more information, please visit the website at http://springpython.webfactional.com.

* To download the 0.9.0 release, or an archived release, and for access to sample applications use http://www.springsource.com/download/community?project=Spring%20Extensions

Key Features of Spring Python include:

* Inversion Of Control - The idea is to decouple two classes at the interface level. This lets you build many reusable parts in your software, and your whole application becomes more pluggable. You can use either the XmlApplicationContext or the DecoratorBasedApplicationContext.

* Aspect-oriented Programming - Spring Python provides great ways to wrap advice around objects. It is utilized for remoting. Another use is for debug tracers and performance tracing.

* DatabaseTemplate - Reading from the database requires a monotonous cycle of opening cursors, reading rows, and closing cursors, along with exception handlers. With this template class, all you need is the SQL query and row-handling function. Spring Python does the rest.

* Database Transactions - Wrapping multiple database calls with transactions can make your code hard to read. This module provides multiple ways to define transactions without making things complicated.

* Security - Plugin security interceptors to lock down access to your methods, utilizing both authentication and domain authorization.

* Remoting - It is easy to convert your local application into a distributed one. If you have already built your client and server pieces using the IoC container, then going from local to distributed is just a configuration change.

* Samples - to help demonstrate various features of Spring Python, some sample applications have been created:
o PetClinic - Everybody's favorite Spring sample application has been rebuilt from the ground up using various web containers including: CherryPy. Go check it out for an example of how to use this framework.
o Spring Wiki - Wikis are powerful ways to store and manage content, so we created a simple one as a demo!
o Spring Bot - Use Spring Python to build a tiny bot to manage the IRC channel of your open source project.


be the first to rate this blog


About Greg Turnquist

Greg has worked for 11 years as a software engineer at Harris Corporation, always seeking the right tool for the job. Since 2002, Greg has been part of the senior software team working on Harris' $3.5 billion FAA telco program, architecting mission critical enterprise apps while managing a software team. He provides after hours support and 2nd level engineering and is no stranger to midnight failures and software triage.

Being a test-bitten script junky, Greg has used JUnit, TestNG, JMock, FEST, PyUnit, and pMock testing frameworks, along with other agile practices to produce top quality code.

He has worked with Java/Spring/Acegi Security/@AspectJ/Jython technologies, UNIX/Linux/Solaris platforms, and python/jython/bash/csh/expect scripting. Being a wiki evangelist, he also deployed a LAMP-based wiki web site to provide finger tip knowledge to users.

In 2006, Greg created the Spring Python project. The Spring Framework provided many useful features, and he wanted those same features available when working with Python.

Greg completed a master's degree in Computer Engineering at Auburn University in 1997, and lives in Melbourne, FL with his family.