skillfed

loro

Python bindings for [Loro](https://loro.dev)

loro v1.13.2 2.5M downloads/30d#3,020 on PyPI28
License unclear Active released

What it is and what it does

Loro is a Python interface to a CRDT library written in Rust, designed for building local-first applications where multiple clients can edit shared data structures without a central server. It exposes rich data types—Text, List, Map, Tree, Movable List, Counter—and handles conflict resolution automatically so concurrent edits merge correctly. The Rust implementation provides performance that would be difficult to achieve in pure Python.

You use Loro by creating a LoroDoc (document), obtaining containers for specific data types, making edits, and subscribing to changes. It's intended for scenarios where you need offline-first collaboration, peer-to-peer sync, or conflict-free merging of concurrent updates across distributed clients.

Use it for:

  • Build offline-first collaborative editors where multiple users edit the same document without a central server.
  • Implement peer-to-peer data synchronization with automatic conflict resolution across network partitions.
  • Create local-first applications that sync state between devices while maintaining consistency.
  • Add real-time collaborative features (shared lists, maps, text) to existing Python applications.
  • Prototype or deploy CRDT-based systems where Rust performance is needed but Python integration is preferred.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Loro provides Python bindings for a CRDT (Conflict-free Replicated Data Type) library implemented in Rust, enabling high-performance collaborative data structures for local-first applications.

Yes, if you need CRDT-backed collaborative data structures in Python and are comfortable with the unclear license status. The package is actively maintained, has no known vulnerabilities, and offers good platform coverage via pre-built wheels. Verify the license terms before production use. Medium install friction is acceptable for most development environments.

Install

loro on PyPI

pip

pip install loro

uv

uv add loro

poetry

poetry add loro

Installing loro

Before you install

Medium install friction due to compiled Rust bindings; wheels are pre-built for common platforms (CPython 3.10–3.11, Linux/macOS/Windows), but development builds require Rust toolchain and maturin. Package is actively maintained with a recent release.

License in practice

License status is unclear—no SPDX identifier or raw license text is declared in package metadata. Verify the actual license before use in proprietary or copyleft-sensitive projects.

Quickstart

pip install loro

from loro import LoroDoc

doc = LoroDoc()
text = doc.get_text("text")
text.insert(0, "Hello, Loro!")
sub = doc.subscribe_root(lambda e: print(e))
doc.commit()

Requires Python 3.8 or later. Development builds require Rust toolchain and maturin; pre-built wheels available for common platforms.

Verify before relying

  • Exact license terms and compliance obligations—metadata shows no SPDX or raw license declaration.
  • Performance characteristics and scalability limits for large documents or high-frequency updates.
  • Stability guarantees and API compatibility policy across minor/patch versions.

Package facts

License not declared (unclear)
Python support supports the current Python release (>=3.8)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 24 days since the last release
Last repo commit
First released
Downloads 2,526,285/month — #3,020 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: loro-1.13.2-cp310-cp310-macosx_10_12_x86_64.whl; loro-1.13.2-cp310-cp310-macosx_11_0_arm64.whl; loro-1.13.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; loro-1.13.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; loro-1.13.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; loro-1.13.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl; loro-1.13.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; loro-1.13.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl; loro-1.13.2-cp310-cp310-musllinux_1_2_aarch64.whl; loro-1.13.2-cp310-cp310-musllinux_1_2_armv7l.whl; loro-1.13.2-cp310-cp310-musllinux_1_2_i686.whl; loro-1.13.2-cp310-cp310-musllinux_1_2_x86_64.whl; loro-1.13.2-cp310-cp310-win32.whl; loro-1.13.2-cp310-cp310-win_amd64.whl; loro-1.13.2-cp311-cp311-macosx_10_12_x86_64.whl; loro-1.13.2-cp311-cp311-macosx_11_0_arm64.whl; loro-1.13.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; loro-1.13.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; loro-1.13.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; loro-1.13.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl

Keywords: local-first, CRDT, loro

Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyProgramming Language :: Rust

Tags

CRDT Python bindingscollaborative data structureslocal-first syncconflict-free replicationreal-time data syncRust CRDT librarydistributed document editing
crdtlocal-firstcollaborative-editing

More Software Development packages