Skip to content

openpeeps/activitypub-nim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ActivityPub implementation in Nim

nimble install activitypub

API reference
Github Actions Github Actions

Features

  • Full ActivityPub core, activity, and actor data types (JSON-LD serialization/deserialization)
  • WebFinger client (webfinger, buildJrd)
  • HTTP Signatures (Ed25519 and RSA SHA-256)
  • Ed25519 and RSA keypair generation, PEM export/import
  • Federation engine: deliver activities to remote inboxes, fetch remote actors
  • Client-to-Server (C2S) API: postToOutbox, getOutbox, getFollowers, getFollowing
  • Inbox dispatcher with type-based routing and HTTP Signature verification
  • Activity builders: buildFollow, buildAccept, buildReject, buildUndo, buildCreate, buildDelete, buildNote, buildCollectionPage, buildOrderedCollection, buildCollection
  • Collection pagination: fetchCollection, fetchCollectionPage, fetchAllItems
  • Built-in HTTP server (powered by pkg/powpow) with:
    • Routes for WebFinger
    • Actor profiles, inbox, outbox, followers, and following

Requirements

requires "nim >= 2.0.0"
requires "openparser >= 0.1.6"
requires "checksums >= 0.2.2"
requires "e2ee > 0.1.0"       # `monocypher` is required
requires "powpow > 0.1.4"
requires "ormin#head"

Roadmap

  • Persistent storage backends (SQLite, PostgreSQL) using pkg/ormin
  • C2S client-to-server endpoints (POST /users/{id}/outbox, GET /users/{id}/following)
  • Activity forwarding and shared inbox support
  • Object retrieval with forward/fetch (object property resolution)
  • ActivityStreams vocabulary types coverage
  • Linked Data Signatures (2017/2019)
  • FEP compatibility (FEP-2677, FEP-8cf5, FEP-7888)
  • Rate limiting and request validation middleware
  • Support non-spec ecosystem extensions (Mastodon's Hashtag, Emoji, PropertyValue)
  • API stabilization for v1.0.0 release

❤ Contributions & Support

OpenCode Switch to Open-Source LLMs via OpenCode GO, choosing from a variety of powerful models such as DeepSeek, Qwen, Kimi, GLM-5, MiniMax, MiMo. 🍕 Use our referral link to get started!

🎩 License

MIT license. Made by Humans from OpenPeeps.
Copyright © 2026 OpenPeeps & Contributors — All rights reserved.

Packages

 
 
 

Contributors

Languages

Generated from openpeeps/pistachio