orbitinghail/graft

Graft is an open-source transactional storage engine optimized for lazy, partial, and strongly consistent replication—perfect for edge, offline-first, and distributed applications.

Rust

1,552

1,188 commits

updated Oct 9, 2026

See the code

README

Graft

Build Status   docs.rs   crates.io   graft.rs   Tested with Antithesis

Graft is an open-source transactional storage engine designed for efficient data synchronization at the edge. It supports lazy, partial replication with strong consistency, ensuring applications replicate only the data they need.

Core Benefits:

  • Lazy Replication: Clients sync data on demand, saving network and compute.
  • Partial Replication: Minimize bandwidth by syncing only required data.
  • Edge Optimization: Lightweight client designed for edge, mobile, and embedded environments.
  • Strong Consistency: Serializable Snapshot Isolation ensures correct, consistent data views.
  • Transactional Object Storage: Graft turns object storage into a transactional system—supporting consistent updates to subsets of data at page granularity, without imposing any data format or schema.
  • Instant Read Replicas: Decoupled metadata and data allow replicas to spin up immediately—no replay, no waiting for full recovery.

Use Cases:

  • Offline-first and mobile applications
  • Cross-platform synchronization
  • Stateless replicas for serverless or embedded environments
  • Diverse data replication scenarios
  • Storage and replication for databases

Learn more:

Using Graft

Graft should be considered Alpha quality software. Thus, please contact @carlsverre before using it in production. The easiest way to contact @carlsverre is via Discord on the orbitinghail server.

SQLite extension

The easiest way to use Graft is via the Graft SQLite extension. Please see the documentation for instructions on how to download and use it with SQLite.

Rust Crate

Graft can be embedded in your Rust application directly, although for now that is left as an exercise for the reader. You can find the Rust docs here: https://docs.rs/graft

Other languages?

You can use the Graft SQLite extension from any language that has a native SQLite library. Please see the documentation for details.

If you'd like to access the Graft low-level Volume API from a language other than Rust, please file an issue!

Technical Overview

For an overview of how Graft works, visit https://graft.rs/docs/internals.

Contributing

Thank you for your interest in contributing your time and expertise to the project. Please read our contribution guide to learn more about the process.

License

Licensed under either of

at your option.

database
edge
replication
sqlite
storage
storage-engine

orbitinghail/graft

Graft is an open-source transactional storage engine optimized for lazy, partial, and strongly consistent replication—perfect for edge, offline-first, and distributed applications.

Rust

1,552

1,188 commits

updated Oct 9, 2026

See the code

README

Graft

Build Status   docs.rs   crates.io   graft.rs   Tested with Antithesis

Graft is an open-source transactional storage engine designed for efficient data synchronization at the edge. It supports lazy, partial replication with strong consistency, ensuring applications replicate only the data they need.

Core Benefits:

  • Lazy Replication: Clients sync data on demand, saving network and compute.
  • Partial Replication: Minimize bandwidth by syncing only required data.
  • Edge Optimization: Lightweight client designed for edge, mobile, and embedded environments.
  • Strong Consistency: Serializable Snapshot Isolation ensures correct, consistent data views.
  • Transactional Object Storage: Graft turns object storage into a transactional system—supporting consistent updates to subsets of data at page granularity, without imposing any data format or schema.
  • Instant Read Replicas: Decoupled metadata and data allow replicas to spin up immediately—no replay, no waiting for full recovery.

Use Cases:

  • Offline-first and mobile applications
  • Cross-platform synchronization
  • Stateless replicas for serverless or embedded environments
  • Diverse data replication scenarios
  • Storage and replication for databases

Learn more:

Using Graft

Graft should be considered Alpha quality software. Thus, please contact @carlsverre before using it in production. The easiest way to contact @carlsverre is via Discord on the orbitinghail server.

SQLite extension

The easiest way to use Graft is via the Graft SQLite extension. Please see the documentation for instructions on how to download and use it with SQLite.

Rust Crate

Graft can be embedded in your Rust application directly, although for now that is left as an exercise for the reader. You can find the Rust docs here: https://docs.rs/graft

Other languages?

You can use the Graft SQLite extension from any language that has a native SQLite library. Please see the documentation for details.

If you'd like to access the Graft low-level Volume API from a language other than Rust, please file an issue!

Technical Overview

For an overview of how Graft works, visit https://graft.rs/docs/internals.

Contributing

Thank you for your interest in contributing your time and expertise to the project. Please read our contribution guide to learn more about the process.

License

Licensed under either of

at your option.

database
edge
replication
sqlite
storage
storage-engine

Project health

crates.io

Latest release

0.2.1 · Dec 4, 2025

Releases this year

2

Significant stargazers

(top 24 of 61)

Simon Willison

17,254 followers · starred Apr 2025

David Calavera

609 followers · starred Mar 2025

Yurii Rashkovskii

823 followers · starred Mar 2025

André Arko

1,223 followers · starred Apr 2025