{ "info": { "author": "Jacob Budin", "author_email": "self@jacobbudin.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Topic :: Utilities" ], "description": "# Portable Wisdom\n\n[![Build Status](https://travis-ci.org/jacobbudin/portable-wisdom.svg?branch=master)](https://travis-ci.org/jacobbudin/portable-wisdom)\n\nPortable Wisdom is a command-line tool to generate EPUB files from your recent unread articles in [Instapaper](https://www.instapaper.com/). You can then copy these files to your ereader.\n\n\"Preview\n\n## Technologies\n\n- Python 3\n\n## Features\n\n- Retrieves unread articles from Instapaper\n- Finds and downloads images from the web, downsizes them, converts them to greyscale, and embeds them into the file\n- Caches articles and images, runs fast for heavy users\n- Creates well-formatted EPUB files tailored for your ereader\n\n## Quick Start\n\n1. Download and install Portable Wisdom from PyPI:\n\n\t\t$ pip install portable-wisdom\n\n2. [Request an Instapaper API key.](https://www.instapaper.com/main/request_oauth_consumer_token) (Or copy one from a friend.)\n4. Run Portable Wisdom from the command line:\n\n\t\t$ portable-wisdom --instapaper-key KEY \\\n\t\t\t--instapaper-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## Transformers\n\nTransformers are functions that modify the EPUB before writing the file to disk. There are many built-in transformers including: `beautify_hr` (converts lines of asertisks to horizontal rules), `remove_duplicative_blockquotes` (removes magazine-style \"pull quotes\"), `strip_links` (removes `a` elements), `embed_images` (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", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jacobbudin/portable-wisdom", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "portable-wisdom", "package_url": "https://pypi.org/project/portable-wisdom/", "platform": "", "project_url": "https://pypi.org/project/portable-wisdom/", "project_urls": { "Homepage": "https://github.com/jacobbudin/portable-wisdom" }, "release_url": "https://pypi.org/project/portable-wisdom/0.2/", "requires_dist": null, "requires_python": "", "summary": "Generate EPUB from Instapaper", "version": "0.2" }, "last_serial": 5346910, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "0f8fcdcfbe3d62608c6ed5bb235c3010", "sha256": "8b23486ba3d5ccb6e11e40fa95edd2daa76482255fd7ca87c46665636fb8411c" }, "downloads": -1, "filename": "portable_wisdom-0.1.tar.gz", "has_sig": false, "md5_digest": "0f8fcdcfbe3d62608c6ed5bb235c3010", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6431, "upload_time": "2019-04-30T02:33:03", "url": "https://files.pythonhosted.org/packages/ab/d6/b04a8a44ba3fb3093a7d7e11c6e7767a884eebc44f97d54c4ed6cbb4cd2e/portable_wisdom-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "f6c097954903c8203ccb34769953a79e", "sha256": "a784d2bb28861fef5e8c264639c5f9b77eb6908701d66b78723eceeae566a6a0" }, "downloads": -1, "filename": "portable_wisdom-0.1.1.tar.gz", "has_sig": false, "md5_digest": "f6c097954903c8203ccb34769953a79e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6437, "upload_time": "2019-04-30T02:44:54", "url": "https://files.pythonhosted.org/packages/d4/f4/a775a40ab89b5b7596490618e6a3b64e995bd30775da3b24b14e5cc06133/portable_wisdom-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "583df041dcf2eebfb5d795045b05df14", "sha256": "998e16daa54a0d1a850e0ac07bc3652efe460759de235bed4654294d99a8c182" }, "downloads": -1, "filename": "portable_wisdom-0.1.2.tar.gz", "has_sig": false, "md5_digest": "583df041dcf2eebfb5d795045b05df14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7752, "upload_time": "2019-05-02T02:19:02", "url": "https://files.pythonhosted.org/packages/15/3f/0089be9837ceccf661620721b2bd7d974ee91b4aac192415ce2b8442e81f/portable_wisdom-0.1.2.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "685ec2442f89c78127bf5536f134f43e", "sha256": "0abdc06e4305b90e1047dc7ad20f33745a66a82b19f1b6d4fdeb1905b24d4f17" }, "downloads": -1, "filename": "portable_wisdom-0.2.tar.gz", "has_sig": false, "md5_digest": "685ec2442f89c78127bf5536f134f43e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10271, "upload_time": "2019-06-01T17:28:04", "url": "https://files.pythonhosted.org/packages/18/b2/e6c44b1e76de33f4da5690c0edfd98531176fabca2b11c05eb48beacd087/portable_wisdom-0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "685ec2442f89c78127bf5536f134f43e", "sha256": "0abdc06e4305b90e1047dc7ad20f33745a66a82b19f1b6d4fdeb1905b24d4f17" }, "downloads": -1, "filename": "portable_wisdom-0.2.tar.gz", "has_sig": false, "md5_digest": "685ec2442f89c78127bf5536f134f43e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10271, "upload_time": "2019-06-01T17:28:04", "url": "https://files.pythonhosted.org/packages/18/b2/e6c44b1e76de33f4da5690c0edfd98531176fabca2b11c05eb48beacd087/portable_wisdom-0.2.tar.gz" } ] }