Announcing
spigot 2.0 - rate-limited feed aggregation to pump.io!
About Spigot
Spigot takes syndicated content feeds and posts them to pump.io
accounts at a limited rate. This way you can syndicate content to a
pump.io account without worrying about flooding the account when
updates to the feed are frequent.
First you set up connections to one or more pump.io accounts using
OAuth. Then you add RSS or Atom feeds, specifying which account to
post to, the maximum post frequency, and the format of the posted
message. Each time spigot runs, it checks the feeds for new posts, and
determines whether or not a new item should be posted based on the
specified interval. Spigot can be run in a cron job (or manually) to
make regular posts.
Spigot is inspired by Tricklepost and Brdcst.it.
Requirements
spigot depends on Python 2.6 or higher and the following non-standard libraries
Installation
You can install spigot via pip:
$ pip install spigot
Or you can clone the repo and install manually:
$ python setup.py install
Configuration
To configure spigot for first use, run it from the command-line:
$ spigot.py
You will be prompted to configure one account and one feed.
To subsequently add an account:
$ spigot.py --add-account
To add a new feed:
$ spigot.py --add-feed
Running
After initial configuration, running spigot will poll your feeds and post to
the configured accounts if the intervals allow. Running without specifying any
options will result in no console output unless there are warnings or errors.
This is optimal for running spigot as a cron job. To view more verbose logging,
you can specify the --log-level option.
Cron
Spigot can be run as a cron job to make sure that the flow of posts is regular.
Here is an example crontab entry to run every 10 minutes:
10 * * * * cd ~/spigot; spigot.py
Remember, spigot looks for its database and configuration file in the current
working directory.
Spigot is distributed under the terms of the GPLv3.