Skip to main content

feediverse will read RSS/Atom feeds and send the messages as Mastodon posts. Please use responsibly! feediverse is kind of the same thing as feed2toot but it's just one module that works with Python 3, and I was bored.

Install

pip install feediverse

Run

The first time you run feediverse you'll need to tell it your Mastodon instance and get an access token which it will save in a configuration file. If you don't specify a config file it will use ~/.feediverse:

feediverse

Once feediverse is configured you can add it to your crontab:

*/15 * * * * /usr/local/bin/feediverse    

Run feediverse --help to show the command line options.

Post Format

You can customize the post format by opening the configuration file (default is ~/.feediverse) and updating the template property of your feed. The default format is:

{title} {url}

If you want you can use {summary} in your template, and add boilerplate text like so:

Bookmark: {title} {url} {summary}

{hashtags} will look for tags in the feed entry and turn them into a space separated list of hashtags. For some feeds (e.g. youtube-rss) you should use {link} instead of {url}.

{content} is the whole content of the feed entry (with html-tags stripped). Please be aware that this might easily exceed Mastodon's limit of 512 characters.

Multiple Feeds

Since feeds is a list you can add additional feeds to watch if you want.

...
feeds:
  - url: https://example.com/feed/
    template: "dot com: {title} {url}"
  - url: https://example.org/feed/
    template: "dot org: {title} {url}"
    generator: wordpress

Special Handling for Different Feed Generators

feediverse has support for some special cases of some feed generators. For example detecting the entries perma-link. Currently only Wordpress is handled, but others may follow.

If a feed does not provide a proper generator entry, you can set it by adding a generator: value to the feed's configuration. See the seconds one in the example above.

You can check whether feed provides a generator entry like this:

feediverse --verbose --dry-run feedverse-test.rc | grep generator

Why?

I created feediverse because I wanted to send my Pinboard bookmarks to Mastodon. I've got an IFTTT recipe that does this for Twitter, but IFTTT doesn't appear to work with Mastodon yet. That being said feediverse should work with any RSS or Atom feed (thanks to feedparser).

Warning!

Please use responsibly. Don't fill up Mastodon with tons of junk just because you can. That kind of toxic behavior is why a lot of people are trying to establish other forms of social media like Mastodon.

Download files

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

Source Distribution

feediverse-0.2.0.tar.gz (6.2 kB view details)

Uploaded Source

File details

Details for the file feediverse-0.2.0.tar.gz.

File metadata

  • Download URL: feediverse-0.2.0.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.2

File hashes

Hashes for feediverse-0.2.0.tar.gz
Algorithm Hash digest
SHA256 8085d1410694fb0a48e1cd3a3d4d55eec6277699a7c03bd36a0a83da911272ee
MD5 7b7c4d045fb66377c933a82f62b72cbc
BLAKE2b-256 1e19e6e71ded41a6fe185af0e76a08591d1662dcde091f131a8d0d5d9bd32293

See more details on using hashes here.

Release history Release notifications | RSS feed

0.4.1

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

1 file

0.2.1

1 file

This release

0.2.0 This release

1 file

0.1.5

1 file

0.1.4

1 file

0.1.3

1 file

0.1.2

1 file

0.1.1

1 file

0.1.0

1 file

0.0.11

1 file

0.0.10

1 file

0.0.9

1 file

0.0.8

1 file

0.0.7

1 file

0.0.6

1 file

0.0.5

1 file

0.0.4

1 file

0.0.3

1 file

0.0.2

1 file

0.0.1

1 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