Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

The programmable feed reader

Project description

feed2exec is a simple program that runs custom actions on new RSS feed items (or whatever feedparser can read). It currently has support for writing into mailboxes (Maildir folders) or executing commands, but more actions can be easily implemented through plugins. Email are saved as multipart plain/HTML and can be sent to arbitrary folders.

AGPLv3 licensed pipeline status coverage report feed2exec version on PyPI feed2exec version in stable feed2exec version in unstable Say thanks to the author


Simple run with no side effects:

feed2exec parse --output echo --args '{item.title}'

Saving feed items to a Maildir folder:

feed2exec add "NASA breaking news" --folder nasa
feed2exec fetch

This creates the equivalent of this configuration file in ~/.config/feed2exec.ini:

output = feed2exec.plugins.maildir
mailbox = ~/Maildir

[NASA breaking news]
folder = nasa
url =

Send new feed items to Transmission:

feed2exec add "Example torrent list" --output transmission --folder /srv/incoming

Send new feed items to Mastodon, using the toot commandline client:

feed2exec add "My site" --output exec --args 'toot post "{item.title} {}"'

Send new feed items to Twitter, using the tweet commandline client from python-twitter:

feed2exec add "My site on twitter" --output exec --args 'tweet "{item.title:40s} {}"'

Show feed contents:

feed2exec add "NASA breaking news" --output echo --args "{item.title} {}"
feed2exec fetch

Multiple feeds can also be added with the OPML import command. See the usage document for more information including known issues and limitations.


This can be installed using the normal Python procedures:

pip install feed2exec

It can also be installed from source, using:

pip install .

It can also be ran straight from the source, using:

python -m feed2exec


feed2exec is explicitly written for Python 3. It may be possible to backport it to Python 2 if there is sufficient demand, but there are too many convenient Python3 constructs to make this useful. Furthermore, all dependencies are well-packaged for Py3 and the platform is widely available. Upgrade already.

The program may also be available as an official package from your Linux distribution.

Source, documentation and issues are available on GitLab.


feed2exec relies on the feedparser module to parse feeds and as such has all the bugs and limitations of that modules. In particular, feeds with non-standard dates will break the parser, unless the dateparser module is installed.

Why the name?

There are already feed2tweet and feed2imap out there so I figured I would just reuse the prefix and extend both programs at once.

Design information

See the design document for more information about how and why the program was built. The design document also features a comparison with other similar software.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for feed2exec, version 0.16.0
Filename, size File type Python version Upload date Hashes
Filename, size feed2exec-0.16.0-py3-none-any.whl (123.9 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page