Spring Python

From Wikipedia, the free encyclopedia

Spring Python
Image:Spring Python logo.png
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