• This repository has been archived on 11/Nov/2018
  • Stars
    star
    807
  • Rank 54,967 (Top 2 %)
  • Language
    Python
  • Created almost 9 years ago
  • Updated about 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

πŸ“° The hacker's way of keeping up with the world (NO LONGER MAINTAINED)

PyPI Python versions krill rocks

Want news? Just krill it!

Krill are filter feeders. True to its namesake, krill 🍀 filters feeds. It is not picky about its diet, and will happily consume RSS, Atom, CDF and even Twitter 🐦 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 πŸ”₯ of clean, legible command line output.

Screenshot

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 πŸ“° and updates from anywhere on the web. krill is the hacker's way of keeping up with the world. 🌐

Installation

krill requires Python 2.7+/3.2+ 🐍. If you have the pip package manager, all you need to do is run

pip install krill

either as a superuser or from a virtualenv environment.

Of course, you can also download the script directly from this repository, in which case you will need to install the dependencies Beautiful Soup (what a library! ⭐), feedparser, Blessings and Requests manually.

Usage

Command line

krill [-h] [-s URL [URL ...]] [-S FILE] [-f REGEX [REGEX ...]]
      [-F FILE] [-u SECONDS]

  -s URL [URL ...], --sources URL [URL ...]
                        URLs to pull data from
  -S FILE, --sources-file FILE
                        file from which to load source URLs (OPML format
                        assumed if filename ends with ".opml")
  -f REGEX [REGEX ...], --filters REGEX [REGEX ...]
                        patterns used to select feed items to print
  -F FILE, --filters-file FILE
                        file from which to load filter patterns
  -u SECONDS, --update-interval SECONDS
                        time between successive feed updates (default: 300
                        seconds, 0 for single pull only)

Example

krill -s "https://twitter.com/nasa" -f "new ?horizons"

will follow NASA's πŸš€ Twitter stream, printing only tweets that mention the New Horizons probe.

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 format, in which case all xmlUrl attributes are loaded). Empty lines and lines starting with # (comments) are ignored.

Any 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:[email protected]/feed.

Inline 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.

License

Copyright Β© 2015 Philipp Emanuel Weidmann ([email protected])

Released under the terms of the GNU General Public License, version 3

More Repositories

1

maybe

πŸ“‚ πŸ‡ 🎩 See what a program does before deciding whether you really want it to happen (NO LONGER MAINTAINED)
Python
6,362
star
2

finalterm

At last – a modern terminal emulator (NO LONGER MAINTAINED)
Vala
3,860
star
3

argos

Create GNOME Shell extensions in seconds
JavaScript
1,612
star
4

ternimal

Simulate a lifeform in the terminal
Rust
1,042
star
5

plotinus

A searchable command palette in every modern GTK+ application
Vala
1,010
star
6

savage

A primitive computer algebra system
Rust
548
star
7

hegemon

A modular system monitor written in Rust
Rust
324
star
8

shin

A shell in every text input on your system
Go
265
star
9

ranwhen

Visualize when your system was running (NO LONGER MAINTAINED)
Python
262
star
10

language-javascript-semantic

JavaScript Semantic Highlighting Package for Atom (NO LONGER MAINTAINED)
JavaScript
82
star
11

GTKDarkThemeVariantSetter

Make Sublime Text use the dark GTK+ theme variant (NO LONGER MAINTAINED)
Python
51
star
12

quicksafe

The easiest way to securely encrypt notes (NO LONGER MAINTAINED)
Python
51
star
13

envy

Text editing supercharger
JavaScript
35
star
14

chatbot_clinic

Science-driven chatbot development
Python
27
star
15

sequencer

Purely algorithmic number sequence identification
Scala
25
star
16

pingpong

End-to-end latency monitoring for Matrix
Go
10
star
17

cal-ender

A modern, practical date model simplifying what people actually use a calendar for (NO LONGER MAINTAINED)
JavaScript
7
star
18

wd2sql

Transform a Wikidata JSON dump into an SQLite database
Rust
6
star
19

tree-saw

tree-sitter and compilers testing each other
JavaScript
4
star
20

pastevents

A structured, searchable archive of Wikipedia's "Current Events" portal
Python
3
star
21

enough

Rust
2
star
22

humergesort

Rank arbitrary lists through human-powered comparison sorting (NO LONGER MAINTAINED)
1
star
23

curv-solids

A library for working with polyhedra in Curv
1
star
24

graduality

Rust
1
star
25

arrows

A frontend for creative writing with LLMs
TypeScript
1
star