Rawdog is an RSS Aggregator Without Delusions Of Grandeur. It is a "river of news"-style aggregator: it uses feedparser to download feeds in RSS, Atom and a variety of other formats, and (by default) produces static HTML pages containing the newest articles in date order.
Rawdog is designed to be invoked periodically by cron (or a similar task-scheduling mechanism). It stores data in flat files, so no database is required. It can use threads to download multiple feeds in parallel, and uses ETags, Last-Modified, and gzip compression to minimise network bandwidth usage.
Written in Python, rawdog is highly customisable and extendable. Its output is generated using templates, so it's easy to integrate the output of rawdog into your own web pages. You can extend rawdog's functionality using plugin modules written in Python — for example, you can provide output in different formats, or filter or modify incoming data from feeds.
Full documentation is included in the source package to get you started with rawdog. If you're using a binary package that doesn't include the documentation, you can view the latest README, config and style.css files here.
rawdog requires Python 2.6 or later, and feedparser 5.1.2 or later. (rawdog won't work with Python 3.x; Python 3 is a different language from Python 2.)
I'd also strongly recommend installing PyTidyLib, which rawdog can use to generate cleaner output HTML.
rawdog is designed to run on POSIX-compliant free operating systems such as Linux and FreeBSD, and requires Unix-like filesystem semantics. rawdog is not supported on proprietary operating systems.
Packaged versions of rawdog.
rawdog packages are available for some systems. These are usually more convenient for end-users to install than the source tarball above, but they might not contain the very latest version of rawdog.
Here are the plugins that are currently available; if you've written rawdog plugins that you'd like to be listed here, please let me know. If you can't see a plugin to do what you want, you can probably write it yourself without too much effort. See the PLUGINS file in the source package for more details of the plugin API, or look at the existing plugins provided.
To install a plugin, make sure that you have
plugindirs plugins in your config file, and drop the plugin into your
If you liked this article, subscribe to the feed by clicking the image below to keep informed about new contents of the blog: