sugyan / atrium

Rust libraries for Bluesky's AT Protocol services.
MIT License
182 stars 18 forks source link

Progress update / coverage? #118

Open npetrangelo opened 8 months ago

npetrangelo commented 8 months ago

I've been exploring the rust atproto ecosystem lately and your implementation seems to be the main one still actively being developed. How much of atproto would you say you've covered so far, and what's still missing?

sugyan commented 8 months ago

At the moment, ATrium mainly provides client-side functions that generate type definitions from atproto's lexicon schema and process XRPC requests. Other functions, such as server-side functions to run PDS, are not yet available.

sugyan commented 6 months ago

Added a column for ATrium in the SDK progress table at https://github.com/bluesky-social/atproto/discussions/2415.

SDK Progress (April 2024)

TypeScript (atproto) Golang (indigo) Rust (ATrium)
Basics
API Client 🟢 🟡 🟡
Lexicon Types 🟢 🟢 🟢
Identifier Syntax 🟢 🟢 🟡
Bluesky Client
Post Helpers 🟢
Graph Helpers 🟢
Label Behaviors 🟢
Preferences 🟡/❓
Protocol + Data
Keys and Crypto 🟢 🟢
MST and Repo 🟢 🟢
Data Model 🟡/❓ 🟢 🟡
Lex Validation 🟢 🚧
Identity Resolution 🟢 🟢
Stream Client 🟢 🟡 🟡
Service Auth 🟢
Lex Codegen 🟢 🟡 🟢
PLC Operations 🟢 🚧
OAuth Backend 🚧
Service Pieces
HTTP Server 🟢 🟡
Identity Directory 🟢 🟢
Repo Storage 🟢 🟢
Stream Server 🟢 🟡

✅ - great! complete, documented, examples, accessible to new devs with no atproto experience
🟢 - decent. mostly implemented, could point experienced devs at it
🟡 - partial progress: incomplete, undocumented, not ergonomic
🚧 - early work in progress, but not usable yet
⭕ - nothing started
🟣 - something exists; not assessed
❓ - unknown (need to check status)