AD
Boost Your Brand on BlueSky—Exclusive banner space to amplify your reach within the BlueSky community.
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
4forks
3contributors
1open 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

dannguyendancow-bluesky-fun-api-tool

Just having fun with python and Bluesky's AT Protocol. Trying to build a simple CLI and enough of SDK to easily explore and collect my own Bluesky data

1•Python
TahomaSoftSaxeBlueskyPython

A small python library to post basic text and media to bsky.app via atproto's xrpc API.

1•Python
Gorcenskiskeeter-deleter

A script for auto-deleting Bluesky posts

65•Python
Zetaphorbsky-altometer

A site that measures the current percentage of Bluesky posts missing alt text

7•Python
snarfedbridgy-fed

🌉 A bridge between decentralized social networks

1002•Python
snarfedgranary

💬 The social web translator

485•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 listFirsto

This website may contain affiliate links

© 2025 BskyInfo. All rights reserved.