{"id":13398283,"url":"https://github.com/p-e-w/krill","last_synced_at":"2025-03-14T02:31:16.369Z","repository":{"id":35132277,"uuid":"39338686","full_name":"p-e-w/krill","owner":"p-e-w","description":":newspaper: The hacker's way of keeping up with the world (NO LONGER MAINTAINED)","archived":true,"fork":false,"pushed_at":"2017-06-08T01:38:39.000Z","size":429,"stargazers_count":803,"open_issues_count":4,"forks_count":34,"subscribers_count":28,"default_branch":"master","last_synced_at":"2024-09-20T03:18:27.044Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/p-e-w.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-07-19T15:33:22.000Z","updated_at":"2024-08-27T09:32:01.000Z","dependencies_parsed_at":"2022-08-17T21:35:05.233Z","dependency_job_id":null,"html_url":"https://github.com/p-e-w/krill","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/p-e-w%2Fkrill","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/p-e-w%2Fkrill/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/p-e-w%2Fkrill/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/p-e-w%2Fkrill/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/p-e-w","download_url":"https://codeload.github.com/p-e-w/krill/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243511659,"owners_count":20302594,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T19:00:21.767Z","updated_at":"2025-03-14T02:31:16.041Z","avatar_url":"https://github.com/p-e-w.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"[![PyPI](https://img.shields.io/pypi/v/krill.svg)](https://pypi.python.org/pypi/krill) ![Python versions](https://img.shields.io/pypi/pyversions/krill.svg) ![krill rocks](https://img.shields.io/badge/krill-rocks-ff69b4.svg)\n\n\n# Want news? Just `krill` it!\n\n[Krill](https://en.wikipedia.org/wiki/Krill) are [*filter feeders*](https://en.wikipedia.org/wiki/Filter_feeder). True to its namesake, `krill` :fried_shrimp: filters feeds. It is not picky about its diet, and will happily consume **RSS, Atom, CDF** and even **Twitter** :bird: feeds (*no credentials required!*). It aggregates feed items from all sources you specify, filters out those that interest you, and displays them as a **live stream** :fire: of clean, legible command line output.\n\n![Screenshot](screenshot.png)\n\n`krill` is beautifully minimal. `krill` is extremely easy to set up and use, and runs anywhere Python runs. `krill` is a refreshingly different way of consuming news :newspaper: and updates from anywhere on the web. **`krill` is the hacker's way of keeping up with the world.** :globe_with_meridians:\n\n\n## Installation\n\n`krill` requires [Python](https://www.python.org/) 2.7+/3.2+ :snake:. If you have the [pip](https://pip.pypa.io) package manager, all you need to do is run\n\n```\npip install krill\n```\n\neither as a superuser or from a [virtualenv](https://virtualenv.pypa.io) environment.\n\nOf course, you can also [download the script](krill/krill.py) directly from this repository, in which case you will need to install the dependencies [Beautiful Soup](http://www.crummy.com/software/BeautifulSoup/) (*what a library!* :star:), [feedparser](https://github.com/kurtmckee/feedparser), [Blessings](https://github.com/erikrose/blessings) and [Requests](https://github.com/kennethreitz/requests) manually.\n\n\n## Usage\n\n### Command line\n\n```\nkrill [-h] [-s URL [URL ...]] [-S FILE] [-f REGEX [REGEX ...]]\n      [-F FILE] [-u SECONDS]\n\n  -s URL [URL ...], --sources URL [URL ...]\n                        URLs to pull data from\n  -S FILE, --sources-file FILE\n                        file from which to load source URLs (OPML format\n                        assumed if filename ends with \".opml\")\n  -f REGEX [REGEX ...], --filters REGEX [REGEX ...]\n                        patterns used to select feed items to print\n  -F FILE, --filters-file FILE\n                        file from which to load filter patterns\n  -u SECONDS, --update-interval SECONDS\n                        time between successive feed updates (default: 300\n                        seconds, 0 for single pull only)\n```\n\n### Example\n\n```\nkrill -s \"https://twitter.com/nasa\" -f \"new ?horizons\"\n```\n\nwill follow NASA's :rocket: Twitter stream, printing only tweets that mention the [*New Horizons* probe](https://en.wikipedia.org/wiki/New_Horizons).\n\n`krill` automatically determines whether to treat a web document as a Twitter or an XML feed. If multiple sources and/or filters are loaded from a file with the `-S` and `-F` tags, each must be on a separate line (except if the sources file uses the [OPML](https://en.wikipedia.org/wiki/OPML) format, in which case all `xmlUrl` attributes are loaded). Empty lines and lines starting with `#` (comments) are ignored.\n\nAny URL format accepted by the Requests library is supported. In particular, feeds requiring (basic) HTTP authentication can be accessed by supplying credentials in the URL string with `https://user:password@example.com/feed`.\n\nInline and file specifications may be combined freely. If more than one filter is given, items matching *any* of the filters are printed. If no filter is given, all items are printed.\n\n\n## License\n\nCopyright \u0026copy; 2015 Philipp Emanuel Weidmann (\u003cpew@worldwidemann.com\u003e)\n\nReleased under the terms of the [GNU General Public License, version 3](https://gnu.org/licenses/gpl.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fp-e-w%2Fkrill","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fp-e-w%2Fkrill","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fp-e-w%2Fkrill/lists"}