Spring Python 0.8.0 has been released/Spring Python goes green
gregturn at mindspring.com
Thu Nov 6 19:04:05 CET 2008
Spring Python, the python version of the Spring Framework, has just
released version 0.8.0. This release contains a refactored IoC
container supporting four formats (XMLConfig, PythonConfig/@Object,
PyContainerConfig, and SpringJavaConfig); replacement of the term
"component" with "object" in all APIs, classnames, etc.; and other bug
fixes and API cleanup.
This release also includes a new, spring-green web page you can see at
A key requirement to using this version of Spring Python is
installation of Amara XML parsing libraries (https://
springpython-release-0.8.0/dependencies) used by Spring Python. You
can either follow this link, and download a binary copy of these
libraries, or type:
This should install amara 1.2.
Due to the changes both in IoC container configuration as well as
terminology, it is highly recommended you read the updated
documentation, especially http://springpython.webfactional.com/reference/html/objects.html.
Release Notes - Spring Python - Version 0.8
* [SESPRINGPYTHONPY-72] - PetClinic broke in distributed mode.
* [SESPRINGPYTHONPY-77] - Intercepted methods cannot handle having
arguments that are also intercepted
* [SESPRINGPYTHONPY-55] - Include redistributable 3rd party components
as part of distribution
* [SESPRINGPYTHONPY-59] - Integrate Spring Python publishing with
* [SESPRINGPYTHONPY-71] - SP uses RowCallbackHandler like RowMapper
** New Feature
* [SESPRINGPYTHONPY-66] - Add support for nested component definitions
in XML application configuration
* [SESPRINGPYTHONPY-67] - Add support for constructor-arg dependency
* [SESPRINGPYTHONPY-68] - Refactor core container
* For more information, please visit the website at
* Framework download at http://s3browse.com/getObject/dist.s...RELEASE.tar.gz
* Sample applications at http://s3browse.com/getObject/dist.s...RELEASE.tar.gz
* For general browsing of Spring Python releases, visit
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
* 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
* 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
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.
More information about the Python-list