Skip to main content

bibleit

Interactive Bible reading for the terminal, plus a lightweight live web viewer, built with Python, Textual, and libbibleit.

Features

  • Terminal Bible reader with keyboard-first navigation.
  • Multiple translations open side by side or stacked vertically.
  • Synchronized cursor across open translation panes.
  • Go-to navigation with g or @, supporting verse, chapter/verse, and fuzzy book names.
  • Text Find with Ctrl+F, result browsing, and visual translation toggles.
  • Strong's references with linked entries via Ctrl+G.
  • Live web viewer for sharing the active verse with viewers.
  • Live viewer controls for light/dark theme, font size, presentation mode, and translation selection.
  • Persistent local config for live URL/token and theme.
  • Docker and Fly.io deployment support.

Requirements

  • Python 3.11+
  • GNU Make

Installation

Clone the repository:

git clone https://github.com/mittel-labs/bibleit.git
cd bibleit/python

Install development dependencies:

make install

Install the package locally:

make local-install-test

Usage

Run the terminal application:

make run

Run the live web viewer:

make live

Then open:

http://localhost:8000

Run the installed package directly:

python -m bibleit

Read a verse from the command line:

bibleit -t NVIPT dani 9.2
python -m bibleit -t KJV "john 3:16"
python -m bibleit -t NVIPT,KJV dani 9:2-15
bibleit -t KJV --strongs genesis 1.1

With no arguments, bibleit and python -m bibleit open the terminal app. With a reference, they print matching verse text to stdout. Set a default translation with BIBLEIT_DEFAULT_TRANSLATION, BIBLEIT_TRANSLATION, or DEFAULT_TRANSLATION in ~/.bibleit/config.

Keyboard

Shortcut Action
/ Previous / next verse
g / G / @ Go to verse, chapter, or book reference
Tab / Shift+Tab Next / previous open translation
Tab in Go To Cycle go-to matches
Ctrl+F Find verse text
/ in Find Switch Find translation
Ctrl+T Open translations
Ctrl+G Toggle Strong's
Ctrl+H Open history
Ctrl+A / Ctrl+E Beginning / end of current chapter
< / > Previous / next chapter
Ctrl+W Close the active translation pane
Ctrl+M Maximize / restore the active translation pane
Ctrl+Tab Rotate translations
Ctrl+1-Ctrl+9 Select a translation while maximized
Esc Restore panes when a translation is maximized
F2 Toggle split layout
Ctrl+L Toggle live mode
Ctrl+D Toggle theme
Ctrl+P Open config
? Show shortcuts

At startup bibleit shows a small welcome screen with the most useful shortcuts. Press any shortcut to dismiss it and continue.

Configuration

bibleit reads configuration from ~/.bibleit/config as TOML. Environment variables with the BIBLEIT_ prefix take precedence.

Config Environment variable Description
LIVE_URL BIBLEIT_LIVE_URL Live server URL used by the terminal app
LIVE_TOKEN BIBLEIT_LIVE_TOKEN Optional token used to protect live control requests
DEFAULT_TRANSLATION BIBLEIT_DEFAULT_TRANSLATION Default translation slug for CLI verse lookup
THEME BIBLEIT_THEME light or dark

Open the config screen with Ctrl+P.

Example:

LIVE_URL = "https://bibleit.example.com"
THEME = "dark"

Empty values are not written to the config file.

Live Mode

Start the live web server:

make live

Run the terminal app and point it at the live server:

BIBLEIT_LIVE_URL=http://localhost:8000 make run

Press Ctrl+L in the terminal app to publish the active verse to the web viewer. When live mode is off, the browser shows a waiting splash screen.

Development

Run with Textual development tools:

make run-dev

Open a Python shell inside the virtual environment:

make shell

Run tests:

make test

Run lint:

make lint

Format code:

make lint-fix

Build distribution packages:

make build

bibleit package versions are derived from Git tags via hatch-vcs. To publish a release, create a tag such as v0.5.1 and build from that tag instead of editing pyproject.toml.

Install local wheel:

make install-local

Run the local installation test:

make local-install-test

Live server configuration

The live server supports the following environment variables:

Variable Default Description
BIBLEIT_LIVE_HOST 0.0.0.0 Bind address
BIBLEIT_LIVE_PORT 8000 Server port
BIBLEIT_LIVE_URL unset Public live server URL used by the terminal app
BIBLEIT_LIVE_TOKEN unset Optional token used to protect live control requests
BIBLEIT_LIVE_TITLE bibleit live Browser page title
BIBLEIT_FIND_INDEX_CACHE_SIZE 4 Max number of translation text indexes cached by Find

Example:

export BIBLEIT_LIVE_HOST=0.0.0.0
export BIBLEIT_LIVE_PORT=8000
export BIBLEIT_LIVE_URL=http://localhost:8000

make live

Docker

Build the image:

docker build -t bibleit .

Run terminal mode:

docker run -it bibleit

Run live web mode:

docker run -p 8000:8000 bibleit live

Then open:

http://localhost:8000

Release files for bibleit 0.6.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bibleit 0.6.3
File Size Uploaded
bibleit-0.6.3.tar.gz 80.8 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for bibleit 0.6.3
File Interpreter ABI Platform
bibleit-0.6.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
bibleit-0.6.3-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details

Total release size: 264.7 kB

Release files / bibleit-0.6.3.tar.gz

Download URL bibleit-0.6.3.tar.gz
Size 80.8 kB
Tags Source
SHA-256 checksum
How to use checksums
763a88f0b25f29557bc9c35b6fe48a42ed2f1f1c6cf7585c05e1c855fede0948
BLAKE2b-256 checksum
How to use checksums
59b0bcd1721ec8166e810b8501f80b88285b36ae6a5fef684f166fe1e8aa8b6d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / bibleit-0.6.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL bibleit-0.6.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 98.4 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f4138e70144c1a0162970d2264b5f4f076e4af077b15f5a3e3c1765a4a8cb574
BLAKE2b-256 checksum
How to use checksums
ff3d034703998f0e150896b0ae81c1b25281d9e054494ced4deedfd36b11a18c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / bibleit-0.6.3-cp311-cp311-macosx_11_0_arm64.whl

Download URL bibleit-0.6.3-cp311-cp311-macosx_11_0_arm64.whl
Size 85.5 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
616fa6784f1cad3d0a0efbe1f70f48a027d0b8d42c267f511e2135282b2cb096
BLAKE2b-256 checksum
How to use checksums
1b3ecbfc07a104a990b95d1d02553ee7699d79c07b12d262d2e6bc3b37b74f63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

0.6.3 This release

3 release files

0.6.2

3 release files

0.6.1

3 release files

0.6.0

3 release files

0.5.4

3 release files

0.5.3

3 release files

0.5.2

3 release files

0.5.1

3 release files

0.5.0

3 release files

0.4.0

3 release files

0.3.1

3 release files

0.3.0

3 release files

0.2.1

3 release files

0.2.0

3 release files

0.1.3

3 release files

0.1.2

3 release files

0.1.1

3 release files

0.1.0

3 release files

0.0.26

2 release files

0.0.25

2 release files

0.0.24

2 release files

0.0.21

2 release files

0.0.20

2 release files

0.0.19

2 release files

0.0.18

2 release files

0.0.17

2 release files

0.0.16

2 release files

0.0.15

2 release files

0.0.14

2 release files

0.0.12

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page