Skip to main content

A small Python tool to download and send ebooks from Project Gutenberg to a Kindle email address via SMTP

Project description

Gutenberg2Kindle

A small Python tool to download and send ebooks from Project Gutenberg to a Kindle email address via SMTP

What's this?

gutenberg2kindle is a small command-line interface tool that aims to automatically download an .epub book from Project Gutenberg's library of free books in the public domain, and then send the ebook's file to a Kindle email address (although, generally, it can be sent to any email address), with just one command.

The book is sent through a SMTP server with TLS, requiring the user to configure the server settings beforehand via tool commands.

Installation

You can use your Python package manager (e.g. pip) to install gutenberg2kindle.

pip install gutenberg2kindle

Usage

gutenberg2kindle comes with a command-line interface; its help text can be accessed via:

gutenberg2kindle --help

You can check the tool's current configuration via:

# will print all config variables with their current values
gutenberg2kindle get-config

# will print only the value for the key you're specifying
gutenberg2kindle get-config --name <key name>

You can set a value for any of the settings via:

gutenberg2kindle set-config --name <key name> --value <key value>

Or you can do it all at once interactively, being able to check (and modify, if needed) the current config, just by running:

gutenberg2kindle interactive-config

Finally, once you're done configuring your project, you can send any ebook via its Project Gutenberg book ID (with flags -b or --book-id):

gutenberg2kindle send -b <book id as an integer, e.g. 1>

You can send multiple books at the same time in the same run, the -b / --book-id flag accepts multiple arguments. Book will be downloaded and sent one by one, and if the download fails at some point execution will stop. In case you want to skip books that couldn't be downloaded, consider adding the -i / --ignore-errors flag.

gutenberg2kindle send -b <first book id> [<second book id> <third book id>...]
gutenberg2kindle send -i -b <first book id> [<second book id> <third book id>...]

Note that, if using Gmail as your SMTP server, you might need to set up an App Password to use instead of your regular password.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Contributions for issues that are already open by maintainers are welcome and encouraged.

Please make sure to update tests as appropriate; a minimum coverage of 75% is expected (and enforced by Github Actions!).

License

This project is licensed under the GNU Affero General Public License v3.0.

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

gutenberg2kindle-0.7.0.tar.gz (18.7 kB view details)

Uploaded Source

Built Distribution

gutenberg2kindle-0.7.0-py3-none-any.whl (20.7 kB view details)

Uploaded Python 3

File details

Details for the file gutenberg2kindle-0.7.0.tar.gz.

File metadata

  • Download URL: gutenberg2kindle-0.7.0.tar.gz
  • Upload date:
  • Size: 18.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.5 Darwin/23.0.0

File hashes

Hashes for gutenberg2kindle-0.7.0.tar.gz
Algorithm Hash digest
SHA256 0795596d5904d2370a249a3f86511a1b20b446185fad64d63661ecfe9f04539c
MD5 37234ede19e799199e8387d79c904389
BLAKE2b-256 be0b30d2a10919a15695db666169d4772a1a49369b67e4216b1cf816c99cd6c7

See more details on using hashes here.

File details

Details for the file gutenberg2kindle-0.7.0-py3-none-any.whl.

File metadata

File hashes

Hashes for gutenberg2kindle-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 57a97d0bf59b37ff8eceab852e65114299212153f47489ad5be60d2459018a72
MD5 23a7583fca694a6b31ec78c86e3cb970
BLAKE2b-256 969532e0b35b3b82bcae394f4c5b0a122e06341bffa4c75ff4eb4f013cfcc0a1

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