Skip to main content

Verified against Package registries and forge APIs (npm, PyPI, crates.io, RubyGems, Packagist, Go proxy, GitHub, Codeberg) on 2026-10-15; @fedify/* 2.4.4 on 2026-10-15.

Libraries & SDKs Overview

ActivityPub libraries by language, with their maintenance status.

:::info How status is measured Versions and status were taken from package registries (npm, PyPI, crates.io, RubyGems, Packagist, the Go module proxy) and GitHub/Codeberg/GitLab on 2026-10-15.

  • Active — a release or commit in the last 12 months
  • Dormant — last activity 12–36 months ago
  • Unmaintained / Archived — no activity for over 3 years, or the repository is archived

Libraries change fast; check the repository before you depend on one. :::

By Language​

JavaScript / TypeScript​

LibraryWhat it isLatestStatus
FedifyFull ActivityPub framework2.4.4 (2026-10)Active
BotKitBot framework on Fedify0.5.7 (2026-10)Active
activitystrea.msAS2 builder/parser4.0.2 (2026-10)Active
microfedMinimal primitives (by the SocialDocs maintainer)0.0.14 (2025-12)Experimental
activitypub-expressExpress middleware4.4.2 (2024-02)Dormant

More JavaScript libraries →

Python​

LibraryWhat it isLatestStatus
federationMulti-protocol (ActivityPub, Diaspora)0.27.0 (2026-03)Active
http-message-signaturesRFC 9421 signatures2.0.1 (2026-01)Active
bovineAsync ActivityPub toolkit0.5.19 (2025-09)Dormant
apkitActivityPub toolkit0.3.8 (2026-02)Archived
little-boxesActivityPub toolkit0.1.0 (2018)Archived

More Python libraries →

Go​

LibraryWhat it isLatestStatus
go-apModular packages + FedBOX servercommits 2026-10Active
GoToSocial's activity forkMaintained fork of go-fed/activityv1.19.0 (2026-01)Active
GoToSocial's httpsig forkMaintained fork of go-fed/httpsigv1.5.0 (2025-10)Active
go-fed/activityOriginal vocabulary + middlewarev1.0.0 (2020)Unmaintained

More Go libraries →

Rust​

LibraryWhat it isLatestStatus
activitypub_federationLemmy's federation framework0.6.6 (2026-10)Active
http-signature-normalizationdraft-cavage signatures0.7.1 (2026-06)Active
activitystreamsAS2 types0.6.2 (2020); 0.7 alpha (2023)Unmaintained

More Rust libraries →

Ruby​

LibraryWhat it isLatestStatus
Fedipub (formerly Federails)Rails engine0.10.0 (2026-09)Active
linzerRFC 9421 signatures0.8.1 (2026-08)Active
MastodonReference server (not a library)—Active

More Ruby libraries →

PHP​

LibraryWhat it isLatestStatus
ActivityPub for WordPressWordPress plugin9.3.1 (2026-09)Active
ActivityPhpTypes + server toolkit0.8.1 (2025-10)Active
PixelfedReference server (Laravel)—Active

More PHP libraries →

Elixir, C# and others​

LibraryWhat it isStatus
activity_pub (Bonfire)Elixir libraryActive (work in progress)
LetterbookC# server (reference)Active

More languages →

Choosing a Library​

For Production​

  • TypeScript: Fedify
  • Rust: activitypub_federation
  • Go: go-ap, or GoToSocial's forks of the go-fed libraries
  • Ruby on Rails: Fedipub
  • WordPress: the ActivityPub plugin

For Prototypes and Bots​

  • Bots: BotKit
  • Python: federation, or bovine if you accept its slower pace

For Learning​

Read a maintained server:

  • GoToSocial (Go)
  • Mastodon (Ruby) — the de facto interop target
  • Lemmy (Rust)
  • Hollo (TypeScript, built on Fedify)

What Libraries Provide​

Core Features​

  • ActivityStreams type definitions
  • JSON(-LD) serialization and parsing
  • WebFinger client/server

Federation Features​

  • HTTP signing and verification (draft-cavage; increasingly also RFC 9421)
  • Inbox handling and delivery queues with retries
  • Fetching and caching remote objects

The security-critical parts are request verification and origin checks. A good library does these for you; if you build them yourself, read issue #37 first.

Building Without a Library​

If no library fits your needs, you can implement from scratch:

  1. Start simple: WebFinger + Actor endpoint
  2. Add inbox: Receive and verify activities
  3. Add signing: HTTP Signatures
  4. Add delivery: Queue and retry sends to other servers

See the implementation guides and Other Libraries.

See Also​