About
What this is
Nabu is personal research infrastructure: one scholar’s local library of ancient-text corpora, built to serve that scholar’s reading and research first, and shared because the approach — local, license-honest, citation native, rebuildable — may be useful to others: the readers it pictures wear one of 25 scholarly hats, the research desks from the Classicist to the Assyriologist, each with its own shelves and recipes. It is a young project: versioned releases begin with v1.0.0 (July 2026), there is no packaged gem or versioned API, and command-line flags may still change between releases; the documentation aims to be more honest than polished.
The name is that of the Mesopotamian god of scribes and writing, divine custodian of the library of Ashurbanipal at Nineveh — a fitting patron for a project whose founding dream included holding the tablets themselves (the ORACC shelf now does).
The project family
Nabu is the eldest of four siblings, each with one job; where a sibling produces something the library can use, Nabu consumes it back as an ordinary optional module — the same ingestion door every external source walks through.
- Nabu — the library itself: the canonical texts, the catalog, the query tools, this site.
- nabu-data (the Data ↗ link above) — the publishing arm: twenty-one datasets as of August 2026, from form-to-lemma tables and orthography folds to metrical scansions, a Tibetan segmentation layer, the cuneiform value-to-sign table, the re-publications (stable anchors for ACTib’s segmented Tibetan canon; the first machine-readable edition of the complete secular Galician-Portuguese lyric), and the whole-catalog corpus layers: per-document historical-stage assignments, normalized datings, gazetteer-ready place references with a Linked Places Format export, the Han character frequency census, compiled cuneiform sign cards with real attestation counts, and the Egyptian hieroglyph spine. Plain CSV with Frictionless Data Package manifests carrying full derivation provenance and measured quality in-band; CC BY 4.0 with stated share-alike carve-outs; archived with a version DOI under concept 10.5281/zenodo.21757475. Three of the datasets feed the library’s own query surfaces back from the published files.
- nabu-lects (the Lects ↗ link above) — the youngest sibling (August 2026, CC BY 4.0, pre-1.0): a curated registry of lects — language varieties as genealogical anchor × historical stage × variety × script × orthography — with a universal mapping from standard language codes onto them. Born from this library’s holdings, universal by construction; Nabu consumes it for the stage ladders, stage-aware search, and reconstruction honesty described on the Languages page.
- nabu-places (the Places ↗ link above) — the third registry sibling (August 2026, CC BY 4.0): a curated registry of place-matching decisions — which gazetteer identity (Pleiades, Trismegistos Geo, CIGS, GeoNames) each source’s verbatim place-name string denotes, with unlocatable and region as first-class answers — plus a native lane for minting evidence-backed place records where scholarship establishes a place no gazetteer registers. Nabu consumes it to turn hundreds of thousands of named-but-unlinked documents into place-queryable ones.
- Edubba (the School ↗ link above) — the scribal school: where Nabu curates the texts, Edubba teaches the scripts, consuming the library’s sign-resolution contract for its reading panels.
Why it exists
Three convictions, stated plainly:
- Scholars should be able to hold their sources. The great digital corpora live on institutional servers with uncertain funding horizons. A local, plain-file copy under version control, with derived databases that can always be regenerated, is the difference between using a service and owning a library.
- Citations are the unit of scholarship. A search result that cannot be cited to a verse, a folio line, or a tablet surface is a curiosity. Everything in Nabu resolves to a stable URN.
- License terms are data. Aggregating more than a hundred sources under a dozen different licenses is workable only if every text’s terms are recorded per document and consulted mechanically — especially once AI tools can quote from the collection.
How it is built
Nabu is a Ruby command-line application (Ruby 3.3+), developed and tested on macOS, with a deliberately small dependency set and no cloud requirements at runtime. Storage is plain files, git, and SQLite — nothing that cannot be restored from a file copy.
The central engineering guarantee is the derivability law: everything
permanent lives in three plain-file folders — the canonical texts (the
universal asset), the project configuration, and the local instance
(the owner’s rulings, annotations, and operational ledger) — and every
database is derived from them: nabu rebuild regenerates the entire
catalog offline, proven byte-identical by test, and a dedicated drill
proves the stronger claim by restoring ONLY those three folders and
re-deriving the rest from scratch. Around that guarantee sit the
retention mechanisms: files an upstream deletes are preserved and remain
searchable, honestly labelled; the run-history ledger rides in the
permanent set and survives rebuild and restore alike; backups are
exercised by the actual restore drill, not assumed; and a standing
verification command re-parses every canonical file against the
catalog’s content hashes.
Development proceeds by a documented agent loop — work packets executed by Claude language models under test-driven ground rules, with owner-reviewed phase gates — described in docs/dev-loop.md. The full test suite (network-blocked, fast) and a linter run in continuous integration on every push; the repository README and this site are refreshed at every gate to reflect what actually works.
What is deliberately out of scope, for now
The original concept includes an enrichment layer — projecting lemmas onto
the ninety percent of the corpus without gold annotation, embeddings and
semantic search, on-demand glossing — that is designed but not built; it
waits on local inference hardware and demand. (Ingestion of one’s own
PDFs and scans, once on this list, shipped in July 2026 as nabu ingest;
what still waits on hardware is text recognition for image-only scans.)
A public read-only query endpoint is a distant possibility for which the
MCP server is the rehearsal: the tool contract that would face outward
runs locally first, against the real corpus, under the same license gates.
The register of candidate capabilities, each argued with the case against,
is
docs/improvements.md.
Licensing
- Code: MIT.
- Data: every ingested text keeps its upstream license, recorded per document; the site’s Sources page carries the full inventory. The data licenses belong to the upstream projects, not to Nabu.
Contributing
The project is early and personal — expect the backlog to be driven by the maintainer’s research needs — but contributions are genuinely welcome: a well-argued source proposal that leads with license evidence, a report of a passage where the library’s text departs from the source, a feature request stated as the scholarly question it would answer, or a small clean adapter patch with real trimmed upstream fixtures. The house rules — TDD, fixture discipline, license honesty, the DCO sign-off — are stated in CONTRIBUTING.md.
Requests go straight to a prepared issue form:
- Request a source — upstream name and URL, the license as far as known (quoted verbatim), which reader or axis it serves, size if known.
- Request a feature — the scholarly task first: what question can you not ask today.
- Report a wrong reading — the URN, what nabu shows, what the source shows, the edition context.
Anything else fits a new issue of any shape.
Cite it: DOI 10.5281/zenodo.21361957 (v1.0.0); see the FAQ for the full citation form.
Contact
Questions, corrections, and conversation are welcome through GitHub issues. The maintainer is Ar Vicco <arvicco@nabu.ac>.