Spring Python

Spring Python takes the concepts implemented by the Java-based Spring Framework, and applies them to Python.
Current Features
The following features have been implemented.
* Inversion Of Control - This allows you to define the blue prints needed to wire your classes together. This can be done using pure python with decorators, and also with XML configuration for those more familiar with Spring Java.
* 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.
* Data Access - 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.
* Transaction Management - Wrapping multiple database calls with transactions can make your code hard to read. This module provides multiple ways to more readily manage wrapping business logic with transactions.
* 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.
* Plug-ins/command-line tool - Use the plugin system designed to help you rapidly develop applications.
* Sample applications:
** [http://springpython.webfactional.com/reference/html/samples.html#samples-petclinic PetClinic] - PetClinic is a sample application provided by the Spring Framework. Spring Python re-implements this same application from the ground up using CherryPy as the web container along with Spring Python's IoC container, database templates, and application security.
** [http://springpython.webfactional.com/reference/html/samples.html#samples-springwiki Spring Wiki] - Wikis are powerful ways to store and manage content, so we created a simple one as a demo!
** [http://springpython.webfactional.com/reference/html/samples.html#samples-springbot Spring Bot] - You can write an IRC bot to manage a channel for your open source project.
 
< Prev   Next >