Decentralized (within a system) epub library
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sloum 9b5531ac34 Catches more errors on bad ebook read 3 years ago
LICENSE Adds LICENSE and README 3 years ago
Makefile Adds an extra except block for a permission error that was coming up 3 years ago Adds an extra except block for a permission error that was coming up 3 years ago
library Catches more errors on bad ebook read 3 years ago
requirements.txt Creates a decentralized system library 3 years ago


Library is a very simple library program that will search each user's home directory for a folder called books. Any epub files that are found within the ~/books folder will appear in the library. This creates an easy way for users to share their epubs.

Dependencies / Installation

In addition to python3 and python's curses module (which should be avialable for most users by default, if not then search your package repositories) library requires two additional python modules. The first can be installed via the included requirements.txt file by running:

pip3 install -r requirements.txt

The second is the epub reader that the library uses. It can be installed via:

pip3 install git+

If you would like to use a different epub reader than epr you may easily do so by modifying the reader variable in the source code. Doing so should work for any reader that uses the following syntax: reader-name file-path

A makefile is included that will do both of these things for you, but they are listed here for clarity and transparency for those that wish to manage this ont heir own. To use the makefile just run the following from the root of the repo:

sudo make dependencies
sudo make install

Any subsequent updates will just need to run the install step (since you would already have the dependencies).

Note: sudo may or may not be needed depending on your system configuration and usage case.


Assuming the above went well and library is on your path just call library. The screen will show all of the available books. The following are the available navigational controls:

Key(s) Action
k, up move up
j, down move down
g move to top
G move to bottom
l, enter, right selected/read book
a sort by author
t sort by title (default)
? show help
i show book info
h, left return to library view
q, escape quit

Two command line flags are available:

Flag Action
-h show help
-c continue reading where you left off without loading the library view


The author of library is letting it be known that the intention of the software is to share books which you, the user, have permission/rights to share. Any other use is at your own legal risk. By using this software you agree to accept any and all liability that may come from the use of this software by sharing your epubs. Further details are available in the LICENSE file.