CARVIEW |
Introduction
Spring Python is an offshoot of the Java-based Spring Framework and Spring Security, targeted for Python. Spring provides many useful features, and I wanted those same features available when working with Python.
This used to be a trac site, but since Spring Python became an official Spring Extension, it has been replaced with a maven-generated one. Documentation stored in various trac articles has been migrated to the documentation set found in left-hand side of this page. You can view either HTML or a PDF document.
Key Features
- 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 XMLConfig, PythonConfig/@Object, PyContainerConfig, or SpringJavaConfig, allowing you to read multiple formats.
- 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 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:
- 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.
- Spring Wiki - Wikis are powerful ways to store and manage content, so we created a simple one as a demo!
- Spring Bot - Use Spring Python to build a tiny bot to manage the IRC channel of your open source project.
Downloads
What's Coming?
We are working on creating a fluent DSL for configuring the IoC container. With a refactored core container that already supports four formats, it shouldn't be hard to extend things and offer a useful, succinct alternative. The import thing is that with Spring Python, you don't HAVE to get bogged down with XML.
Spring Python News
Visit Spring Python's blog site for news, postings, and other up-to-the-minute information.