Skip to main content

No project description provided

Project description

nuber

Inspired by epy, nuber is an Epub terminal reader with inline images written with Rust and Python using Überzug.

Demo

https://user-images.githubusercontent.com/18540571/171234596-08050407-6ee1-45b3-868b-e315de1e7190.mp4

Features

  • Display images in terminal.
  • Movement with vim keys hjkl.
  • Table of content navigation with t.
  • Bookmarks (B to view, b to add)
  • Dynamic window resize.
  • Rememebers last position per book.

Installation

$ pip install nuber

Usage

$ nuber --help
Usage: nuber [OPTIONS] BOOK

Options:
  -c, --config PATH
  --help             Show this message and exit.

Configuration

# nuber example config file

# there are three possible ways to add a new keybind:
# 1. <ascii letter> = <action>
# 2. KEY_<key> = <action>, see https://docs.python.org/3/library/curses.html#constants
# 3. integer = <action>, where the integer is the character recived from curses.getch()

# currently all <actions> are listed
# those are the default keybinds:

[reader_keybinds]
j = "scroll_down"
k = "scroll_up"
g = "top"
G = "bottom"
l = "next_chapter"
h = "previous_chapter"
t = "open_toc"
B = "open bookmarks"
b = "add_bookmark"
":" = "open_cmd"
q = "quit"
KEY_RESIZE = "resize"

[bookmarks_keybinds]
B = "close_view"
d = "delete_bookmark"
q = "quit"
j = "next"
k = "previous"
o = "select"
10 = "select" # return
13 = "select" # return
KEY_ENTER = "select" 
KEY_RESIZE = "resize"

[toc_keybinds]
t = "close_view"
q = "quit"
j = "next"
k = "previous"
o = "select"
10 = "select" # return
13 = "select" # return
KEY_ENTER = "select" 
KEY_RESIZE = "resize"

Contribute

Requirements: maturin, poetry

$ git clone https://github.com/mtshrmn/nuber.git --recursive && cd nuber
$ cd rust-html2text && git apply ../html2text.patch && cd ..
$ poetry install && poetry shell
$ maturin develop && exit
$ poetry run nuber

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

nuber-1.1.0-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.whl (2.0 MB view details)

Uploaded PyPy manylinux: glibc 2.5+ x86-64

nuber-1.1.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl (2.1 MB view details)

Uploaded PyPy manylinux: glibc 2.5+ i686

nuber-1.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.5+ x86-64

nuber-1.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (2.1 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.5+ i686

nuber-1.1.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.5+ x86-64

nuber-1.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl (2.1 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.5+ i686

nuber-1.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.5+ x86-64

nuber-1.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl (2.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.5+ i686

nuber-1.1.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.5+ x86-64

nuber-1.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl (2.1 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.5+ i686

nuber-1.1.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.5+ x86-64

nuber-1.1.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl (2.1 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.5+ i686

File details

Details for the file nuber-1.1.0-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for nuber-1.1.0-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 6d9716b3f99886abf546571dc08f75a58e320a1bc950c35ec14bd5eee89f1030
MD5 fd4ecf33172392cc045b8ddb08123627
BLAKE2b-256 188bd44cc0ff0b5c2a4896adc73a9806ae15c40e1b12cbb9a1915766b80d012c

See more details on using hashes here.

File details

Details for the file nuber-1.1.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for nuber-1.1.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 2ac5161a9c23738742a3ec0a2f2f191e8c856c12a9aa531d701b88764a0218c0
MD5 760f739563b098132f04cb1a50c837fd
BLAKE2b-256 63c87640aaa5638c9ad0953cb9eb1708d529b5a60143a3e4b383524cbeed9327

See more details on using hashes here.

File details

Details for the file nuber-1.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for nuber-1.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 29f6a346b63169d1ed27ee3ec5ab0fbaf9d897963486b8b98cb1d394d9eab979
MD5 8c07b04619541e7240859bcd1a08b609
BLAKE2b-256 b0abaf50ffd24f3e5959a07d03b76fe1d3e1e4762a868ef50eb7daabfb8f6274

See more details on using hashes here.

File details

Details for the file nuber-1.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for nuber-1.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 cf6c9c0407eb3231929c4336d60467ba73c0b9e7ee946505441283a79f4ab481
MD5 6e26adbb00d9400bfb75a678acaddb0b
BLAKE2b-256 155e68de2ae5f7b117f571a8af632a5df5f1513bbb65a57c41d624a939d49a15

See more details on using hashes here.

File details

Details for the file nuber-1.1.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for nuber-1.1.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 82d7597d64b070093fe6f6fe06bf0e58b302c2b56218838b8f0df771b5c02001
MD5 6c35cba1947119cef58fc19e7fb5a64c
BLAKE2b-256 b29c0804bf699af5175445a4e76ad8c33fd90b26f470c1b739be9aaf1cfb3064

See more details on using hashes here.

File details

Details for the file nuber-1.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for nuber-1.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 e67d3d906d2fb9e1b8ccbf9e82cf10b8312a65402130f1cd5ee59008739b0d96
MD5 241112bda276ddf76dc841fbeb920910
BLAKE2b-256 bb4142893d330a5e62a0ceeedbeaa6fd8278c7d621050b1d62d78592b45d900a

See more details on using hashes here.

File details

Details for the file nuber-1.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for nuber-1.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 cda4c4574e16a7e903c033e1a3d8dbe999d99f676bfe6e04506b4eac66f92cab
MD5 8eefbef31fe82db3c8575d709f0d8a61
BLAKE2b-256 d568624c50620e718fc125bb33b0831e26bed6b460c0306b7ed511c2eb66d7fe

See more details on using hashes here.

File details

Details for the file nuber-1.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for nuber-1.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 4502f286d6c6c58b2ac483129d9f8cc1822381556ffcce2fbebc20d5af42ab27
MD5 90a59533ac269942c6c8fea1256e788c
BLAKE2b-256 0351b686da78288247c310538a1bff40a58359cf720c6ec6ee8e2ef9e7bb49f8

See more details on using hashes here.

File details

Details for the file nuber-1.1.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for nuber-1.1.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 400606e26881d683c4bcf0881d659b54c8200c05b3b0810c17ae87df80c7c8b4
MD5 44a58c86a4cdb531555d41d2c82b4ef8
BLAKE2b-256 742f256dafe8d9ebfb2264bc9bdaf4ee90cdc02faa6af041f121b885a1b83dfe

See more details on using hashes here.

File details

Details for the file nuber-1.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for nuber-1.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 42da8b95aabffb13c7075bbd896bc2ac12d5ff8122efa7aa7cd8cad32190cb0e
MD5 b92512db9abbd780df9aed3728215f1f
BLAKE2b-256 c066b493f3264bbf8ad51171a94fdb16f3b82e6d714b8c55f4320b9803348f7e

See more details on using hashes here.

File details

Details for the file nuber-1.1.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for nuber-1.1.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 342d7e25c41da861c1b3861a90ab39a3e171b5e3903cd10d43132d9205ebe729
MD5 6eabeed802991b15df48707c9e32bcb7
BLAKE2b-256 ce8c1e36be445c40a03aa4daf5b9ce3573666aecff2a501c3fb574c8345e93b8

See more details on using hashes here.

File details

Details for the file nuber-1.1.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for nuber-1.1.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 3e98c1c1e93bd4aa4cafaf55fac9eff1ee8fc3b46850624e9861891fe48274e8
MD5 1a92b022a4c4762331e7c4ba1ba1f356
BLAKE2b-256 ffbab4167f49fe935ebbaf6470913b0fef64f8069d854ddd38ee001b3b0c153c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page