The next generation object-relational database. A @MagicStack project.
Switch branches/tags
Nothing to show
Clone or download
elprans Make object collections use reference-by-id, rework item constructors
`ObjectMapping`, `ObjectSet`, and `ObjectList` now store schema item ids
instead of referencing them directly.  `InheiringObject.bases` and
`InheritingObject.mro` are now SchemaFields.

This refactor necessitated a large number of changes to make sure that
schema item ids are stable and visible (i.e. the correct schema is used.)
Most importantly, schema items can no longer be instantiated directly by
calling a constructor.  Instead, a `create_in_schema()` classmethod must
be used.  This is a necessary prerequisite to moving the field data to
the schema object, as schema item classes become almost pure proxies to
Latest commit 751e72f Nov 19, 2018

Build Status


This is a very early technology preview. It is not yet intended to be used for mission-critical applications. Things may not work, or not work as expected. Comments and bug reports are welcome.

What is EdgeDB?

EdgeDB is an open-source object-relational database that helps you write better software with less effort. EdgeDB organizes data as a graph of strongly-typed objects and provides an expressive query language which allows to manipulate complex data hierarchies with ease.

EdgeDB features:

  • strict, strongly typed schema;
  • powerful and expressive query language;
  • built-in support for schema migrations;
  • native GraphQL support;
  • PostgreSQL as the foundation.

What EdgeDB is not

EdgeDB is not a graph database: the data is stored and queried using relational database techniques. Unlike most graph databases, EdgeDB maintains a strict schema.

EdgeDB is not a document database, but inserting and querying hierarchical document-like data is trivial.

EdgeDB is not a traditional object database, despite the classification, it is not an implementation of OOP persistence.

Getting Started

If you are interested in trying EdgeDB, please refer to the Quickstart section of the documentation.


The EdgeDB documentation can be found at


The code in this repository is developed and distributed under the Apache 2.0 license. See LICENSE for details.