Surreal Cloud Beta is now Live!

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.