Terminal/CLI Ebook (epub, fb2, mobi, azw3) Reader
Project description
$ epy
CLI Ebook Reader.
This is just a fork of my own epr with these extra features:
- Supported formats:
- Epub (.epub, .epub3)
- FictionBook (.fb2)
- Mobi (.mobi)
- AZW3 (.azw3), some but not all (see KindleUnpack)
- Reading progress percentage
- Bookmarks
- External dictionary integration (
sdcv
ordict
) - Inline formats: bold and italic (depend on terminal and font capability. Italic only supported in python>=3.7)
- Text-to-Speech (with additional setup, read below)
- Double Spread
- Seamless (disabled by default, read below)
Installation
-
Via PyPI
$ pip3 install epy-reader
-
Via Pip+Git
$ pip3 install git+https://github.com/wustho/epy
Reading Tips Using Epy
When reading using epy
you might occasionally find triple asteriks ***
.
That means you reach the end of some section in your ebook
and the next line (right after those three asteriks, which is in new section)
will start at the top of the page.
This might be disorienting, so the best way to get seamless reading experience
is by using next-page control (space
, l
or Right
)
instead of next-line control (j
or Down
).
If you really want to get seamless reading experience, you can set SeamlessBetweenChapters
to true
in configuration file. But it has its drawback with more memory usage, that's why
it's disabled by default.
Configuration File
Config file is available in json format which is located at:
- Linux:
~/.config/epy/configuration.json
or~/.epy/configuration.json
- Windows:
%USERPROFILE%\.epy\configuration.json
Although, there are not many stuffs to configure.
Using Mouse
Although mouse support is useful when running epy
on Termux Android, it’s disabled by default
since most people find it intrusive when using epy
in desktop.
But you can enable it by setting MouseSupport
to true
in config file.
Key | Action |
---|---|
Left Click (right side of screen) |
next page |
Left Click (left side of screen) |
prev page |
Right Click |
ToC |
Scroll Up |
scroll up |
Scroll Down |
scroll down |
Ctrl + Scroll Up |
increase text width |
Ctrl + Scroll Down |
decrease text width |
Text-to-Speech
To get Text-to-Speech (TTS) support, external TTS engine is necessary.
List of supported engines:
mimic
pico2wave
Double Spread
Double spread is intended to mimic the behaviour of real book, so line scrolling navigation will act as scrolling page and textwidth is not adjustable.
Changelog
-
v2021.10.23
: Major refactoring which harness a lot of new stuff inpython>=3.7
andepy
won't be backward compatible with older python version and older configuration. -
v2022.1.8
: Change in configuration and reading states schema that is not backward compatible. So if error is encountered, deleting the configuration and states file might fix the issue.
Tip Jar
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
File details
Details for the file epy-reader-2022.1.8.tar.gz
.
File metadata
- Download URL: epy-reader-2022.1.8.tar.gz
- Upload date:
- Size: 120.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2410d1e3d1636d230bb754b1cc7a18db51c26b2d7e6fd5bad2d96345dcd47c3 |
|
MD5 | 8477f928ea8ae2903c85dcd9f2a28829 |
|
BLAKE2b-256 | d9765eb71a1148a4a7d0646b7f3c7f5193431b5fd985dc227c3cb58a219037a0 |
File details
Details for the file epy_reader-2022.1.8-py3-none-any.whl
.
File metadata
- Download URL: epy_reader-2022.1.8-py3-none-any.whl
- Upload date:
- Size: 129.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba601711ce176e744f33b93356f201dbb135303661be2fe672aa1cbb3252930e |
|
MD5 | 078e7073370481f7a00544e8789fd6b1 |
|
BLAKE2b-256 | 3dd8eb3ca36dd81fe78c4f48c42e98b076309f29f17eb298250b116f05ef6966 |