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.1.tar.gz (520.0 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.1-py3-none-any.whl (531.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for biblelib-0.5.1.tar.gz
Algorithm Hash digest
SHA256 37a8713470a173605f8df1c72cfec08d495e2835a3605d532c754aad930c2f6b
MD5 675ad13d55746ff76a6ff9d441bd0547
BLAKE2b-256 0e55391d441ed838c2ca2b467e37c6afa0aec4d0460ef74adc1973aa808ec796

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for biblelib-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 07ef27c62b814445dfc974322abc9d60af9d4f1c07786532053a3c50ccbda355
MD5 1a7e54185bebf739f3af2f2cfc239e3f
BLAKE2b-256 8108caade9ae6393130b5209417fb41ed03b2c1023f619d7b57733088a16d5cb

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