Skip to content
This repository has been archived by the owner on Jul 6, 2024. It is now read-only.

capjamesg/pyatproto

Repository files navigation

AT Protocol Python Library

version downloads license python-version

A wrapper for interacting with the AT Protocol API, specifically for the Bluesky social network.

Note: There are some hard-coded Bluesky method names in this library, so the current version will not work with other AT Protocol implementations. The plan is to change this as new servers become available.

Installation 💻

To install the library, run:

pip install pyatproto

Quickstart ⚡

authentication and set up

import pyatproto as atproto
import os

ENDPOINT = os.environ.get("ATPROTO_ENDPOINT")
USERNAME = os.environ.get("ATPROTO_USERNAME")
PASSWORD = os.environ.get("ATPROTO_PASSWORD")

ap = atproto.AtProtoConfiguration(ENDPOINT, USERNAME, PASSWORD)

create a post

create_post = ap.create_post("My First Post")

list followers

followers = ap.get_followers() # add user = username to get followers for another user

get user feed

feed = ap.get_user_feed(user=ap.username)

get notifications

notifications = ap.get_notifications()

Example Scripts 📚

  • quickstart.py: Authenticate and create a post on Bluesky.
  • crawler.py: Find the messages posted by each person a user follows, recursively (rate limits prevent this being used for crawling the whole network without adjusting the logic, however).
  • unroll.py: Find the parent of a message for use with the bsky.link thread unrolling feature.

Contributing 🛠️

Contributions are welcome, especially those that add more methods to the library. Please open an issue or pull request to contribute to the library.

License 👩‍⚖️

This project is licensed under an MIT 0 License.

Contributors 💻

  • capjamesg

About

A wrapper for interacting with the AT Protocol API.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages