AD
Launch on Firsto—Launch your project today — get a DR57 backlink instantly.
BSkyInfo LogoBskyInfo
All ToolsCategoriesCollectionsFeed DirectoryLabeler DirectoryArticlesGuidesGlossaryBluesky SDKsSponsor
Submit
All ToolsCategoriesCollectionsFeed DirectoryLabeler DirectoryGuidesGlossaryArticlesBluesky SDKsSponsorSubmit
  1. SDKs
  2. /Python
  3. /rss2bsky.py
v-p-b

rss2bsky.py

A Python SDK for Bluesky and AT Protocol by v-p-b

RSS to Bluesky - in Python

GitHub Stats

5stars
3forks
3contributors
0open issues

Dates

Created:February 11, 2024
Last updated:March 25, 2025

README

The following content is from rss2bsky.py's GitHub repository. All rights reserved by the original author.

RSS to Bluesky - in Python

This is a proof-of-concept implementation for posting RSS/Atom content to Bluesky. Some hacking may be required. Issues and pull requests welcome to improve the system.

Built with:

  • arrow - Time handling for humans
  • atproto - AT protocol implementation for Python. The API of the library is still unstable, but the version is pinned in requirements.txt
  • fastfeedparser - For feed parsing with a unified API
  • httpx - For grabbing remote media

Features:

  • Deduplication: The script queries the target timeline and only posts RSS items that are more recent than the latest top-level post by the handle.
  • Filters: Easy to extend code to support filters on RSS contents for simple transformations and limiting cross-posts.
  • Minimal rich-text support (links): Rich text is represented in a typed hierarchy in the AT protocol. This script currently performs post-processing on filtered string content of the input feeds to support links as long as they stand as a single line in the text. This definitely needs some improvement.
  • Threading for long posts
  • Tags
  • Image references: Can forward image links from RSS to Bsky

Usage and configuration

  1. Start by installing the required libraries pip install -r requirements.txt
  2. Copy the configuration file and then edit it cp config.json.sample config.json
  3. Run the script like python rss2bsky.py

The configuration file accepts the configuration of:

  • a feed URL
  • bsky parameters for a handle, username, and password
    • Handle is like name.bsky.social
    • Username is the email address associated with the account.
    • Password is your password. If you have a literal quote it can be escaped with a backslash like \"
  • sleep - the amount of time to sleep while running

Related SDKs

snarfedbridgy-fed

🌉 A bridge between decentralized social networks

1108•Python
snarfedgranary

💬 The social web translator

500•Python
MarshalXpython-libipld

🏎️ Fast Python library to work with IPLD: DAG-CBOR, CID, CAR, multibase

22•Python
MarshalXatproto

The AT Protocol (🦋 Bluesky) SDK for Python 🐍

626•Python
bluesky-socialcookbook

A collection of example projects and scripts for atproto development.

189•Python
Gorcenskiskeeter-deleter

A script for auto-deleting Bluesky posts

85•Python

Resources

GitHub Repository

License

GPL-3.0

Author

v-p-b
v-p-b

Activity

Last commit: March 25, 2025
Commit frequency: Unknown

Our Sponsors

Your Brand Here!

50K+ engaged viewers every month

Limited spots available!

📧 Contact us via email🦋 Contact us on Bluesky
BSkyInfo LogoBskyInfo

The Most Comprehensive Bluesky Tools Directory

Stay updated with the latest Bluesky tools and ecosystem news 🦋

Bluesky butterfly logo
Quick LinksSubmit a ToolSponsorAboutLegal Information
ToolsFeed DirectoryLabeler DirectorySchedulingAnalyticsAll ToolsCategoriesCollectionsTags
ResourcesArticlesBluesky GuidesBluesky GlossaryBluesky SDKsBluesky ResourcesSkyRaffleMeida Coverage
Our ProductsRaffleBlueAiTeach ToolsLaiewAI affiliate listFirstoCoast Fire CalculatorAsphalt CalculatorDog Names World

This website may contain affiliate links

© 2025 BskyInfo. All rights reserved.