Fork me on GitHub

Wednesday, March 9, 2011

Cormoran development documentation


Cormoran is an Object-Relational Mapper and persistence framework written in Python. Its main goal is to speed application development and data access from database.

Cormoran is an alternative to existing persistence frameworks in Python. They usually slow run applications, especially web applications, where speed is an important point.

Cormoran will be open source and free software released under the GNU GPLv3.


Cormoran is divided into two parts. The first is the persistence framework. The second is the abstraction of various types of persistence mechanisms (databases, files, ...).

The persistence framework has a core class called \emph{Store} that maintains connections to all the persistence mechanisms and performs the process of persistent objects. Store contains \emph{Cache} and \emph{Transaction} systems.

The main persistence system are relational databases using \emph{Structured Query Language}. In the future, other persistence mechanisms will be added (NoSQL, XML, ...).

Here you can see a class diagram of the Cormoran package and the relational databases abstraction.


Here are the phases of the Cormoran development.

Milestone 0.1

Persistence Layer
  • Backbone of the persistence layer (Store).
  • Cache system.
  • Transaction system.
Object-Relational Mapper
  • Relational database abstraction.
  • Structured Query Language compiler.
  • Basic CRUD behavior.
  • SQLite backend.
  • Document Cormoran API using Sphinx.
  • Write a complete Cormoran tutorial.
  • Develop and publish performance tests against other persistence frameworks.
Release 0.1.x series
  • Release 0.1 version.
  • Fix bugs.

To see the complete document in PDF format, follow the link (mirror).

No comments:

Post a Comment