--- id: atproto version: "0.0.69" license: MIT license_treatment: permissive maintenance: active --- # atproto — The AT Protocol SDK License: permissive · Maintenance: active · Downloads: 901.0K/mo ## What it is and what it does atproto is a Python SDK for building clients and tools that interact with the AT Protocol, the decentralized social protocol behind Bluesky. It autogenerates type-hinted models and namespaced XRPC clients from lexicon schemas, so you get IDE autocomplete and static type safety when calling API methods. The SDK covers both high-level convenience methods (login, send_post, like) and low-level namespace-based access for full API coverage. It ships with support for synchronous and asynchronous I/O, firehose data streaming, identity resolution (DID and Handle lookup), cryptographic utilities, and tools for working with AT URI schemes, CID, CAR files, and DID documents. The library depends on httpx for HTTP, pydantic for validation, cryptography for signing, websockets for real-time streams, and several other stable libraries. It is actively maintained but remains in alpha, meaning the public API may change before version 1.0.0. Use it for: - Build a Bluesky bot or automation tool that posts, likes, follows, or manages direct messages programmatically - Consume real-time firehose data streams to index posts, build custom feeds, or monitor network activity - Integrate ATProto identity resolution (DID and Handle lookup) into a larger application - Generate code from custom lexicon schemas to build clients for non-Bluesky ATProto services - Implement server-side ATProto utilities like JWT handling or DID key management ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Python SDK for the AT Protocol that provides typed, autogenerated client bindings for Bluesky and other ATProto-compatible services, with both sync and async support. Yes, if you need to build Bluesky or ATProto clients in Python. The SDK is actively maintained, has low install friction, carries no security vulnerabilities, and provides comprehensive type hints and async support. The main caveat is that it is still in alpha, so expect potential breaking changes before 1.0.0—pin your version if stability is critical. ## Install pip install atproto uv add atproto poetry add atproto ## Installing atproto Before you install: Low install friction with a pure-Python wheel and eight stable runtime dependencies. Active maintenance with a recent release (51 days old) and 656 repository stars. Still in alpha (Development Status :: 3), so breaking changes between versions are explicitly not guaranteed until 1.0.0. License in practice: MIT license permits commercial and private use with minimal restrictions. You must include a copy of the license and copyright notice in distributions. Quickstart: pip install atproto from atproto import Client client = Client() client.login('my-handle', 'my-password') client.send_post(text='Hello World!') Requires Python 3.9 or higher. Credentials (handle and password, or app-specific password) needed to authenticate with an ATProto server. Verify before relying: - Whether the SDK's autogenerated models remain stable across lexicon updates from atproto.com and bsky.app - Performance characteristics and rate-limit handling for high-volume firehose streaming - Compatibility guarantees for custom lexicon schemes beyond the bundled Bluesky lexicons ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 901.0K/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags bluesky api python client, at protocol sdk, atproto python library, bluesky bot framework, xrpc client python, firehose data streaming, atproto async client, social-media-api, async-support, type-hinted [View on SkillFed](https://skillfed.io/packages/atproto) · [View on PyPI](https://pypi.org/project/atproto/)