Utilities for working with metadata for Bible books, references, pericopes, and other units.
Project description
Biblelib
Utilities for working with Bible books, references, pericopes, and other units. Note this does not include any actual Bible texts.
- Github repository: <https://github.com/Clear-Bible/Biblelib
- Documentation may eventually arrive at
https://clear-bible.github.io/Biblelib/ but can be found in the
docsdirectory, and built usingmkdocs.
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
- Book abbreviations incorporate public conventions developed by
- Unified Standard Format Markers 3.0.0 (USFM), which is © Copyright 2018, United Bible Societies.
- The Open Scripture Information Standard (OSIS)
- Logos Bible Software
- Versification information included consulting sources from:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37a8713470a173605f8df1c72cfec08d495e2835a3605d532c754aad930c2f6b
|
|
| MD5 |
675ad13d55746ff76a6ff9d441bd0547
|
|
| BLAKE2b-256 |
0e55391d441ed838c2ca2b467e37c6afa0aec4d0460ef74adc1973aa808ec796
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
07ef27c62b814445dfc974322abc9d60af9d4f1c07786532053a3c50ccbda355
|
|
| MD5 |
1a7e54185bebf739f3af2f2cfc239e3f
|
|
| BLAKE2b-256 |
8108caade9ae6393130b5209417fb41ed03b2c1023f619d7b57733088a16d5cb
|