Spring Python
From Wikipedia, the free encyclopedia
Spring Python | |
---|---|
Latest release | 0.5.0 / May 30, 2008 |
OS | Cross-platform |
Genre | Programming framework |
License | Apache License |
Website | https://springpython.webfactional.com |
Spring Python is an offshoot of the Java-based Spring Framework and Acegi Security Framework, targeted for Python. Spring provides many useful features, and the goal was to make the same features available when using Python.
[edit] Current Features
The following features have been implemented.
- 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.
- DatabaseTransactions - 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.
- InversionOfControl - 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.
- AspectOrientedProgramming - Spring Python provides great ways to wrap advice around objects. It is utilized for remoting. Another use is for debug tracers and performance tracing.
- DistributedRemoting - 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.
- ApplicationSecurity - Plugin security interceptors to lock down access to your methods, utilizing both authentication and domain authorization.
- Sample applications:
- 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.
- SpringWiki - Wikis are powerful ways to store and manage content, so we created a simple one as a demo!
[edit] External links
- Spring Python web site - includes information about releases, downloads, and documentation.