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.
I just released Spring Python 0.9.1. One of our users spotted an error in the IoC container involving constructor arguments, and I was able to reproduce the problem, patch it, and get it released quickly to the user community. You can download it right now.
I cannot emphasize enough how valuable community feedback is to the success of this project. If you are having issues, please post an email to the list, or start a thread at the community forum, and we will examine the situation.
Also note, the web site has been updated, which includes a link to API documentation, generated by pydoc.
Release Notes – Spring Python – Version 0.9.1
- [SESPRINGPYTHONPY-86] – XMLConfig doesn’t properly lookup constructor-arg’s, but instead returns ReferenceDef objects
- [SESPRINGPYTHONPY-85] – Add pydoc to website, allowing display of APIs as more documentation
Key Features of Spring Python include:
* Inversion Of Control – wire your application together using a lightweight set of blueprints. You can use several formats including a pure python code-based configuration.
* Aspect-oriented Programming – Spring Python provides great ways to wrap advice around objects, making it easy to write your own aspects. It is also utilized in other parts of Spring Python including security, transactions, and remoting.
* DatabaseTemplate – Reading from the database requires a monotonous cycle of opening cursors, reading rows, and closing cursors, along with proper exception handling. With this template class, all you need is the SQL query and a 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.