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 forwasm32-unknown-unknown.literium/— storage, versions, histories, and thelitCLI; depends onliterium-coreand re-exports it, soliterium::extract/literium::segment/literium::deriveremain 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)
| File | Size | Uploaded | |
|---|---|---|---|
| literium-0.1.0.tar.gz | 150.8 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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