ZODB - a native object database for Python¶
Because ZODB is an object database:
no separate language for database operations
very little impact on your code to make objects persistent
no database mapper that partially hides the database.
Using an object-relational mapping is not like using an object database.
almost no seam between code and database.
Relationships between objects are handled very naturally, supporting complex object graphs without joins.
Check out the Tutorial!
ZODB runs on Python 2.7 or Python 3.4 and above. It also runs on PyPy.
What is the expansion of “ZODB”?¶
The expansion of “ZODB” is the Z Object Database. But, of course, we usually just use “ZODB”.
In the past, it was the Zope Object Database, because it was developed as part of the Zope project. But ZODB doesn’t depend on Zope in any way and is used in many projects that have nothing to do with Zope.
ZODB is distributed through the Python Package Index.
You can install the ZODB using pip command:
$ pip install ZODB
Community and contributing¶
Discussion occurs on the ZODB mailing list. (And for the transaction system on the transaction list)
Bug reporting and feature requests are submitted through github issue trackers for various ZODB components:
persistent documentation and its repository.
transaction documentation and its repository
BTrees documentation and their repository
ZEO (client-server framework) documentation and its repository
relstorage documentation and its repository
zodburi documentation and its repository
NEO documentation and its repository
newt db documentation and its repository
If you’d like to contribute then we’ll gladly accept work on documentation, helping out other developers and users at the mailing list, submitting bugs, creating proposals and writing code.
ZODB is a project managed by the Zope Foundation so you can get write access for contributing directly - check out the foundation’s Zope Developer Information.