Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

elizaOS BlueSky Plugin (Python)

Python implementation of the BlueSky plugin for elizaOS using the AT Protocol.

Installation

pip install elizaos-plugin-bluesky

Usage

from elizaos_plugin_bluesky import BlueSkyClient, BlueSkyConfig

# Create configuration
config = BlueSkyConfig(
    handle="your-handle.bsky.social",
    password="your-app-password",
)

# Or load from environment
config = BlueSkyConfig.from_env()

# Create client
async with BlueSkyClient(config) as client:
    # Authenticate
    await client.authenticate()

    # Create a post
    from elizaos_plugin_bluesky import CreatePostRequest, CreatePostContent

    request = CreatePostRequest(
        content=CreatePostContent(text="Hello from Python!")
    )
    post = await client.send_post(request)
    print(f"Created post: {post.uri}")

    # Get timeline
    from elizaos_plugin_bluesky import TimelineRequest

    timeline = await client.get_timeline(TimelineRequest(limit=10))
    for item in timeline.feed:
        print(f"@{item.post.author.handle}: {item.post.record.text}")

Environment Variables

Required:

  • BLUESKY_HANDLE: Your BlueSky handle
  • BLUESKY_PASSWORD: Your app password

Optional:

  • BLUESKY_SERVICE: BlueSky service URL (default: https://bsky.social)
  • BLUESKY_DRY_RUN: Enable dry run mode (default: false)
  • BLUESKY_POLL_INTERVAL: Notification polling interval in seconds (default: 60)
  • BLUESKY_ENABLE_POSTING: Enable automated posting (default: true)
  • BLUESKY_ENABLE_DMS: Enable direct messaging (default: true)

Development

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Type checking
mypy elizaos_plugin_bluesky

# Linting
ruff check .
ruff format .

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

elizaos_plugin_bluesky-2.0.0a5.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

elizaos_plugin_bluesky-2.0.0a5-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

Details for the file elizaos_plugin_bluesky-2.0.0a5.tar.gz.

File metadata

  • Download URL: elizaos_plugin_bluesky-2.0.0a5.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for elizaos_plugin_bluesky-2.0.0a5.tar.gz
Algorithm Hash digest
SHA256 64ffd9c3cbd69635e007146c5daf2ba024937dc4cd3e734de9f3e3a5c704096e
MD5 55ce4efa5860a03dbf4667a6e86ae0e3
BLAKE2b-256 1adf30f1971c4818c4fcb770743b9d89d6d06a67cf1ed5f870aac34e6506d13f

See more details on using hashes here.

File details

Details for the file elizaos_plugin_bluesky-2.0.0a5-py3-none-any.whl.

File metadata

File hashes

Hashes for elizaos_plugin_bluesky-2.0.0a5-py3-none-any.whl
Algorithm Hash digest
SHA256 e6c1c9df795c9237c8572f30f7014df46d3c3a6be970b81147ee6506756bee12
MD5 fd446a5c78c36d3de996177a2698fa41
BLAKE2b-256 1cdee309911a27bee0fb232fa85c4290f7335b3ae7d64fa7cfa7cdc708660aac

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.0.0a5 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page