Open npetrangelo opened 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.
Added a column for ATrium in the SDK progress table at https://github.com/bluesky-social/atproto/discussions/2415.
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)
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?