Skip to main content

Terminal/CLI Ebook (epub, fb2, mobi, azw3) Reader

Project description

$ epy

Downloads

screenshot

CLI Ebook Reader.

This is just a fork of epr with these extra features:

  • Supported formats:
    • Epub (.epub, .epub3)
    • FictionBook (.fb2)
    • Mobi (.mobi)
    • AZW3 (.azw, .azw3)
    • URL
  • Reading progress percentage
  • Bookmarks
  • External dictionary integration (sdcv or dict)
  • 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
    
  • Via AUR

    $ yay -S epy-git
    

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

URL Support

You can read online books like: short stories, fan fiction, etc. using epy with an url as cli argument. Pretty useful when you want to read with less distraction. epy will also remember your reading progress online.

eg. You can read Moby Dick from gutenberg directly with:

$ epy https://www.gutenberg.org/files/2701/2701-h/2701-h.htm

But note that epy will never be a web browser, it's simply a TUI program to read your favorite fiction stories in the comfort of a terminal. So please do not expect for web browser features to be implemented in epy.

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 in python>=3.7 and epy 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.

  • v2022.1.15: Early implementation of URL support, table of contents isn't available for now.

  • v2022.1.23: Library implementation: ability to switch ebook from reading history inside epy (default key: R).

Sponsor

https://paypal.me/wustho

Project details


Download files

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

Source Distribution

epy-reader-2022.2.5.tar.gz (122.5 kB view details)

Uploaded Source

Built Distributions

epy_reader-2022.2.5-py3.9.egg (250.3 kB view details)

Uploaded Source

epy_reader-2022.2.5-py3-none-any.whl (131.4 kB view details)

Uploaded Python 3

File details

Details for the file epy-reader-2022.2.5.tar.gz.

File metadata

  • Download URL: epy-reader-2022.2.5.tar.gz
  • Upload date:
  • Size: 122.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6

File hashes

Hashes for epy-reader-2022.2.5.tar.gz
Algorithm Hash digest
SHA256 10867b8fdfd9a88341306be852843527b0adca808157284a298135838015a8eb
MD5 5ce2f9a46fc27bd3eb6dc83143120e3c
BLAKE2b-256 8e02abc46d2b05a7600825302ec9118e6985100200f2a866eb8156445f9efe9d

See more details on using hashes here.

File details

Details for the file epy_reader-2022.2.5-py3.9.egg.

File metadata

  • Download URL: epy_reader-2022.2.5-py3.9.egg
  • Upload date:
  • Size: 250.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6

File hashes

Hashes for epy_reader-2022.2.5-py3.9.egg
Algorithm Hash digest
SHA256 c18cc83917c44a627ce91314fd0e1cf6357a5d10788cb4d7adeba3f50f71131b
MD5 acd10e4768605a8992a9c7c609d5aab6
BLAKE2b-256 dcd7739613792d5a1bc830ab9f9fc6afe69cbd7c83f1f12ac45b6e784187cd30

See more details on using hashes here.

File details

Details for the file epy_reader-2022.2.5-py3-none-any.whl.

File metadata

  • Download URL: epy_reader-2022.2.5-py3-none-any.whl
  • Upload date:
  • Size: 131.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6

File hashes

Hashes for epy_reader-2022.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 ab76c5feebb30b4556a70dee416cd4878ce6ba1429e7fe3c0d000732a04f6a12
MD5 3c713f718bc604fdcc940fb21b2576f0
BLAKE2b-256 7cfd3046bb53dce2f33c50514b9cc5c77c22db9b69b92bf2b5207343fef104ec

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