Package: epy-reader
$ epyCLI Ebook Reader.This is just a fork ofeprwith these extra features:Supported formats:Epub (.epub, .epub3)FictionBook (.fb2)Mobi (.mobi)AZW3 (.azw, .azw3)URLReading progress percentageBookmarksExternal dictionary integration (sdcv,dictorwkdict)Inline formats:boldanditalic(depend on terminal and font capability. Italic only supported in python>=3.7)Text-to-Speech (with additional setup, readbelow)Double SpreadSeamless (disabled by default, readbelow)InstallationVia PyPI (Linux and Mac OS)pip3installepy-readerVia Pip+Gitpip3installgit+https://github.com/wustho/epyVia AURyay-Sepy-ereader-gitWindows BinaryStandalone binary for Windows is available atrelease page.Usageepy /path/to/your/book/book.epub(Remember to make sure your book's title doesn't contain any spaces)cSwitching the color profileShift + hPrevious chapterShift + lNext chapterShift + gSkip to the end of the chaptergSkip to the beginning of the chapterShift + mShow metadata of the booktTable of contents/SearchbAdd bookmarkShift + bShow bookmarksqQuit-Shrink the text+Enlarge the textoOpen an imagesShow or hide progressColor profilesIn the config file you will see the following section."DarkColorFG": 47,
 "DarkColorBG": 235,
 "LightColorFG": 238,
 "LightColorBG": 253,Change the values by using this image. (Make sure to ignore zeros at the beginning, it won't launch otherwise.)Reading Tips Using EpyWhen reading usingepyyou 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,lorRight)
instead of next-line control (jorDown).If you really want to get seamless reading experience, you can setSeamlessBetweenChapterstotruein configuration file. But it has its drawback with more memory usage, that's why
it's disabled by default.Configuration FileConfig file is available in json format which is located at:Linux and Mac OS:~/.config/epy/configuration.jsonor~/.epy/configuration.jsonWindows:%USERPROFILE%\.epy\configuration.jsonURL SupportYou can read online books like: short stories, fan fiction, etc. usingepywith an url as cli argument.
Pretty useful when you want to read with less distraction.epywill also remember your reading progress online.eg. You can readMoby Dick from gutenbergdirectly with:$epyhttps://www.gutenberg.org/files/2701/2701-h/2701-h.htmBut note thatepywill 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 inepy.Using MouseAlthough mouse support is useful when runningepyon Termux Android, it’s disabled by default
since most people find it intrusive when usingepyin desktop.
But you can enable it by settingMouseSupporttotruein config file.KeyActionLeft Click(right side of screen)next pageLeft Click(left side of screen)prev pageRight ClickToCScroll Upscroll upScroll Downscroll downCtrl+Scroll Upincrease text widthCtrl+Scroll Downdecrease text widthText-to-SpeechTo get Text-to-Speech (TTS) support, external TTS engine is necessary.List of supported engines:mimicpico2wavegtts-mpv(requires bothgTTSandMPV)DictionaryTo use "Define Word" you will have to install an external dictionary cli program (sdcv,dictorwkdict). After you've done that, it is recommended to manually modify the configuration.json file, and set your desired dictionary there, so everything works properly.After that you will be able to find definition of word by pressingd, and aprompt will appear to let you type in word to define.Double SpreadDouble spread is intended to mimic the behaviour of real book,
so line scrolling navigation will act as scrolling page and textwidth is not adjustable.Changelogv2021.10.23: Major refactoring which harness a lot of new stuff inpython>=3.7andepywon'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).v2022.2.5: Fix process.join() issue for unstarted process.v2022.10.2: Major breakdownepy.pymodule into package structure for easier development.