Skip to main content

Access Bibles using versiref

Project description

VersiRef Bible

VersiRef is a Python package for sophisticated parsing, manipulation, and printing of references to the Bible.

versiref-bible provides access to Bibles in an SQLite-based format: ranges of verses can be retrieved by reference, and verse text can be searched with SQLite FTS5. VersiRef parses the references and handles versification.

The command-line interface is designed for use by an LLM: output is compact plain text, one verse per line as reference⇥text (TAB-separated).

Documentation

Installation

uv sync

This installs the versiref-bible command into the project environment (run it with uv run versiref-bible …).

Commands

build — create a database from a text file

Reads a CCAT-format .cat file where each line is Abbrev C:V text (the abbreviation is a BibleWorks-style book name) and writes an SQLite database. Each verse is stored as one row, keyed by an integer verse key computed under the chosen versification, plus an FTS5 index over the verse text. CCAT footnotes/formatting are kept as plain text for now.

uv run versiref-bible build BIBLE.cat -o BIBLE.db --versification eng --title "My Bible"

Options:

  • -v, --versification (required) — named versification of the Bible (eng, lxx, cei, …).
  • -o, --output (required) — output database path.
  • --title — human-readable title stored in the database.
  • --book-style — reference style whose names map the file's abbreviations (default en-bibleworks).
  • --encoding — input text encoding (e.g., cp1252; default utf-8).

Lines whose book abbreviation is unrecognized (e.g. the Sirach prologue Sip), or whose book is absent from the chosen versification, are skipped with a warning on stderr.

The show, search, and info commands take a database either as a path to a .db file or as a bare name looked up on a search path. The search path comes from VERSIREF_BIBLE_PATH (os.pathsep-separated, like PATH); when unset, a per-user data directory is searched (e.g. ~/Library/Application Support/versiref-bible on macOS, ~/.local/share/versiref-bible on Linux). Drop your .db files there and refer to them by name from any directory. See Querying Databases for details.

show — print the verses of a reference

uv run versiref-bible show kjv "John 3:16-18"     # by name, or a path: kjv.db
  • --style — reference style for parsing the input and labelling output (default en-sbl).
  • --from-versification — interpret the reference in this versification and map it to the database's versification.

The reference is parsed in the style you choose, so use that style's conventions (e.g. --style it-cei expects Gen 1,1-3, not Gen 1:1-3).

search — full-text search verse text

uv run versiref-bible search BIBLE.db "living water" --limit 10

QUERY uses SQLite FTS5 syntax (e.g. light, "living water", love AND world). Results are in canonical verse order by default.

  • -n, --limit — maximum verses to return (default 20).
  • --in — restrict the search to a reference (e.g. --in "Gen 1", --in "John").
  • --ordercanonical (default, verse order) or relevance (bm25 ranking).
  • --style — reference style for labelling output and parsing --in (default en-sbl).

info — show database metadata

uv run versiref-bible info BIBLE.db

Prints the stored metadata (title, versification, source, build time, …) and the verse count.

list — list available Bibles

uv run versiref-bible list

Lists the databases found on the search path, one per line as name⇥versification⇥verses⇥title. The first column is the name you can pass to show, search, and info.

Development

uv run pytest        # tests
uv run ruff check    # lint
uv run mypy src      # type-check

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

versiref_bible-0.1.1.tar.gz (12.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

versiref_bible-0.1.1-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file versiref_bible-0.1.1.tar.gz.

File metadata

  • Download URL: versiref_bible-0.1.1.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for versiref_bible-0.1.1.tar.gz
Algorithm Hash digest
SHA256 a33ad3d1b55d0f34c1962db97e5061710495d9ed61f5516c34614f6cb3bbbc04
MD5 7d2b2c65d746b9951bd111bdab5c61cc
BLAKE2b-256 490bfb1a03431f220e97cbbb76690587955c00615464fbf480f80fd77e0a6a40

See more details on using hashes here.

File details

Details for the file versiref_bible-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: versiref_bible-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 16.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for versiref_bible-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fae227b802403a19cf231a4a9c1a301a8263f408be50ea04de112c3f8e101e12
MD5 cd0e036e86d599eb237a7da4382581f7
BLAKE2b-256 b37577c0bb689fc7d52248421c5851cbca159d775d06142286f0457cacca57be

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page