Table of Contents

CarpaNet - a .NET ATProtocol Library

NuGet Version License

CarpaNet is a .NET library for ATProtocol that uses Roslyn source generators to produce type-safe API bindings from Lexicon JSON schema files. It's the replacement for FishyFlip.

1444070256569233

This site is under construction.

Quick Start

Add the CarpaNet NuGet package and declare which lexicons you need:

<ItemGroup>
  <PackageReference Include="CarpaNet" Version="1.*" />
</ItemGroup>

<ItemGroup>
  <LexiconResolve Include="app.bsky.actor.getProfile" />
  <LexiconResolve Include="app.bsky.feed.post" />
  <LexiconResolve Include="com.atproto.repo.createRecord" />
</ItemGroup>

Then use the generated client:

using CarpaNet;

var client = ATProtoClientFactory.Create();

var profile = await client.AppBskyActorGetProfileAsync(
    new AppBsky.Actor.GetProfileParameters { Actor = new ATHandle("alice.bsky.social") });

Console.WriteLine($"{profile.DisplayName} (@{profile.Handle})");

Packages

Package Description
CarpaNet Core runtime, source generator, XRPC protocol, identity resolution, DAG-CBOR, CAR files
CarpaNet.OAuth OAuth 2.0 with PAR, PKCE, and DPoP support
CarpaNet.Jetstream Real-time event subscription via Bluesky Jetstream
CarpaNet.AspNetCore ASP.NET Core integration

Third-Party Libraries