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
| Library | What it is | Latest | Status |
|---|---|---|---|
| Fedify | Full ActivityPub framework | 2.4.4 (2026-10) | Active |
| BotKit | Bot framework on Fedify | 0.5.7 (2026-10) | Active |
| activitystrea.ms | AS2 builder/parser | 4.0.2 (2026-10) | Active |
| microfed | Minimal primitives (by the SocialDocs maintainer) | 0.0.14 (2025-12) | Experimental |
| activitypub-express | Express middleware | 4.4.2 (2024-02) | Dormant |
Python
| Library | What it is | Latest | Status |
|---|---|---|---|
| federation | Multi-protocol (ActivityPub, Diaspora) | 0.27.0 (2026-03) | Active |
| http-message-signatures | RFC 9421 signatures | 2.0.1 (2026-01) | Active |
| bovine | Async ActivityPub toolkit | 0.5.19 (2025-09) | Dormant |
| apkit | ActivityPub toolkit | 0.3.8 (2026-02) | Archived |
| little-boxes | ActivityPub toolkit | 0.1.0 (2018) | Archived |
Go
| Library | What it is | Latest | Status |
|---|---|---|---|
| go-ap | Modular packages + FedBOX server | commits 2026-10 | Active |
| GoToSocial's activity fork | Maintained fork of go-fed/activity | v1.19.0 (2026-01) | Active |
| GoToSocial's httpsig fork | Maintained fork of go-fed/httpsig | v1.5.0 (2025-10) | Active |
| go-fed/activity | Original vocabulary + middleware | v1.0.0 (2020) | Unmaintained |
Rust
| Library | What it is | Latest | Status |
|---|---|---|---|
| activitypub_federation | Lemmy's federation framework | 0.6.6 (2026-10) | Active |
| http-signature-normalization | draft-cavage signatures | 0.7.1 (2026-06) | Active |
| activitystreams | AS2 types | 0.6.2 (2020); 0.7 alpha (2023) | Unmaintained |
Ruby
| Library | What it is | Latest | Status |
|---|---|---|---|
| Fedipub (formerly Federails) | Rails engine | 0.10.0 (2026-09) | Active |
| linzer | RFC 9421 signatures | 0.8.1 (2026-08) | Active |
| Mastodon | Reference server (not a library) | — | Active |
PHP
| Library | What it is | Latest | Status |
|---|---|---|---|
| ActivityPub for WordPress | WordPress plugin | 9.3.1 (2026-09) | Active |
| ActivityPhp | Types + server toolkit | 0.8.1 (2025-10) | Active |
| Pixelfed | Reference server (Laravel) | — | Active |
Elixir, C# and others
| Library | What it is | Status |
|---|---|---|
| activity_pub (Bonfire) | Elixir library | Active (work in progress) |
| Letterbook | C# server (reference) | Active |
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:
- Start simple: WebFinger + Actor endpoint
- Add inbox: Receive and verify activities
- Add signing: HTTP Signatures
- Add delivery: Queue and retry sends to other servers
See the implementation guides and Other Libraries.