Skip to main content

Utilities for working with metadata for Bible books, references, pericopes, and other units.

Project description

Biblelib

Release Build status codecov Commit activity Docs Code style with black Imports with isort License

Utilities for working with Bible books, references, pericopes, and other units. Note this does not include any actual Bible texts.

Installation

$ pip install biblelib

Usage

Book metadata

from biblelib.book import Books

books = Books()
books["MRK"]           # <Book: MRK>
books["MRK"].name      # 'Mark'
books["MRK"].osisID    # 'Mark'
books.fromosis("Matt").name      # 'Matthew'
books.frombiblia("Mk").usfmname  # 'MRK'
books.findbook("Ge")             # <Book: GEN>  (searches all schemes)

Rendering Bible references

BCVID (book-chapter-verse) and BCVIDRange are the primary reference types. Several rendering methods are available:

from biblelib.word import BCVID, BCVIDRange

ref = BCVID("41004003")      # Mark 4:3
ref.to_usfm()                # 'MRK 4:3'
ref.to_nameref()             # 'Mark 4:3'    (full English name)
ref.to_abbrevref()           # 'Mk 4:3'      (biblia abbreviation)
ref.to_osisID()              # 'Mark 4:3'
ref.to_biblia()              # 'Mk 4:3'

rng = BCVIDRange(BCVID("41004003"), BCVID("41004008"))
rng.to_nameref()             # 'Mark 4:3-4:8'
rng.to_abbrevref()           # 'Mk 4:3-4:8'

Localized rendering

to_nameref() and to_abbrevref() accept an optional lang parameter using ISO 639-3 three-letter codes. The following languages are currently bundled:

Code Language Source translation
arb Arabic Van Dyck Bible (Smith-Van Dyck, 1865)
fra French Bible en français courant / Louis Segond
hin Hindi Bible Society of India Hindi Old Version (Re-edited)
ind Indonesian Terjemahan Baru (LAI, 1974/rev.)
por Portuguese Almeida Revista e Corrigida
rus Russian Synodal Translation (Синодальный перевод, 1876)
spa Spanish Reina-Valera / NVI
swh Swahili Swahili Union Version (Toleo la Umoja)
zhs Chinese (Simplified) Chinese Union Version Simplified (和合本简体)
zht Chinese (Traditional) Chinese Union Version Traditional (和合本)

Note: Non-English book names and abbreviations were AI-generated from the named source translations and should be verified by native-language speakers before production use, particularly for deuterocanonical and extended-canon entries.

from biblelib.word import BCVID, BCVIDRange

ref = BCVID("01001001")
ref.to_nameref(lang="fra")    # 'Genèse 1.1'
ref.to_abbrevref(lang="fra")  # 'Gn 1.1'
ref.to_nameref(lang="zht")    # '創世記 1:1'
ref.to_abbrevref(lang="rus")  # 'Быт 1:1'

rng = BCVIDRange(BCVID("41004003"), BCVID("41004008"))
rng.to_nameref(lang="fra")    # 'Marc 4.3-4.8'
rng.to_abbrevref(lang="fra")  # 'Mc 4.3-4.8'

Note that the chapter-verse separator is language-specific (English and most languages use :, French uses .).

You can also work with LocalizedBooks directly:

from biblelib.book import get_localized_books

fra = get_localized_books("fra")
fra.get_name("GEN")    # 'Genèse'
fra.get_abbrev("GEN")  # 'Gn'
fra.cv_sep             # '.'

Adding a language

Create biblelib/book/books_<lang>.tsv (e.g. books_spa.tsv for Spanish) with three tab-separated columns and optional metadata comments:

# cv_sep: .
usfmname	name	abbrev
GEN	Génesis	Gn
EXO	Éxodo	Éx
...

Supported metadata comments:

Key Description Default
cv_sep Chapter-verse separator character :

No code changes are required. The new language is available immediately via lang="spa" (or whatever code you used).

Acknowledgements

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

biblelib-0.5.4.tar.gz (520.3 kB view details)

Uploaded Source

Built Distribution

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

biblelib-0.5.4-py3-none-any.whl (531.3 kB view details)

Uploaded Python 3

File details

Details for the file biblelib-0.5.4.tar.gz.

File metadata

  • Download URL: biblelib-0.5.4.tar.gz
  • Upload date:
  • Size: 520.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.13.7 Darwin/25.4.0

File hashes

Hashes for biblelib-0.5.4.tar.gz
Algorithm Hash digest
SHA256 eedbbf43704a99470be589c68552f9492bc7e9971c3698dbe7dd35746e31be1f
MD5 fc51640ba553bf052419dda7b3f0fd0d
BLAKE2b-256 e28805cf0a7ed5614dbd24d813b72b7d8f0d08ebce520e072e0b0316658d0ead

See more details on using hashes here.

File details

Details for the file biblelib-0.5.4-py3-none-any.whl.

File metadata

  • Download URL: biblelib-0.5.4-py3-none-any.whl
  • Upload date:
  • Size: 531.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.13.7 Darwin/25.4.0

File hashes

Hashes for biblelib-0.5.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6ca6507b6b773caa131cdadb177ce53cb5cc74f059456554360a4f5ed6b992f8
MD5 7b87f22d594d49e44266d54cfec6e4bb
BLAKE2b-256 0e9c2bb6151632c2b218e86bb25c6f58c287644d1ae74ee7b42fe172e39d7c82

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