endless-library is a tool to easily download and send books to a Kindle, featuring a search menu, Goodreads list imports, and an intuitive CLI menu.
- Download (and send) books from Goodreads link
- Profile lists such as 'Want to Read', 'Read' (e.g. https://www.goodreads.com/review/list/12345678?shelf=to-read)
- NOTE: Account must be public
- Listopia lists (e.g. https://www.goodreads.com/list/show/1.Best_Books_Ever)
- Book series (e.g. https://www.goodreads.com/series/73758-the-hunger-games)
- Profile lists such as 'Want to Read', 'Read' (e.g. https://www.goodreads.com/review/list/12345678?shelf=to-read)
- Download (and send) books by searching
- Extract all files into a folder (can delete the .gitignore)
- Open a terminal in the folder
- Install the required dependencies using
pip install -r requirements.txt
- Rename
example_config.json
toconfig.json
, and populate with the proper information- "mode"
- "download" to only download books
- NOTE: if using "download" mode, you do not need to configure the email settings
- "kindle" to download books, and email to Kindle
- "download" to only download books
- "email_sender"
- the email address being used to send the emails
- NOTE: this email address must be under your approved email addresses
- "email_receiver"
- the email address of the Kindle device you want to send e-books to
- NOTE: this email address can be found here
- "email_password"
- the app password of the Gmail account under "email_sender"
- NOTE: an app password can be generated here
- "mode"
Run endless-library.py
by double clicking, or by opening a terminal in the root folder and typing
python endless-library.py
- Some .epub files will be rejected when sent to Kindle. I haven't determined what causes some .epubs to be unsupported, but when an error occurs, you will receive an email titled "There was a problem with the document(s) you sent to Kindle." This is not a shortcoming of this program, rather, the Kindle's .epub processing.
- Email sending only supports Gmail accounts.
- Additional mirror support
- Email support outside of Gmail accounts.
- Documented testing