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.

View us on GitHub
Star us on GitHub
SurrealML

Rust / Apache-2.0

SurrealML

A machine learning file format for working with and packaging PyTorch and SKLearn models in Python, using 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 WASM

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