FSharp.ATProto.DRISL
0.4.0
dotnet add package FSharp.ATProto.DRISL --version 0.4.0
NuGet\Install-Package FSharp.ATProto.DRISL -Version 0.4.0
<PackageReference Include="FSharp.ATProto.DRISL" Version="0.4.0" />
<PackageVersion Include="FSharp.ATProto.DRISL" Version="0.4.0" />
<PackageReference Include="FSharp.ATProto.DRISL" />
paket add FSharp.ATProto.DRISL --version 0.4.0
#r "nuget: FSharp.ATProto.DRISL, 0.4.0"
#:package FSharp.ATProto.DRISL@0.4.0
#addin nuget:?package=FSharp.ATProto.DRISL&version=0.4.0
#tool nuget:?package=FSharp.ATProto.DRISL&version=0.4.0
FSharp.ATProto
A native F# library for Bluesky and the AT Protocol. Built from the ground up in F#. No C# wrappers. Functional-first.
Install
dotnet add package FSharp.ATProto.Bluesky
Quick Example
open FSharp.ATProto.Bluesky
taskResult {
let! agent = Bluesky.login "https://bsky.social" "my-handle.bsky.social" "app-password"
let! post = Bluesky.post agent "Hello from F#!"
let! like = Bluesky.like agent post // PostRef -> LikeRef (the compiler prevents mix-ups)
let! reply = Bluesky.replyTo agent "Nice thread!" post // thread root resolved automatically
let! _ = Bluesky.undo agent like // generic undo — works on any ref type
return reply
}
// : Task<Result<PostRef, XrpcError>> — no exceptions, ever
Design
- If it compiles, it's correct -- distinct types for every domain concept (
PostRef,LikeRef,FollowRef,BlockRef...) mean the compiler catches your mistakes. - The library handles protocol complexity -- thread roots, rich text facets, chat proxy headers -- all resolved automatically.
- Results, not exceptions -- every public function returns
Result. Nofailwith, no try/catch. - Rich domain types --
PostRef,Profile,FeedItem,ConvoSummary,Page<'T>, and more. Plus convenience functions for search, bookmarks, muting, notifications, and moderation. - Generated from the spec -- 324 Lexicon schemas compiled to F# types + 237 typed XRPC endpoint wrappers.
Features
- Posts -- create, reply, quote, delete, with automatic rich text detection
- Rich text -- mentions, links, and hashtags detected and resolved automatically
- Images -- upload and attach with typed
ImageMimeand alt text - Social graph -- follow, block, like, repost, mute, with typed refs and generic undo
- Feeds -- timeline, author feed, actor likes, bookmarks
- Profiles -- get, search, typeahead, batch fetch, upsert
- Chat / DMs -- conversations, messages, reactions, with automatic proxy headers
- Notifications -- fetch, count unread, mark seen
- Moderation -- report content, mute threads, mod lists, and a full moderation engine
- Identity -- DID resolution, handle verification, PDS discovery
- Lists -- create and manage lists and starter packs
- Preferences -- saved feeds, muted words, content filtering
- Streaming -- real-time events via Jetstream and Firehose
- Video -- upload and post video content
- Pagination -- lazy
IAsyncEnumerablepaginators for timeline, followers, notifications - OAuth -- OAuth 2.0 client with DPoP/PKCE, plus authorization server
- Server-side -- feed generator framework, XRPC server, service auth
- Full XRPC access -- all 237 Bluesky endpoints available as typed wrappers
Documentation
Full docs at arrow7000.github.io/atproto-fsharp.
All documentation guides are written as literate F# scripts -- every code snippet is compiler-checked during the docs build, so examples are always in sync with the library.
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- FSharp.ATProto.Syntax (>= 0.4.0)
- FSharp.Core (>= 10.1.201)
- System.Formats.Cbor (>= 9.0.3)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on FSharp.ATProto.DRISL:
| Package | Downloads |
|---|---|
|
FSharp.ATProto.Core
XRPC client, session authentication, rate limiting, and cursor-based pagination for the AT Protocol. |
|
|
FSharp.ATProto.Bluesky
Native F# client for Bluesky and the AT Protocol. Type-safe, functional-first, exception-free. Posts, social graph, chat, feeds, profiles, notifications, moderation, and full XRPC access via 237 typed endpoint wrappers generated from 324 Lexicon schemas. |
|
|
FSharp.ATProto.Streaming
Jetstream event streaming client for the AT Protocol. |
|
|
FSharp.ATProto.Repo
AT Protocol repository data structures: Merkle Search Tree (MST), signed commits, and CAR import/export. |
GitHub repositories
This package is not used by any popular GitHub repositories.