{ "info": { "author": "Gem Newman", "author_email": "spurll@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console :: Curses", "Intended Audience :: End Users/Desktop", "Programming Language :: Python :: 3.5", "Topic :: Internet" ], "description": "tread\n=====\n\nA basic terminal RSS feed reader written in Python 3.\n\nUsage\n=====\n\nInstallation\n------------\n\nInstall via pip with `pip3 install tread` or download the source and run\n`python3 setup.py install`.\n\nRequirements\n------------\n\n* Python 3.5\n* `curses` (included with Python 3.5 on \\*nix systems)\n* `sqlalchemy`\n* `pyyaml`\n* `python-dateutil`\n* `requests`\n* `beautifulsoup4`\n* `imgii`\n* `html2text`\n\nBecause `curses` is not included on Windows distributions of Python, Windows\nusers may want to run `tread` in Cygwin (or maybe [bash for Windows](http://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/)\nwould work). Alternatively, you can make a go of it with one of the\nseveral `curses` implementations available for Windows.\n\nBasic Usage\n-----------\n\nOnce installed, run `tread`.\n\nConfiguration\n-------------\n\nBy default, `tread` assumes that your configuration file is located at\n`~/.tread.yml`. If it isn't, you may specify a configuration file at runtime:\n`tread config.yml`.\n\nIf the configuration file can't found at runtime, `tread` will create a\nconfiguration file for you with reasonable defaults and copy it to the specified\n(or default) location. You may then edit this file to add feeds or change\noptional parameters.\n\n### Subscribing to a Feed\n\nWhile some optional parameters can be configured (who doesn't love tweaking HTTP\nrequest timeout values?), most users will primarily use the configuration\nfile to specify the feeds to which they want to subscribe. For each feed,\n`tread` requires a `name` and a `url`, in the following format:\n\n```yaml\nfeeds:\n - name: Bad Astronomy\n url: http://www.slate.com/blogs/bad_astronomy.fulltext.all.rss\n - name: Boing Boing\n url: http://boingboing.net/feed\n - name: Whatever\n url: http://whatever.scalzi.com/feed\n - name: xkcd\n url: http://xkcd.com/rss.xml\n```\n\nMake sure that you get the spacing right (using spaces, not tabs); YAML can be a\nlittle finicky.\n\n### Supported Parsers\n\nSeveral parsers are available to convert the HTML content found in RSS feeds to\ntext easily displayed in a terminal. The parser to use is specified using the\nconfiguration file's `parser` field.\n\nAcceptable values for the `parser` field are: `html2text` (default), `lynx`, and\n`w3m`.\n\nIf you'd prefer to avoid external calls, you probably want to use `html2text`,\nwhich will convert the content to markdown; the `lynx` and `w3m` browsers can\nalso be used to parse the content (if you have them installed).\n\nUpdating Feeds\n--------------\n\nYour feeds will be updated periodically while you use `tread`, and you can\nmanually update a feed by hitting the key dfined in your configuration YAML file\n(which defaults to `U`).\n\nIf you want to keep your feeds up-to-date even when the program isn't open you\ncan use `cron` (or something similar) to schedule updates. This is helpful if\nyou subscribe to a site that posts a lot of content (or has a short RSS history)\nand you don't check your feed reader every day.\n\nTo update your feeds in a non-interactive mode, simply pass the `--update` (or\n`-u`) flag:\n\n```bash\n$ tread --update\n```\n\nIf you want your feeds to be updated daily at 09:00, add the following line to\nyour `crontab` with `crontab -e`:\n\n```cron\n0 9 * * * tread --update\n```\n\nOn OS X, there are plenty of apps available for scheduling tasks; if you don't\nwant to install a new application, you can use the builtin `launchd`, although\nit can be [a little more complicated](http://alvinalexander.com/mac-os-x/launchd-examples-launchd-plist-file-examples-mac).\n\nBugs and Feature Requests\n=========================\n\nFeature Requests\n----------------\n\n* Support for ATOM feeds\n* View toggles to display only unread or only starred items (or the combination\n of those two)\n* Ability to scroll feed list\n* Configurable DB pruning (only keep X days to prevent DB from ballooning)\n* Colour support for images\n* [bcj](https://github.com/bcj) recommends changing the name to `cuRSSes`\n\nKnown Bugs\n----------\n\n* When an image is displayed in a feed item and a series resizes occur, way too\n many external requests get generated, and hosts will frequently stop\n responding (and it's slow); solve by caching all ASCII images in a dict by URL\n* Looks like some Unicode characters aren't working right, such as the title\n text in this xkcd comic: http://xkcd.com/1647/\n* Resizing the screen results in losing the contents of the messages window (oh\n well)\n* Currently ignores the ``, ``, and\n `` tags in favour of re-fetching each feed at the interval\n specified in the config file\n\nLicense Information\n===================\n\nWritten by Gem Newman. [Website](http://spurll.com) | [GitHub](https://github.com/spurll/) | [Twitter](https://twitter.com/spurll)\n\nThis work is licensed under Creative Commons [BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/).\n\nRemember: [GitHub is not my CV](https://blog.jcoglan.com/2013/11/15/why-github-is-not-your-cv/).\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/spurll/tread/tarball/0.9.3", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/spurll/tread", "keywords": "rss,feed,reader", "license": "CC BY-SA 4.0", "maintainer": null, "maintainer_email": null, "name": "tread", "package_url": "https://pypi.org/project/tread/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/tread/", "project_urls": { "Download": "https://github.com/spurll/tread/tarball/0.9.3", "Homepage": "https://github.com/spurll/tread" }, "release_url": "https://pypi.org/project/tread/0.9.3/", "requires_dist": null, "requires_python": null, "summary": "A terminal feed reader.", "version": "0.9.3" }, "last_serial": 2479562, "releases": { "0.9": [ { "comment_text": "", "digests": { "md5": "af0d6034611e96e809cdcb826beca545", "sha256": "43a70951522ed1858980035555e9cb385ae66350710eba2e1d8fad5269e3b9da" }, "downloads": -1, "filename": "tread-0.9.tar.gz", "has_sig": false, "md5_digest": "af0d6034611e96e809cdcb826beca545", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16568, "upload_time": "2016-05-20T15:23:44", "url": "https://files.pythonhosted.org/packages/49/50/54fbba2e62cd38e55d7747f15e73e57a2620747e4002e8488a26bb2b0618/tread-0.9.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "e21202772a07ce43c9f318ebbd69ae1a", "sha256": "527ba2a1c8093c6d3ac569456e7e5ffc0d2b1dd708e041db4cb14cfddbea3388" }, "downloads": -1, "filename": "tread-0.9.1.tar.gz", "has_sig": false, "md5_digest": "e21202772a07ce43c9f318ebbd69ae1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16469, "upload_time": "2016-05-20T15:31:34", "url": "https://files.pythonhosted.org/packages/aa/9a/53043eaa1aa13590e7512e0dcb933090ee9a53ccf5cc52977b31812507dc/tread-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "07c610f30b9859f375492a6719f5ae02", "sha256": "cf4a51ef5fbb535f0ca3b208b8f6409e98986ab1bf056b216463770f63326a39" }, "downloads": -1, "filename": "tread-0.9.2.tar.gz", "has_sig": false, "md5_digest": "07c610f30b9859f375492a6719f5ae02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16738, "upload_time": "2016-05-20T16:57:09", "url": "https://files.pythonhosted.org/packages/81/ba/33fd68782c0a4f6ec693e500fca554b0c3285394fead707b28e4b0becd8e/tread-0.9.2.tar.gz" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "95deb7d008a14856513e72275932f390", "sha256": "35f364f59f29fe9937bf9ba8ce6804df52d96d1776a77cfc84cea3f621f231bc" }, "downloads": -1, "filename": "tread-0.9.3.tar.gz", "has_sig": false, "md5_digest": "95deb7d008a14856513e72275932f390", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16766, "upload_time": "2016-11-23T19:35:23", "url": "https://files.pythonhosted.org/packages/5c/24/fa1a3bd02e6d1ac564f3caa8b6e97a6eadf18f9ce65e78bfbe2c68b38029/tread-0.9.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "95deb7d008a14856513e72275932f390", "sha256": "35f364f59f29fe9937bf9ba8ce6804df52d96d1776a77cfc84cea3f621f231bc" }, "downloads": -1, "filename": "tread-0.9.3.tar.gz", "has_sig": false, "md5_digest": "95deb7d008a14856513e72275932f390", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16766, "upload_time": "2016-11-23T19:35:23", "url": "https://files.pythonhosted.org/packages/5c/24/fa1a3bd02e6d1ac564f3caa8b6e97a6eadf18f9ce65e78bfbe2c68b38029/tread-0.9.3.tar.gz" } ] }