Skip to main content

Literium (Rust core)

Version control for literary texts, where the atom of change is the sentence (prose) or the line (poetry) — not the line of code.

Rust core of the Literium specification (SPEC.md in the Literium spec repository, published separately). The completed Perl v0 implementation (literium-perl, a sibling repository) is the conformance oracle: the differential tests in literium/tests/oracle.rs assert both implementations derive byte-identical objects from the same input.

Status

Full v0 port, feature-equivalent with literium-perl: the pure-functions core (SPEC §3–§6), the storage layer (theca behind the ObjectStore trait, version objects, histories), the revision engine (grex ranges, revision detection, splice, classification, the §7.4 diff, the §9.6 combining merge, verbatim atom spans), and the complete lit CLI (conscribe / inscribe / status / exscribe / contexe / conflicts / tabula / experiment / show / diff / stemma / gc / fsck, register aliases, elevation). The ObjectStore trait is the seam where syntheca cellae attach at the litorium/v2 remoting layer.

Install

The lit command-line tool ships from two registries, both built from this repository:

cargo install literium      # crates.io: the literium crate's lit binary
pip install literium        # PyPI: the same binary as a platform wheel

The PyPI distribution is the CLI only (pyproject.toml, maturin bin bindings); it carries no Python module. Library consumers use the literium and literium-core crates directly.

Workspace layout

A two-crate Cargo workspace:

  • literium-core/ — the identity layer (extraction, segmentation, derivation; SPEC §3–§6) as a standalone, I/O-free crate carrying the Unicode pin. Non-VCS consumers (citanda, litorium, litodex) depend on this crate alone; it also builds for wasm32-unknown-unknown.
  • literium/ — storage, versions, histories, and the lit CLI; depends on literium-core and re-exports it, so literium::extract / literium::segment / literium::derive remain valid paths.

Conformance is enforced two ways: unit suites ported from the Perl t/ tests, and differential oracle tests (literium/tests/oracle.rs, literium/tests/cli_oracle.rs) that drive both implementations over the same inputs and assert byte-identical derivations, transcripts, and .lit/ trees (timestamps masked).

Segmentation pin

SPEC §4 pins segmentation to Unicode 16.0.0. literium-core carries its UAX-29 sentence-boundary property tables via unicode-segmentation = "=1.12.0" (whose data is exactly 16.0.0); the exact-version pin is load-bearing — bumping it changes every atom hash and is a segmentation-version migration, not a routine upgrade. The pin's equivalence with Perl \b{sb} at UCD 16.0.0 was verified against the UCD SentenceBreakTest file (512/512) and differentially over literary corpus, adversarial, and fuzz inputs (zero divergences).

Tests

cargo test

The oracle tests skip with a note when the sibling literium-perl checkout or a perl with UCD 16.0.0 is unavailable.

License

Dual-licensed under MIT or Apache-2.0, at your option.

Metadata

Release files for literium 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for literium 0.1.0
File Size Uploaded
literium-0.1.0.tar.gz 150.8 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for literium 0.1.0
File
literium-0.1.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
literium-0.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
literium-0.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
literium-0.1.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
literium-0.1.0-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details

Total release size: 12.0 MB

Release files / literium-0.1.0.tar.gz

Download URL literium-0.1.0.tar.gz
Size 150.8 kB
Tags Source
SHA-256 checksum
How to use checksums
f2530f45534bf0b4b2087ee7241f0a0319408170c1c9d2f0d647b959d1e1011e
BLAKE2b-256 checksum
How to use checksums
280da9fd467d6534e00620062f73f630726cbfc4d0b6a4d1b1d8eb0287352895
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / literium-0.1.0-py3-none-win_amd64.whl

Download URL literium-0.1.0-py3-none-win_amd64.whl
Size 2.4 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
439d235ee2ebe5610bf43b1161c243bf6113ab820d4791e36806ef31f8be1ae2
BLAKE2b-256 checksum
How to use checksums
e79bec430ab6d1d26c7568f155b7254bcf900bf902da62eefcc9f42440725070
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / literium-0.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL literium-0.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.5 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
9cd5dd3d006768b155fcf2b63f72cb627cd7b729a2b5fab7f3da608e53f7c4f4
BLAKE2b-256 checksum
How to use checksums
d03a86ae3f8b2f54e45552f2e13746ad74ce7094e42096561a00046aa156bc90
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / literium-0.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL literium-0.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 2.4 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
cbbf4ca1274b1fce50aece93fb346f973443b310766a6887f917e18f1406252c
BLAKE2b-256 checksum
How to use checksums
746bebdde64f4ccc765793231b116053542ccb55a93d70302f95d1ccfe386754
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / literium-0.1.0-py3-none-macosx_11_0_arm64.whl

Download URL literium-0.1.0-py3-none-macosx_11_0_arm64.whl
Size 2.3 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
4e9d0e259a4380e44ffd78b717e10c27246e5976a64c5ad12aee350f3f27d4b7
BLAKE2b-256 checksum
How to use checksums
704e15a0fd3c69d1c30f3aa8b522301824a647aea422859e9f34d0c6cc7d3e90
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / literium-0.1.0-py3-none-macosx_10_12_x86_64.whl

Download URL literium-0.1.0-py3-none-macosx_10_12_x86_64.whl
Size 2.4 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
ff2f45ce5b6a22c69a279c7d1bd67e188f599985c33273749f3d03c2636a5318
BLAKE2b-256 checksum
How to use checksums
189108c224072580d7adb67d0a190ddd2b54031767fae1f022cb3c5ffbfd1800
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

6 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page