gutenberg2kindle


Namegutenberg2kindle JSON
Version 0.7.0 PyPI version JSON
download
home_pagehttps://github.com/aitorres/gutenberg2kindle
SummaryA small Python tool to download and send ebooks from Project Gutenberg to a Kindle email address via SMTP
upload_time2023-10-07 18:45:04
maintainer
docs_urlNone
authorAndrés Ignacio Torres
requires_python>=3.9,<4.0
licenseAGPL-3.0-only
keywords python cli ebooks kindle gutenberg project gutenberg
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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](https://www.gutenberg.org/)'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](https://pip.pypa.io/en/stable/)) to install `gutenberg2kindle`.

```bash
pip install gutenberg2kindle
```

## Usage

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

```bash
gutenberg2kindle --help
```

You can check the tool's current configuration via:

```bash
# 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:

```bash
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:

```bash
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`):

```bash
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.

```bash
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](https://support.google.com/accounts/answer/185833) 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](https://github.com/aitorres/gutenberg2kindle/blob/main/LICENSE).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/aitorres/gutenberg2kindle",
    "name": "gutenberg2kindle",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9,<4.0",
    "maintainer_email": "",
    "keywords": "python,cli,ebooks,kindle,gutenberg,project gutenberg",
    "author": "Andr\u00e9s Ignacio Torres",
    "author_email": "dev@aitorres.com",
    "download_url": "https://files.pythonhosted.org/packages/be/0b/30d2a10919a15695db666169d4772a1a49369b67e4216b1cf816c99cd6c7/gutenberg2kindle-0.7.0.tar.gz",
    "platform": null,
    "description": "# Gutenberg2Kindle\n\nA small Python tool to download and send ebooks from Project Gutenberg to a Kindle email address via SMTP\n\n## What's this?\n\n`gutenberg2kindle` is a small command-line interface tool that aims to automatically download an `.epub` book from [Project Gutenberg](https://www.gutenberg.org/)'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.\n\nThe book is sent through a SMTP server with TLS, requiring the user to configure the server settings beforehand via tool commands.\n\n## Installation\n\nYou can use your Python package manager (e.g. [pip](https://pip.pypa.io/en/stable/)) to install `gutenberg2kindle`.\n\n```bash\npip install gutenberg2kindle\n```\n\n## Usage\n\n`gutenberg2kindle` comes with a command-line interface; its help text can be accessed via:\n\n```bash\ngutenberg2kindle --help\n```\n\nYou can check the tool's current configuration via:\n\n```bash\n# will print all config variables with their current values\ngutenberg2kindle get-config\n\n# will print only the value for the key you're specifying\ngutenberg2kindle get-config --name <key name>\n```\n\nYou can set a value for any of the settings via:\n\n```bash\ngutenberg2kindle set-config --name <key name> --value <key value>\n```\n\nOr you can do it all at once interactively, being able to check (and modify, if needed) the current config, just by running:\n\n```bash\ngutenberg2kindle interactive-config\n```\n\nFinally, once you're done configuring your project, you can send any ebook via its Project Gutenberg book ID (with flags `-b` or `--book-id`):\n\n```bash\ngutenberg2kindle send -b <book id as an integer, e.g. 1>\n```\n\nYou 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.\n\n```bash\ngutenberg2kindle send -b <first book id> [<second book id> <third book id>...]\ngutenberg2kindle send -i -b <first book id> [<second book id> <third book id>...]\n```\n\nNote that, if using Gmail as your SMTP server, you might need to set up an [App Password](https://support.google.com/accounts/answer/185833) to use instead of your regular password.\n\n## Contributing\n\nPull 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.\n\nPlease make sure to update tests as appropriate; a minimum coverage of 75% is expected (and enforced by Github Actions!).\n\n## License\n\nThis project is licensed under the [GNU Affero General Public License v3.0](https://github.com/aitorres/gutenberg2kindle/blob/main/LICENSE).\n",
    "bugtrack_url": null,
    "license": "AGPL-3.0-only",
    "summary": "A small Python tool to download and send ebooks from Project Gutenberg to a Kindle email address via SMTP",
    "version": "0.7.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/aitorres/gutenberg2kindle/issues",
        "Change Log": "https://github.com/aitorres/gutenberg2kindle/blob/main/CHANGELOG.md",
        "Homepage": "https://github.com/aitorres/gutenberg2kindle",
        "Repository": "https://github.com/aitorres/gutenberg2kindle"
    },
    "split_keywords": [
        "python",
        "cli",
        "ebooks",
        "kindle",
        "gutenberg",
        "project gutenberg"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "969532e0b35b3b82bcae394f4c5b0a122e06341bffa4c75ff4eb4f013cfcc0a1",
                "md5": "23a7583fca694a6b31ec78c86e3cb970",
                "sha256": "57a97d0bf59b37ff8eceab852e65114299212153f47489ad5be60d2459018a72"
            },
            "downloads": -1,
            "filename": "gutenberg2kindle-0.7.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "23a7583fca694a6b31ec78c86e3cb970",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9,<4.0",
            "size": 20672,
            "upload_time": "2023-10-07T18:45:02",
            "upload_time_iso_8601": "2023-10-07T18:45:02.103475Z",
            "url": "https://files.pythonhosted.org/packages/96/95/32e0b35b3b82bcae394f4c5b0a122e06341bffa4c75ff4eb4f013cfcc0a1/gutenberg2kindle-0.7.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "be0b30d2a10919a15695db666169d4772a1a49369b67e4216b1cf816c99cd6c7",
                "md5": "37234ede19e799199e8387d79c904389",
                "sha256": "0795596d5904d2370a249a3f86511a1b20b446185fad64d63661ecfe9f04539c"
            },
            "downloads": -1,
            "filename": "gutenberg2kindle-0.7.0.tar.gz",
            "has_sig": false,
            "md5_digest": "37234ede19e799199e8387d79c904389",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9,<4.0",
            "size": 18674,
            "upload_time": "2023-10-07T18:45:04",
            "upload_time_iso_8601": "2023-10-07T18:45:04.089819Z",
            "url": "https://files.pythonhosted.org/packages/be/0b/30d2a10919a15695db666169d4772a1a49369b67e4216b1cf816c99cd6c7/gutenberg2kindle-0.7.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-07 18:45:04",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "aitorres",
    "github_project": "gutenberg2kindle",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "gutenberg2kindle"
}
        
Elapsed time: 2.29565s