Our open source projects

SurrealDB is an open source company, supporting existing open source tools and communities wherever possible. Source code and core components for SurrealDB are variously licensed under a number of different licenses. A copy of each license can be found in each repository on GitHub.

SurrealDB

Rust / BSL-1.0

SurrealDB

A scalable, distributed, real-time, multi-model database, for server-side or client-side applications.

SurrealML

Rust / Apache-2.0

SurrealML

A machine learning library for working with PyTorch, Tensorflow and SKLearn models in Python and Rust.

SurrealKV

Rust / Apache-2.0

SurrealKV

A low-level, versioned, embedded, ACID-compliant, key-value database for Rust, with support for multiple concurrent readers and writers.

EchoDB

Rust / Apache-2.0

EchoDB

An embedded, in-memory, immutable, copy-on-write database engine with serialisable, isolated transactions.

IndxDB

Rust / Apache-2.0

IndxDB

A key-value database engine abstraction layer for IndexedDB in the browser using WebAssembly.

storekey

Rust / Apache-2.0

storekey

A binary encoding serialization format for Serde, which ensures lexicographic sort ordering.

revision

Rust / Apache-2.0

revision

A Rust library for revision-tolerant serialisation and deserialisation, with support for schema evolution over time.

vart

Rust / Apache-2.0

vart

An immutable, copy-on-write, snapshot-based, versioned adaptive radix trie data structure library for Rust.

rixxdb

Golang / Apache-2.0

rixxdb

A versioned, embedded, strongly-consistent, ACID-compliant key-value database engine.

cork

Golang / Apache-2.0

cork

A self-describing, binary data serialisation format for Golang.

bump

Golang / Apache-2.0

bump

An efficient and performant data buffering library for Golang.

ptree

Golang / Apache-2.0

ptree

An immutable, copy-on-write radix tree library with serialisable, isolated transactions.

vtree

Golang / Apache-2.0

vtree

An immutable, versioned, copy-on-write radix tree library with serialisable, isolated transactions.

tlist

Golang / Apache-2.0

tlist

An in-memory time series linked list for storing and retrieving values by time.

blist

Golang / Apache-2.0

blist

An in-memory time series binary tree list for storing and retrieving values by time.

fibre

Golang / Apache-2.0

fibre

A fast HTTP, RPC, and WebSocket server framework for Golang.