Metakit is an embedded database library with a small footprint. It fills the gap between flat-file, relational, object-oriented, and tree-structured databases, supporting relational joins, serialization, nested structures, and instant schema evolution. Interfaces for C++ (native), Python and Tcl are the most used.
The database is used in several commercial products (most notable being probably Address Book in Mac OS X) and in several open source and in-house projects (typically using Python or TCL interface). Derived project Starkit (virtual file system for TCL), written also by Wippler, reached popularity among TCL programmers.
Mail-list of Metakit has around 200 subscribers and is regularly visited by Wippler. Other developers had contributed to the project with bugfixes and suggestions.
Practical limit to database size is around 1GB (even on 64-bit platforms). Multithreaded and multiuser access requires manual support from the programmer and is discouraged (in C++, TCL and Python use automatically one global lock). Combinations of more advanced features are often not tested and may fail. It is possible to obtain somewhat better performance than with other databases (published benchmarks include SQLite and Berkeley DB) but it requires lot of testing and lot of knowledge of Metakit internals. Metakit's API is low level, compared to SQL.
The biggest weakness of Metakit is its rather spotty and sometimes obsolete documentation. Full understanding of its API and performance tuning requires deep study of library's source code. Metakits terminology has many differences to standard database terminology. The API and file format has changed several times over time.
Metakit is tested on Windows, Unix and Mac OS X.