The programmable feed reader
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.
Saving feed items to a Maildir folder:
feed2exec add "NASA breaking news" https://www.nasa.gov/rss/dyn/breaking_news.rss --folder nasa feed2exec fetch
This creates the equivalent of this configuration file in ~/.config/feed2exec/feed2exec.ini:
[DEFAULT] output = feed2exec.plugins.maildir mailbox = '~/Maildir' [NASA breaking news] folder = nasa url = https://www.nasa.gov/rss/dyn/breaking_news.rss
Send new feed items to Transmission:
feed2exec add "Example torrent list" http://example.com/torrents/feed --output feed2exec.plugins.exec --args 'transmission-remote marcos.anarc.at -a %(link)s -w /srv/incoming'
Send new feed items to Mastodon, using the toot commandline client:
feed2exec add "My torrent" http://example.com/blog/feed --output feed2exec.plugins.exec --args 'toot post "%(title)s %(link)s'
Send new feed items to Twitter, using the tweet commandline client from python-twitter:
feed2exec add "My torrent" http://example.com/blog/feed --output feed2exec.plugins.exec --args 'tweet "%(title)0.40s %(link)0.100s'
Show feed contents:
feed2exec add "NASA breaking news" https://www.nasa.gov/rss/dyn/breaking_news.rss --output feed2exec.plugins.echo --args "%(title)s %(link)s" feed2exec fetch
Multiple feeds can also be added with the OPML import command. See the usage document for more information.
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
Make sure you use Python 3. feed2exec is written to also support Python 2.7, but there may be performance or security issues in that older version. For example, Python 2.7 seems to suffer from a header injection flaw that currently makes tests fail.
Why the name?
Design and known issues
See the design document for more information about how and why the program was built and its limitations. The design document also features a comparison with other similar software.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size feed2exec-0.3.1-py3-none-any.whl (37.6 kB)||File type Wheel||Python version py3||Upload date||Hashes View|
Hashes for feed2exec-0.3.1-py3-none-any.whl