Monday, April 5, 2010

What is Spring Python?

Spring Python takes the concept of the Spring Framework and applies them to Python. This means that we can take advantage of the features of Spring Framework such as Dependency Injection (Inversion of Control), aspect oriented programming (AOP), remoting, data access, transactions, and security, all with the same non-invasiveness style.

This means that:

  • it will be easier to unit test software components (Python objects with standardized dependency injection)
  • we can move cluttering code outside the object and have cross-cutting functionalities (aspect oriented programming)
  • scalability of business objects by adding remoting
  • transaction (ACID)
  • security (interceptor based which won't allow outside world to touch your application unless they are really authenticated an authorized)
  • you don't have to extends certain class in order to get all those features (non-invasiveness)

The project was started independently by Greg L. Turnquist, which later joined the SpringSource team as Project Lead for Spring Python project. He also authored "Spring Python" book from Packt.

Spring Python is now approaching version 1.1 with its second milestone before release 1.1.0.M2. Current stable release version is 1.0.0.

All about SpringPython can be found on its web site


  1. is it implemented in java?

  2. not really.
    mostly it uses existing python components and frameworks. it brings the concepts, not porting java spring framework code into python.

  3. bisa di-compare apple-to-apple sama django ga ya?

  4. rasanya kalau dengan django bukan apple-to-apple.
    django frameworknya langsung nembak ke or/m dan generation/scaffolding, sementara spring python lebih fokus ke dependency injection/testability component, dan aspect oriented.