Reimagine state management with CRDTs. Make your app collaborative effortlessly.
Find a file
2023-01-16 20:08:43 +08:00
.devcontainer chore: add dev container 2022-11-18 00:48:18 +08:00
.github/workflows chore(ci): install wasm-bindgen 2022-12-09 12:11:01 +08:00
.vscode Bench: report (#49) 2022-12-27 14:18:46 +08:00
crates refactor: fix bench type err 2023-01-16 20:08:43 +08:00
docs docs: add glossary 2022-11-18 21:02:31 +08:00
scripts chore: dev container config 2022-11-18 00:31:11 +08:00
supply-chain chore: update crdt-list dep 2022-10-26 23:35:21 +08:00
.editorconfig feat: rle 2022-07-13 00:47:41 +08:00
.gitignore fix: reduce heap alloc 2022-10-31 19:27:13 +08:00
Cargo.lock refactor: move loro-core to loro-internal 2023-01-16 20:08:43 +08:00
Cargo.toml perf: turn on lto for release mode 2022-12-05 16:34:44 +08:00
deno.jsonc refactor: move loro-core to loro-internal 2023-01-16 20:08:43 +08:00
deno.lock bench(wasm): wasm bench 2022-12-09 10:46:36 +08:00
deny.toml chore: add cargo deny config 2022-07-17 16:33:16 +08:00
README.md fix: interface update 2023-01-16 18:38:55 +08:00
rust-toolchain chore: use stable rust as GAT become stable 2022-11-06 23:18:15 +08:00

Loro 🦜

Loro is a fast CRDT framework with built-in end-to-end encryption ability.

It provides a set of data structures that can automatically sync without any conflict. With end-to-end encryption addon, all data can be encrypted without losing the ability to collaborate with the others. It aims to be the engine for building local-first software.

Why Loro

  • 🚀 It is pretty fast
  • 🔒 [WIP] Security built-in
  • 💻 Syncing data made easy
  • 📜 Preserve all history with low overhead
  • 🪐 [WIP] Time travel the history in milliseconds

Loro supports a variety of data structures and CRDT algorithms.

  • It supports the most used List, Map and Text.
  • [TODO] Peritext for fine-grind rich text operations
  • [TODO] Moveable Tree for directory-like moving operations
  • [WIP] Super fast version checkout and undo/redo

Credits

  • Automerge for its columnar encoding algorithm
  • Yjs for the efficient algorithm of merging blocks
  • Diamond-types for its idea of low-overhead merging algorithm
  • Ink & Switch for Local-first Software and Peritext