Skip to main content

Rsstail

pypi version License

Rsstail is a command-line syndication feed monitor with behaviour similar to tail -f. Rsstail (Python/feedparser) is inspired by rsstail (C/libmrss), but provides more customizable output formatting and additional features.

Usage

$ rsstail --help
Usage: rsstail [options] <url> [<url> ...]

General Options:
  -v --verbose            increase verbosity
  -V --version            show version and exit
  -h --help               show this help message and exit
  -x --help-format        show formatting help and exit

Feed Options:
  -i --interval <arg>     poll every <arg> seconds
  -e --iterations <arg>   poll <arg> times and quit
  -n --initial <arg>      initially show <arg> items
  -w --newer <arg>        show items newer than <arg>
  -b --bytes <arg>        show only <arg> description/comment bytes
  -r --reverse            show in reverse order
  -s --striphtml          strip html tags
  -o --nofail             do not exit on error
  -q --unique             skip duplicate items

Format Options:
  -t --timestamp          show local timestamp
  -T --utc-timestamp      show utc timestamp
  -l --title              show title
  -u --url                show url
  -d --desc               show description
  -p --pubdate            show publication date
  -U --updated            show last update date
  -a --author             show author
  -c --comments           show comments
  -g --no-heading         do not show headings
  -m --time-format <arg>  date/time format
  -f --format <arg>       output format (overrides other format options)

Request Options:
  --user-agent <arg>      set user-agent
  --req-header <arg>      set request header (e.g. "Sec-GPC:1")

Examples:
  rsstail --timestamp --pubdate --title --author <url1> <url2> <url3>
  rsstail --reverse --title <url> <username:password@url>
  rsstail --interval 60|60s|5m|1h --newer "2011/12/20 23:50:12" <url>
  rsstail --format '%(timestamp)-30s %(title)s %(author)s\n' <url>
  rsstail --format '{timestamp:<30} {title} {author}\n' <url>

$ rsstail --help-format
Format specifiers must have one the following forms:
  %(placeholder)[flags]s
  {placeholder:flags}

Examples:
  --format '%(timestamp)s %(pubdate)-30s %(author)s\n'
  --format '%(title)s was written by %(author)s on %(pubdate)s\n'
  --format '{timestamp:<20} {pubdate:^30} {author:>30}\n'

Time format takes standard 'sprftime' specifiers:
  --time-format '%Y/%m/%d %H:%M:%S'
  --time-format 'Day of the year: %j Month: %b'

Useful flags in this context are:
  %(placeholder)-10s - left align and pad
  %(placeholder)10s  - right align and pad
  {placeholder:<10}  - left align and pad
  {placeholder:>10}  - right align and pad
  {placeholder:^10}  - center align and pad

Available placeholders:
  author
  comments
  created
  desc
  expired
  id
  link
  pubdate
  timestamp
  title
  updated
  utc-timestamp

Installing

The latest stable version of rsstail can be installed from pypi:

$ pip install rsstail

Or simply put the standalone rsstail script in your $PATH and make it executable:

sudo curl -L -o /usr/local/bin/rsstail https://github.com/gvalkov/rsstail.py/releases/download/v0.7.0/rsstail.pyz
sudo chmod 0755 /usr/local/bin/rsstail

Colorizing output

Rsstail's' output can be piped to one of the many console colorizers. Consider using one of the following tools: clide, multitail, ccze, colorize, colorex or colout.

Example with clide:

$ rsstail <options> \
| clide -e '/(Title|Pubdate|Author|Link|Description):/g,fg=yellow,bold' \
        -e '/^.*FAILURE.*$/,fg=red,bold \

Example with multitail:

# add to /etc/multitail.conf
colorscheme:rsstail.py:console syndication feed monitor
cs_re:red,,bold:^.*FAILURE.*$
cs_re:cyan:(:|/)
cs_re:yellow:^.......... ..:..:..
cs_re:green:(Title|Author|Link|Pubdate):

$ multitail -cS "rsstail.py" -l "rsstail <options>"

These two examples are barely touching the surface of what clide and multitail can do. Refer to the documentation of these excellent projects for more information.

Shell completion

Rsstail comes with shell completion scripts for bash and zsh.

If you are installing system-wide, the setup script will attempt to place these files in the right place.

Similar projects

License

Rsstail is released under the terms of the Revised BSD License.

Release files for rsstail 0.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rsstail 0.7.0
File Size Uploaded
rsstail-0.7.0.tar.gz 7.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rsstail 0.7.0
File Interpreter ABI Platform
rsstail-0.7.0-py3-none-any.whl Python 3 none any Details

Total release size: 17.2 kB

Release files / rsstail-0.7.0.tar.gz

Download URL rsstail-0.7.0.tar.gz
Size 7.7 kB
Tags Source
SHA-256 checksum
How to use checksums
b2050c720c78da47c81b29a9e5cbee75d463ed63b8f75ff3e13b5bfa88853786
BLAKE2b-256 checksum
How to use checksums
fb0afbb1f0c6afad83550e2b87ead084ee2c6d1d2b08cc6c86284bf8dd1211e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"43","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / rsstail-0.7.0-py3-none-any.whl

Download URL rsstail-0.7.0-py3-none-any.whl
Size 9.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9f774cab0feb7564d9a0da19290cacef94c253091bc69657f74fa02c0410b656
BLAKE2b-256 checksum
How to use checksums
0828037c3eb5aa42f9ebc49b8b86eb73f4f021c938e427e6640591bcc08b26af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"43","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.7.0 This release

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

1 release file

0.3.0

1 release file

0.2.0

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page