PyBackend is a relational database backed object development framework written
in python and released under GNU Library General Public License. It allows
object persistence through a relational database backend. You need not write SQL
queries within your class to store or retrieve object-attributes. If your data
model allows you to think attributes of your objects as columns of certain
tables in your backend database, then PyBackend is for you.
PyBackend provides following functionalities:
* It can store (as well as retrieve) attributes of objects in (from) a
relational database supporting atomic transactions.
* It allows you to map individual classes to corresponding databases. Hence
an application can use multiple databases to populate its objects; all
transparent to the application programmer.
* It stores all information pertaining to the classes, attributes,
databases, database authentication and number of connections per database etc.
in a single text based configuration file.
* It frees the application programmer from the task of creating and managing
database connections. It creates such connections on demand. Maximum number of
database connections for each database can be specified as a configuration option.
* If your class interact with the database in more complex ways, you can
execute your queries directly too. In this case you need not manage any database
connections at all. You will get a handle to the correct database to which your
class is mapped.
* It can ensure atomic transactions even over multiple discrete operations;
like over multiple HTTP/XMLRPC requests. Though not used in normal object
management, this feature can be quite handy when you want to reserve a database
connection exclusively for a particular use, even in a multi threaded application.