Tool to make Fediverse posts from RSS feeds
  • Python 99.6%
  • Just 0.4%
Find a file
2026-06-19 16:21:11 +10:00
.cursor 🐛 fix feed sorting with missing dates and align commit rules 2026-04-23 17:04:25 +10:00
.woodpecker 👷 add pytest_betas CI step for Python beta versions 2026-06-12 21:45:17 +10:00
docs 📝 update docs for Jinja2 template syntax and migration guide 2026-06-18 18:25:32 +10:00
src/feed2fedi 🐛 surface Jinja2 and encoding errors as Feed2FediError 2026-06-19 13:12:41 +10:00
tests add tests for logging_config helper functions and configure_logging 2026-06-19 14:23:02 +10:00
.editorconfig Enabling scheduled posting of status 2025-10-26 14:53:10 +10:00
.gitignore chore: introduce just, git-cliff, bump-my-version; update CI and deps 2026-03-24 09:41:37 +10:00
.pre-commit-config.yaml 🐛 wrap template file errors in Feed2FediError with descriptive path 2026-06-19 06:55:27 +10:00
.python-version feat(deps): replace minimal-activitypub with longwei, add Python 3.14 2026-04-03 08:35:59 +10:00
.safety-policy.yml Reading feeds and reading/establishing configuration. 2023-02-25 08:05:49 +10:00
CHANGELOG.md docs: update changelog for 4.0.0 2026-06-19 16:21:09 +10:00
CLAUDE.md 🔧 bump deps 2026-06-19 07:42:47 +10:00
cliff.toml 🔧 align agent rules and changelog parsing with gitmoji workflow 2026-04-23 16:19:40 +10:00
docs_hooks.py 📝 add llms.txt and llms-full.txt to documentation build 2026-06-12 21:29:51 +10:00
justfile chore: introduce just, git-cliff, bump-my-version; update CI and deps 2026-03-24 09:41:37 +10:00
LICENSE.md Release 0.2.1 2023-02-27 10:36:27 +10:00
logging-config.toml feat: introduce loguru with TOML-based logging configuration 2026-03-24 13:57:04 +10:00
mkdocs.yml add max_age PT24H/PT72H tests and fix complexipy; 2026-05-03 20:05:34 +10:00
noxfile.py 👷 enforce test coverage abve 75% 2026-06-19 14:24:38 +10:00
pylock.toml 🔧 bump deps again... missed one 2026-06-19 14:18:49 +10:00
pyproject.toml bump: version 3.8.0 → 4.0.0 2026-06-19 16:21:11 +10:00
README.md docs(readme): update badges to reflect current toolchain 2026-04-03 09:43:41 +10:00
Release-Notes.md bump: version 3.8.0 → 4.0.0 2026-06-19 16:21:11 +10:00
ruff.toml Modernize type hints: 2025-07-27 16:47:15 +10:00
TODO.md 🔧 mark cyclopts migration TODO as done 2026-06-13 07:21:09 +10:00
uv.lock bump: version 3.8.0 → 4.0.0 2026-06-19 16:21:11 +10:00

Feed2Fedi

Repo CI - Woodpecker Downloads Ruff Checked with ty Checked with Code Limit complexipy pysentry PyPI - Python Version PyPI - Wheel AGPL

Feed2Fedi is a Python bot that reads RSS feeds and automatically posts them to a Fediverse instance. It supports instances running Mastodon, Takahe, and Pleroma. Feed2Fedi has been inspired by feed2toot.

Features

  • Posts to Fediverse instances.
  • Attaches a picture if the feed item contains a media_thumbnail.
  • Monitors multiple RSS/Atom feeds at once.
  • Fully open-source—no need to give external services full access to your social-media accounts.

Documentation is available here. To delete older posts from your Fediverse account, try Fedinesia.

Disclaimer The developers of Feed2Fedi hold no liability for what you do with this script or what happens to you by using it. Abusing this script can get you banned from Fediverse instances, so read each sites usage rules carefully.

Setup and usage Install with pipx:

pipx install feed2fedi

Once installed you can start it by issuing the feed2fedi command.

During the first run it will prompt for some values and create a config.ini file with sensible starting settings. Then edit the config.ini file and add the RSS/ATOM feed in the feeds section and remove the sample feed. Detailed information about config options is available in the documentation.

Support Feed2Fedi

A big thank you to the good folk over at CharCha who have allowed me to test Feed2Fedi against their instance that is based on Rebased and Soapbox.

There are a number of ways you can support Feed2Fedi:

  • Create an issue with problems or ideas you have with/for Feed2Fedi
  • You can buy me a coffee.
  • You can send me small change in Monero to the address below:

Monero donation address: 84oC6aUX4yyRoEk6pMVVdZYZP4JGJZk4KKJq1p7n9ZqLPK8zH3W1vpFAnSxDQGbwmZAeXrE4w4ct6HqAXdM1K9LfCAxZx4u

Changelog

See the Changelog for any changes introduced with each version.

License

Feed2Fedi is licensed under the GNU Affero General Public License v3.0