portable-wisdom


Nameportable-wisdom JSON
Version 1.0.1 PyPI version JSON
download
home_page
SummaryGenerate EPUB files from unread Instapaper articles
upload_time2024-02-14 12:06:32
maintainer
docs_urlNone
author
requires_python>=3.7
licenseMIT
keywords cli ebook reading epub instapaper
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Portable Wisdom

Portable Wisdom is a command-line tool to generate an EPUB file from your unread articles in [Instapaper](https://www.instapaper.com/). You can then copy this file to your ereader.

<img src="https://raw.githubusercontent.com/jacobbudin/portable-wisdom/master/preview.jpg" alt="Preview of a Portable Wisdom-generated ebook on an ereader" width="252" />

## Technologies

- Python 3

## Features

- Retrieves unread articles from Instapaper
- Finds and downloads articles' images from the web, downsizes them, converts them to greyscale, and embeds them into the file
- Caches articles and images, runs fast for frequent users
- Creates well-formatted EPUB files tailored for your ereader

## Quick Start

Before you begin, you'll need to [request an Instapaper API key](https://www.instapaper.com/main/request_oauth_consumer_token) or copy one from a friend.

### Python

1. Download and install Portable Wisdom [from PyPI](https://pypi.org/project/portable-wisdom/):

		$ pip install portable-wisdom

2. Run Portable Wisdom from the command line:

		$ portable-wisdom \
			--instapaper-api-key KEY \
			--instapaper-api-secret SECRET \
			--instapaper-login USER \
			--instapaper-password PASS

On success, the script will print the output filename. To view all of the options, run `$ portable-wisdom -h`.

### Docker

Alternatively, using [Docker](https://www.docker.com/get-started/), to download and execute Portable Wisdom [from Docker Hub](https://hub.docker.com/repository/docker/jacobbudin/portable-wisdom/general), run:

	$ docker pull jacobbudin/portable-wisdom:latest
	$ docker run jacobbudin/portable-wisdom:latest \
		--instapaper-api-key KEY \
		--instapaper-api-secret SECRET \
		--instapaper-login USER \
		--instapaper-password PASS

## Environment

Alternatively, you can supply the Instapaper credentials via environment variables: `INSTAPAPER_API_KEY`, `INSTAPAPER_API_SECRET`, `INSTAPAPER_LOGIN`, and `INSTAPAPER_PASSWORD`.

## Transformers

Transformers are functions that modify the EPUB before writing the file to disk. There are many built-in transformers including:
- `beautify_hr` — converts lines of asterisks to horizontal rules
- `remove_duplicative_blockquotes` — removes magazine-style "pull quotes"
- `strip_emojis` — replaces emojis with shortcodes
- `strip_links` — removes `a` elements
- `embed_images` — embeds remote web images

## Compatibility

Portable Wisdom uses [`EbookLib`](https://pypi.org/project/EbookLib/) to create EPUB files. These files are compatible with most ereaders—including Nook, Kobo, and Sony—as well as most ebook software. Kindle owners can use [Pandoc](https://pandoc.org/) or a similar tool to convert from EPUB to MOBI.

### Styles

Portable Wisdom supports styles (`--style`) to create EPUB files optimized for your ereader's rendering engine. These styles are regular CSS files. They specify header sizes, image layout, quote formatting, etc. Use the default style or create your own.

## Contributing

To report a bug or request a feaure, [create an issue on GitHub](https://github.com/jacobbudin/portable-wisdom/issues/new). Developers are welcome and encouraged to submit pull requests, but contributors should strongly consider creating an issue and requesting comments before starting work.

### Source

You can run Portable Wisdom from its source like so:

	$ python3 -m portable_wisdom.wisdom

### Guidelines

- Comply with [PEP 8](https://www.python.org/dev/peps/pep-0008/) (use [Flake8](https://pypi.org/project/flake8/) to confirm, [autopep8](https://github.com/hhatto/autopep8) can help)
- Run and pass all tests
	- Create new tests or refine existing ones, if necessary

## License

MIT License

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "portable-wisdom",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "cli,ebook,reading,epub,instapaper",
    "author": "",
    "author_email": "Jacob Budin <self@jacobbudin.com>",
    "download_url": "https://files.pythonhosted.org/packages/41/c3/0edd3242bae182a85441bb3a61c390fae29f510bb594644bae19bd276bec/portable_wisdom-1.0.1.tar.gz",
    "platform": null,
    "description": "# Portable Wisdom\n\nPortable Wisdom is a command-line tool to generate an EPUB file from your unread articles in [Instapaper](https://www.instapaper.com/). You can then copy this file to your ereader.\n\n<img src=\"https://raw.githubusercontent.com/jacobbudin/portable-wisdom/master/preview.jpg\" alt=\"Preview of a Portable Wisdom-generated ebook on an ereader\" width=\"252\" />\n\n## Technologies\n\n- Python 3\n\n## Features\n\n- Retrieves unread articles from Instapaper\n- Finds and downloads articles' images from the web, downsizes them, converts them to greyscale, and embeds them into the file\n- Caches articles and images, runs fast for frequent users\n- Creates well-formatted EPUB files tailored for your ereader\n\n## Quick Start\n\nBefore you begin, you'll need to [request an Instapaper API key](https://www.instapaper.com/main/request_oauth_consumer_token) or copy one from a friend.\n\n### Python\n\n1. Download and install Portable Wisdom [from PyPI](https://pypi.org/project/portable-wisdom/):\n\n\t\t$ pip install portable-wisdom\n\n2. Run Portable Wisdom from the command line:\n\n\t\t$ portable-wisdom \\\n\t\t\t--instapaper-api-key KEY \\\n\t\t\t--instapaper-api-secret SECRET \\\n\t\t\t--instapaper-login USER \\\n\t\t\t--instapaper-password PASS\n\nOn success, the script will print the output filename. To view all of the options, run `$ portable-wisdom -h`.\n\n### Docker\n\nAlternatively, using [Docker](https://www.docker.com/get-started/), to download and execute Portable Wisdom [from Docker Hub](https://hub.docker.com/repository/docker/jacobbudin/portable-wisdom/general), run:\n\n\t$ docker pull jacobbudin/portable-wisdom:latest\n\t$ docker run jacobbudin/portable-wisdom:latest \\\n\t\t--instapaper-api-key KEY \\\n\t\t--instapaper-api-secret SECRET \\\n\t\t--instapaper-login USER \\\n\t\t--instapaper-password PASS\n\n## Environment\n\nAlternatively, you can supply the Instapaper credentials via environment variables: `INSTAPAPER_API_KEY`, `INSTAPAPER_API_SECRET`, `INSTAPAPER_LOGIN`, and `INSTAPAPER_PASSWORD`.\n\n## Transformers\n\nTransformers are functions that modify the EPUB before writing the file to disk. There are many built-in transformers including:\n- `beautify_hr` \u2014 converts lines of asterisks to horizontal rules\n- `remove_duplicative_blockquotes` \u2014 removes magazine-style \"pull quotes\"\n- `strip_emojis` \u2014 replaces emojis with shortcodes\n- `strip_links` \u2014 removes `a` elements\n- `embed_images` \u2014 embeds remote web images\n\n## Compatibility\n\nPortable Wisdom uses [`EbookLib`](https://pypi.org/project/EbookLib/) to create EPUB files. These files are compatible with most ereaders\u2014including Nook, Kobo, and Sony\u2014as well as most ebook software. Kindle owners can use [Pandoc](https://pandoc.org/) or a similar tool to convert from EPUB to MOBI.\n\n### Styles\n\nPortable Wisdom supports styles (`--style`) to create EPUB files optimized for your ereader's rendering engine. These styles are regular CSS files. They specify header sizes, image layout, quote formatting, etc. Use the default style or create your own.\n\n## Contributing\n\nTo report a bug or request a feaure, [create an issue on GitHub](https://github.com/jacobbudin/portable-wisdom/issues/new). Developers are welcome and encouraged to submit pull requests, but contributors should strongly consider creating an issue and requesting comments before starting work.\n\n### Source\n\nYou can run Portable Wisdom from its source like so:\n\n\t$ python3 -m portable_wisdom.wisdom\n\n### Guidelines\n\n- Comply with [PEP 8](https://www.python.org/dev/peps/pep-0008/) (use [Flake8](https://pypi.org/project/flake8/) to confirm, [autopep8](https://github.com/hhatto/autopep8) can help)\n- Run and pass all tests\n\t- Create new tests or refine existing ones, if necessary\n\n## License\n\nMIT License\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Generate EPUB files from unread Instapaper articles",
    "version": "1.0.1",
    "project_urls": {
        "Source": "https://github.com/jacobbudin/portable-wisdom"
    },
    "split_keywords": [
        "cli",
        "ebook",
        "reading",
        "epub",
        "instapaper"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d6d16fe68a456d6c5b31377ea18291e44b3954d8f11ea06ac908ed610371ff77",
                "md5": "2dcca64a7cb449ae0b8dd2c3cd9220ae",
                "sha256": "1272f18d74ce0f2f0998a854708d00b8c13cd0dac368c3ba6df316a02637e613"
            },
            "downloads": -1,
            "filename": "portable_wisdom-1.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2dcca64a7cb449ae0b8dd2c3cd9220ae",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 14300,
            "upload_time": "2024-02-14T12:06:30",
            "upload_time_iso_8601": "2024-02-14T12:06:30.697687Z",
            "url": "https://files.pythonhosted.org/packages/d6/d1/6fe68a456d6c5b31377ea18291e44b3954d8f11ea06ac908ed610371ff77/portable_wisdom-1.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "41c30edd3242bae182a85441bb3a61c390fae29f510bb594644bae19bd276bec",
                "md5": "7691c66032cb35208b59854b69701b96",
                "sha256": "13d65a219d88f3dbc304f61b8a80ea1259023baac5ced5e3c3ed2be266c77833"
            },
            "downloads": -1,
            "filename": "portable_wisdom-1.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "7691c66032cb35208b59854b69701b96",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 78252,
            "upload_time": "2024-02-14T12:06:32",
            "upload_time_iso_8601": "2024-02-14T12:06:32.998357Z",
            "url": "https://files.pythonhosted.org/packages/41/c3/0edd3242bae182a85441bb3a61c390fae29f510bb594644bae19bd276bec/portable_wisdom-1.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-14 12:06:32",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jacobbudin",
    "github_project": "portable-wisdom",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "portable-wisdom"
}
        
Elapsed time: 8.10070s