The getBible
Librarian package is a Python library designed for efficiently retrieving the scripture reference across various translations.
pip install getbible
see package on pypi
import json
from getbible import GetBible
# Initialize the class
getbible = GetBible()
# Get the scripture as JSON
scripture_json = getbible.scripture("Genesis 1:1")
print(scripture_json) # Outputs the JSON scripture as a string.
# Get the scripture as dictionary
scripture_dict = getbible.select("Genesis 1:1")
print(json.dumps(scripture_dict, indent=4)) # Pretty-prints the dictionary.
When utilizing the GetBible
class to look up a reference, you can use the lowercase abbreviations of the target translation:
import json
from getbible import GetBible
# Initialize the class
getbible = GetBible()
scripture = getbible.select("Genesis 1:1-5", 'aov')
print(json.dumps(scripture, indent=4)) # Pretty-prints the dictionary.
In this code snippet, "aov"
is used as the abbreviation for the Afrikaans Ou Vertaaling.
from getbible import GetBibleReference
# Initialize the class
get = GetBibleReference()
# Find well form reference
reference = get.ref("Genesis 1:1-5")
print(reference) # Outputs the dataclass [BookReference] { book: int, chapter: int, verses: list }
When utilizing the GetBibleReference
class to look up a reference, you can use the lowercase abbreviations of the target translation:
from getbible import GetBibleReference
# Initialize the class
get = GetBibleReference()
reference = get.ref("Genesis 1:1-5", 'kjv')
In this code snippet, "kjv"
is used as the abbreviation for the King James Version to speedup the search.
from getbible import GetBibleBookNumber
# Initialize the class
get_book = GetBibleBookNumber()
# Find a book number
book_number = get_book.number("Genesis")
print(book_number) # Outputs the book number of "Genesis" = 1
The GetBibleBookNumber
package supports a range of Bible translations, each identified by a lowercase abbreviation. These abbreviations and the corresponding translation data are stored in the data
folder.
To find the available translation abbreviations:
- Go to the
data
directory in the package. - Each JSON file in this directory corresponds to a different translation.
- The file name (without the
.json
extension) represents the abbreviation for that translation.
For instance, if you find a file named kjv.json
, then kjv
is the abbreviation for the King James Version translation.
When utilizing the GetBibleBookNumber
class to look up a book number, you should use these lowercase abbreviations:
book_number = get_book.number("Gen", "kjv", ["aov", "swahili"])
In this code snippet, "kjv"
is used as the abbreviation for the King James Version, "aov"
for the Afrikaans Ou Vertaaling, and "swahili"
for the Swahili Version.
To install getBible
Librarian, you need to clone the repository and install the package manually. Ensure you have Python 3.7 or higher installed.
git clone https://git.vdm.dev/getBible/librarian.git
cd librarian
pip install .
To contribute or run tests, clone the repository and set up a virtual environment:
git clone https://git.vdm.dev/getBible/librarian.git
cd librarian
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
pip install -e .
Run tests using the standard unittest framework:
python -m unittest
Contributions to the getbible
Librarian package are welcome. Please ensure to follow the coding standards and write tests for new features.
This project is licensed under the GNU GPL v2.0. See the LICENSE file for more details.