NewsFeed logo
Screenshots | Download | Usage | Features | Changes | License | Contact

Overview

NewsFeed is an RSS/RDF/Atom reader and aggregator for UNIX-like operating systems, such as FreeBSD, Linux, or Mac OS X, as well as Windows. It is written in Python and uses Mark Pilgrim's Universal Feed Parser for downloading and parsing feeds.

NewsFeed aims to be easy to setup and use and is something of a clone of NetNewsWire Lite (though admittedly not as Aqua-pretty). It only depends on Tk, no other libraries are required.

Screenshots

NewsFeed on Linux

NewsFeed v2.9 on Fedora under KDE
  NewsFeed on the Mac

NewsFeed v2.9 on Mac OS X 10.4

Download

NewsFeed v2.12   [92 kB]
(2009-06-17)
MD5 (NewsFeed-2.12.tar.gz) = 0f5ced1151ed94e0eac86b9e5d5e85dc

Online documentation (also included in the distribution)

RSS iconNewsFeed New Releases Information

Basic Usage

NewsFeed provides keyboard shortcuts for all safe actions. Go through new items with the Space bar, mark all items in a feed as read with M, open an item in the browser with O (or Return), and exit the program with Escape. The basic idea for the keyboard interface is (for a right-handed person) to have the index finger on the Space bar, the middle finger on N (to mark items), the ring finger on M, and the pinky on Shift (for doing Shift-N).

Update intervals and caching times can be set on a per-feed basis. Autodiscovery of feeds is supported. A helper script for dealing with feed://-URIs is provided. Searches are possible, with search results being shown in the feed list like a regular feed and they are also updated live. This is a good way to look group topics from different feeeds. Use "Unsubscribe" to delete a search, just as you would remove a normal feed.

A nice browser for use with NewsFeed is Dillo, as it starts up pretty much instantaneously. Just set your BROWSER environment variable accordingly. Using a different browser from your regular one has the advantage that your browsing history in your main browser is not touched. NewsFeed also has its own history feed (called RECENTLY VISITED) that contains all items that you opened in the browser so you can easily find an article again.

Finally, Snack can play an audio notification when new items are available, but this is strictly optional.

Please see the documentation for more information.

Features, Benefits (and possible Downsides)

Pros:

Cons (and some reasons why they may not amount to much):

Why Python?

Scripting languages in general make it easy to quickly adapt a program to one's needs. Just open the script in an editor, edit, save. I wish I could modify other programs on my desktop like that!

What sets Python apart from other scripting languages like Perl is that its syntax is very easy to read and that it includes a lot of useful modules in its standard distribution, as opposed to Perl, which relies heavily on CPAN.

Python also cleverly integrates some the greatest features from even more powerful languages like Common Lisp, Smalltalk, or Haskell, making it easy to use concepts like object-orientation, functional constructs, or exceptions, all with a minimal, easy-to-learn syntax. This mix-and-match approach in Python is something I find very refreshing.

Version History

v2.12 (2009-06-17)

Upgraded to the latest version of FeedParser (4.1) to address problems with certain Atom feeds.

v2.11 (2008-11-28)

This release features significantly better performance for searches, as well as highlighting of the search terms in the results.

v2.10 (2008-08-11)

Added a command line option for the console interface (--nogui) and some other minor improvements.

v2.9.1 (2008-03-01)

A problem related to Unicode characters in certain feeds was fixed.

v2.9 (2007-12-13)

This release fixes a problem with HTML rendering and adds another utility, bsize.py, which prints the size (in bytes) each feed occupies in the NewsFeed cache.

The default font sizes are now defined at the beginning of newsfeed.py, to make changing them easier.

More…

Requirements

Please note that while Python and Tk are often installed by default under Linux, Tkinter is sometimes a separate package. Try import Tkinter in Python to see if Tk and Tkinter are properly installed.

Also note that some distributions such as Red Hat include packages for both Python 1.x and 2.x. If your distribution is RPM-based and you are missing one or both packages, RPMfind may be a good place to start looking for them.

License

This software is provided under the GPL.

Related Projects

Contact Info

Martin C. Doege