Skip to content


doctable diagram

doctable is a Python package for manipulating SQL databases through an object-oriented interface without the overhead of object-relational mapping. It is built on top of the Sqlalchemy core interface, and takes advantage of dataclasses to define database schemas.

doctable also enables the high-performance storage of binary files (think ML models), parse trees, and compressed text files.

Created by Devin J. Cornell.

News update: doctable has a new interface!

The package has been updated with an entirely new API to improve on previous limitations and better match the Sqlalchemy 2.0 interface. Inspired by the attrs project, I used different names for functions and classes to make it clear that the interface has changed and open the possibility for backwards compatibility with upgraded internals in the future.

For now, install version 1.0 when using sqlalchemy <= 1.4 and version 2.0 when using sqlalchemy >= 2.0. See the installation page for more.