delightful activitypub development 
A curated list of resources for developers creating software based on the W3C ActivityPub family of related protocols. See also π delightful fediverse experience.
π± Help us. Garden this list. Suggest entries and make refinements. Pass the URL to others. Tend in particular to all these furtile plots where fresh fedi may blossom, indicated by an emoji:
- βοΈ indicates fediverse innovation areas, are not marked unmaintained.
- π looking to be rescued or forked by new maintainer custodians.
- π» unmaintained and inactive for over a year. Will you revitalize them?
Contents
- Open standards
- Standardization
- Research and innovation
- Information sources
- ActivityPub API
- Frameworks
- Libraries
- Utilities
- Testing
- Forge federation
- Miscellaneous projects
- Commons gardening
Open standards
-
W3C ActivityPub (issues, primer): Decentralized social networking protocol based on ActivityStreams 2.0 data format, defining both a server to server (S2S) federation and client to server (C2S) specification profile.
-
W3C ActivityStreams 2.0 Core (issues, primer): A JSON-based syntax that is sufficient to express metadata about Activities in a rich, human-friendly but machine-processable and extensible manner. It is intended to be used with vocabularies that detail the structure of Activities, and define specific types of Activities.
-
W3C ActivityStreams 2.0 Vocabulary (issues): A foundational vocabulary for activity structures, consisting of a Core set of properties describing the generalized structure of an Activity, and an Extended set of properties that cover specific types of Activities and Artifacts common to many Social Web application systems.
-
W3C JSON-LD: A JSON-based format to serialize Linked Data that is used as the messaging format for ActivityPub. All ActivityPub data MUST be JSON-LD compliant, and MAY be parsed and interpreted as plain JSON.
Non-normative specifications
-
HTTP Signatures Internet Draft: Internet draft (expired) for the IETF Network Working Group outlining how a server or client can authenticate the sender of a particular message. This draft is still a widely used de-facto standard on the fediverse.
-
NodeInfo: An effort to create a standardized way of exposing metadata about a server running one of the distributed social networks.
-
RFC 7033 Webfinger: A protocol to discover information about people or other entities on the Internet using standard HTTP methods. Webfinger is used on the fediverse to define human-friendly handles that resolve to actor endpoint URL's.
-
RFC 7565 The 'acct' URI Scheme: Defines the 'acct' Uniform Resource Identifier (URI) scheme as a way to identify a user's account at a service provider. It is used with Webfinger to discover actor endpoint URL's.
Standardization
-
W3C Social Web Incubator Community Group (SWICG) (repository, meetings): Also known as SocialCG, provides space to collaborate and coordinate for implementors who are building on any of the specifications published by the Social Web WG, and related technologies.
-
Fediverse Enhancement Proposals (FEP) (repository, forum): A Fediverse Enhancement Proposal (FEP) is a document that provides information to the Fediverse community. The goal of a FEP process is to improve interoperability between diverse services, applications and communities that form the fediverse.
SWICG Task forces
-
ActivityPub API TF: Task force dedicated to developing the ActivityPub API. Primary goal of this taskforce to encourage an innovative ecosystem where client and server developers can build interesting and novel applications.
-
AP Data Portability TF (draft report): Task force that focuses on the ability of a person to move their data from one system to another system.
-
AP Forums and Threaded Discussions TF (draft report): Task force dedicated to providing support for long-form content and moderation, and solving deficiencies related to synchronization of conversations between different instances.
-
AP End-to-End Encryption TF (site): Task force dedicated to coordination of work on supporting end-to-end encryption with ActivityPub.
-
AP HTML Discovery TF (draft report): Task force focused on discovery of ActivityPub objects from HTML.
-
AP HTTP Signature TF (draft report): Task force that provides guidance and best-practices on how HTTP Signature is used with ActivityPub.
-
AP Remixing and Aggregation TF: Task force that investigates features and services around aggregating, ordering, and remixing of content feeds.
-
AP Trust and Safety TF (draft report): Task force dedicated to improving the trust, safety, and integrity of ActivityPub and related specifications.
-
AP Webfinger TF (final report): Task force, now completed, specified how to use ActivityPub with Webfinger, that allows for discovery of an actor's identifier given a username and a hostname.
-
Geosocial TF (site): Task force that focuses on associating physical or logical location with social data, also known as geosocial data.
-
Groups TF (draft report): Task force that explores the use of groups in ActivityPub.
Research and innovation
Security
-
Messaging Layer Security for ActivityPub (repository): A specification that describes how to use ActivityPub clients to exchange Messaging Layer Security (MLS) encrypted messages.
-
MIMI ActivityPub for Interoperable Messaging (repository): Draft note (expired) for the IETF More Instant Messaging Interoperability working group that evaluates ActivityPub and related technologies for the transport and identity systems, and the integration of MLS for the E2E security layer.
-
Public Key Directory (repository): Adopts ideas from Certificate Transparency in order to have a Federated Public Key Infrastructure without Authorities and in support of End-to-End Encryption.
Data portability
- Nomadic ActivityPub (repository, fedi): Nomadic identity allows people to freely move from one server to another without losing their identities and content.
Discoverability
- Fediverse Discovery Providers (repository): Exploring decentralized search and discovery for the Fediverse in the form of an optional, pluggable service.
Information sources
Developer hubs
-
ActivityPub Matrix community: Huge Matrix space that aggregates known ActivityPub fediverse related spaces and chatrooms.
-
ActivityPub.space: A forum dedicated to fostering the ActivityPub development community and providing a space for archival of discussions related to ActivityPub.
-
SocialHub Developer Community: Hosts ActivityPub free software developers and enthusiasts to study and share knowledge, specify functionality together, steer the course of ActivityPub W3C Recommendation. This is also the default discussion forum for Fediverse Enhancement Proposals (FEP's).
Guides and tutorials
-
ActivityPub.academy: A learning resource for ActivityPub. The protocol is brought to life by showing Activities sent between different instances in real time.
-
ActivityPub book (repository): Programming for the Social Web. Written by Evan Prodromou, the co-editor of the ActivityStreams and ActivityPub W3C Recommendations.
-
ActivityPub for Developers (repository, fedi): This guide is an attempt to document how ActivityPub actually works. ActivityPub in theory and in practice.
-
FediDB (repository, fedi): Fediverse network stats. Tracking the growth and activity of the ActivityPub fediverse.
-
SocialDocs (repository): The comprehensive developer resource for ActivityPub, Mastodon, and the Fediverse.
-
Understanding ActivityPub: Detailed blog post series by Sebastian Jambor which takes a look at the ActivityPub protocol through the lens of real-world examples.
Data formats
- Fediverse JSON Schemas (fedi): JSON Schema definitions for the ActivityPub fediverse, with validation and tests.
MIT, Python
Information sources unmaintained
-
π» ActivityPub / Mastodon Ontologies: (fedi): An unofficial version of an ActivityPub OWL ontology for experimentation and exploration purposes.
MIT, Turtle -
π» ActivityPubSchema: JSON Schema definition of the ActivityStreams and ActivityPub specifications.
MIT, JavaScript -
π» activitystreams2-owl: A non-normative turtle-formatted ontology version of the Activity Streams 2.0 vocabulary.
ISC, Turtle -
π» Fediverse Developer Network (repository): A community for developers building existing projects, integrate new features, and improve interoperability on the Fediverse.
-
π» linkml-activitypub: LinkML representation of ActivityStreams and ActivityPub schema.
GPL-3.0, Python
ActivityPub API
π Coming soon. This new initiative led at the W3C by the SWICG ActivityPub API Task Force focuses on developing a standardized API for creating social networking solutions that facilitate the ActivityPub client-to-server (C2S) or "Social API" profile. The initiative provides an opportunity for a course correction of the fediverse that has become specialized in a narrow Microblogging domain, and regain the full power and promise of using ActivityPub as a universal social networking protocol. This section will give special attention to this important development area.
The European Commission via the Next Generation Internet program offers financial support via the NGI0 Commons fund, and the Open Social Fund managed by NLnet. Currently NLnet provides support for the following projects that explore ActivityPub C2S and the ActivityPub API:
-
ActivityPub Client-to-Server (C2S) Toolkit: A web-based development toolkit for testing and debugging ActivityPub servers that implement the Client-to-Server (C2S) protocol.
-
Drupal ActivityPub module usability enhancements: Implement the client-to-server specification and adopt other common practices to make it easier to use third party clients to connect to ones site.
-
General purpose web client for ActivityPub: Build a Progressive Web App (PWA) compatible with ActivityPub servers supporting the ActivityPub API (the Client to Server protocol, aka C2S). The goal is to support general purpose and specialized ActivityPub projects beyond the micro-blogging domain, allowing those projects to focus on innovation and server to server federation.
A temporary list of various projects that have C2S support or are planning to add it, can be found in the π Delightful fediverse curated list issue tracker.
Frameworks
Application development
-
βοΈ ActivityPods (site, fedi): A framework to create ActivityPub-compatible apps with all data stored in a single place: your Solid Pod.
Apache-2.0, JavaScript -
βοΈ Bonfire (site, fedi): An extensible framework with a big focus on customisation and flexibility. Can be used to build new federated apps while focusing on a specific use case rather than reimplementing lots of boilerplate
AGPL-3.0, Elixir -
βοΈ Bovine (site, fedi): A modular fediverse server that supports ActivityPub.
MIT, Python -
βοΈ Emissary (site, fedi): Social Web Toolkit and standalone Fediverse server designed for end users, app creators, and hosting admins that offers powerful new ways to join the social web.
AGPL-3.0, Go -
βοΈ Fedify (site, fedi): A TypeScript library for building federated server apps powered by ActivityPub and other standards.
MIT, TypeScript -
βοΈ FIRM (fedi): An experimental ActivityPub-enabled federated information resource manager. This library can be used to implement ActivityPub, Linked Data, and similar servers.
MIT, Python -
βοΈ Go ActivityPub (site, fedi): A batteries included suite of modules for making the creation of ActivityPub applications easier for Go developers.
MIT, Go -
βοΈ SemApps (site): A toolbox to help you easily build semantic web applications.
Apache-2.0, JavaScript
Bot development
-
βοΈ Botkit (site, fedi): A framework for creating ActivityPub bots, powered by Fedify.
AGPL-3.0, TypeScript -
fedi bot club (site): Framework for creating bots scripted in Lua or Fennel. Works with Mastodon and GoToSocial.
MIT, Lua -
Mastodon bots (site): Quickly create and deploy multiple bots that can be controlled via simple API.
MIT, PHP
Libraries
ActivityPub implementations
-
activity: ActivityStreams & ActivityPub library, forked from go-fed and maintained by GoToSocial devs.
BSD-3-clause, Go -
ActivityPhp (site, fedi): A PHP implementation of ActivityPub protocol based upon the ActivityStreams 2.0 data format.
MIT, PHP -
ActivityPub: Generic library to federate an app with ActivityPub (uses a queue for incoming/outgoing activities and adapter modules for tight integration).
AGPL-3.0, Elixir -
ActivityPub: A sparse implementation for handling and peforming ActivityPub activities for Swift on Server using Vapor.
MIT, Swift -
ActivityPub-Federation: A high-level framework for ActivityPub federation in Rust, extracted from Lemmy.
AGPL-3.0, Rust -
ActivityPub Kotlin: Kotlin implementation of ActivityPub.
Apache-2.0, Kotlin -
apkit (site, fedi): A modern, fast, and powerful toolkit for building ActivityPub-based applications with Python, based on standard Python type hints.
MIT, Python -
APx: A minimalistic ActivityPub toolkit written in Rust. Part of Mitra project. See also APx core providing core primitives.
AGPL-3.0, Rust -
Bovine (site, fedi): Library for building Fediverse applications.
MIT, Python -
Django ActivityPub Toolkit (site): A comprehensive Django application that brings ActivityPub federation to your web projects.
ISC, Python -
Federails: An ActivityPub engine for Ruby on Rails.
MIT, Ruby -
go-activitypub: An opionated (and incomplete) ActivityPub service implementation in Go.
ISC, Go -
go-mastodon: Mastodon client for Golang.
MIT, Go -
Hannibal (fedi): ActivityPub library for Golang.
Apache-2.0, Go -
one-page-pub (fedi): A compliant, robust ActivityPub server in one page.
Apache-2.0, JavaScript -
Pubby (site, fedi): A general-purpose Python library to add ActivityPub federation support to your website.
AGPL-3.0, Python -
Pyfed: A robust, type-safe ActivityPub library for Python. Maintained by Funkwhale.
GPL-3.0, Python -
rdf-pub (site, fedi): An ActivityPub server, that is not limited to the ActivityStreams vocabulary, but supports RDF per se.
EUPL, Java -
βοΈ tapir2p: A peer-to-peer ActivityPub experiment. Still a work in progress.
Apache-2.0 / MIT, Rust
ActivityStreams implementations
-
activitystreams (fedi): A hand-crafted implementation of the Activity Streams 2.0 specification in Go, especially suitable for projects implementing ActivityPub.
AGPL-3.0, Go -
apmodel (fedi): An ActivityStreams 2.0 and NodeInfo 2.0/2.1 implementation for Python.
MIT, Python
ActivityPub signatures
- apsig (fedi): Implements the creation/verification of signatures for HTTP Signatures (draft-cavage-http-signatures-12), Linked Data Signatures, and Object Integrity Proofs (FEP-8b32).
MIT, Python
Webfinger implementations
- Digit: Simple API for building WebFinger resource responses.
Apache-2.0, Go
Mastodon API
-
BigBone: A fork of Mastodon4J, a Mastodon client library for Java and Kotlin.
MIT, Kotlin -
Mastodon.py: Python wrapper for the Mastodon API.
MIT, Python -
masto.js: Mastodon API client for JavaScript .
MIT, JavaScript -
Megalodon: Mastodon, Pleroma and Misskey API client library for node.js and browser.
MIT, TypeScript -
Megalodon-rs: Mastodon and Pleroma API client library for Rust.
Apache-2.0, Rust -
rtoot (site, fedi): R package to interact with the mastodon API.
MIT, R -
Steampipe Mastodon Plugin: Use SQL to instantly query Mastodon timelines and more. Open source CLI to Steampipe SaaS. No DB required.
Apache-2.0, Go -
TootSDK: Cross-platform Swift library for the Mastodon API.
BSD-3-Clause, Swift
Lemmy API
- PythΓΆrhead: A python library for interacting with Lemmy.
AGPL-3.0, Python
Libraries unmaintained
-
π» ActivityKit: An attempt to build a spec-compliant ActivityPub core library.
MIT, TypeScript -
π» ActivityPubClient: An ActivityPub client library developed for Kazarma, a Matrix bridge.
LGPL-3.0, Elixir -
π» activityPub-core: An attempt to build a spec-compliant ActivityPub core library.
MIT, TypeScript -
π» ActivityPub Express: Modular ActivityPub implementation as Express.js middleware to easily add decentralization and federation to Node apps
MIT, JavaScript -
π» ActivityPub HTTP Signatures (fedi): A library for creating, parsing, and verifying HTTP signature headers, as per the Signing HTTP Messages draft 80 specification.
ISC, JavaScript -
π» ActivityPub On Rails: Add ActivityPub features to existing or new Ruby on Rails projects.
-, Ruby -
π» ActivityPub-PHP (fedi): A PHP implementation of the ActivityPub protocol (used in Pterotype plugin).
MIT, PHP -
π» Activity Servist: An ActivityPub library for Common Lisp.
AGPL-3.0, Common Lisp -
π» ActivityPub Starter Kit: A tiny, single user ActivityPub server, meant to be a starting point for your own ActivityPub projects.
MIT, TypeScript -
π» ActivityPub Types: TypeScript typings for ActivityPub with docs.
MIT, TypeScript -
π» activityPub4j: W3C ActivityPub and ActivityStreams implementation in Java using Spring Boot.
Apache-2.0, Java -
π» ActivityHub.Net: A C# .NET Implementation of ActivityPub Entity Types.
-, C# -
π» ActivityPub.Net: A parser for ActivityPub.
MIT, C# -
π» ActivityServe: A very light ActivityPub library in Go (used to power pherephone)
MIT, Go -
π» ActivityStream (fedi): Simple ActivityStream handling for Go.
Apache-2.0, Go -
π» ActivityStreams (fedi): A set of Traits and Types that make up the ActivityStreams and ActivityPub specifications.
GPL-3.0, Rust -
π» ActivityStreams: Full ActivityStreams 1.0 and 2.0 reference implementation in Java.
Apache-2.0, Java -
π» ActivityStreams: A .NET implementation of the Activity Streams vocabulary in the form of classes that can be serialized using System.Text.Json
MIT, C# -
π» activityStreams2: ActivityStreams 2.0 library for Node.js and TypeScript.
Apache-2.0, TypeScript -
π» ap-groups: Groups for the Fediverse.
MIT, TypeScript -
π» atoot: Library providing an easy way to create Mastodon API applications
MIT, Python -
π» Chatter Net Client: A decentralized semantic web built atop self-sovereign identity. Client-side.
MIT, TypeScript -
π» Chatter Net Server: A decentralized semantic web built atop self-sovereign identity. Server-side.
MIT, Rust -
π» Chilp: Comment widget for Lustre web framework that connects with your Mastodon instance.
Apache-2.0, Gleam -
π» Clovis: Implementation of ActivityPub in Scala. (Hobby project included here for reference only.)
AGPL-3.0, Scala -
π» corpus-activity-streams: Activity Streams 2.0 vocabulary data and alternative docs.
Unlicense license, TypeScript -
π» DarkLink.Web.ActivityPub: A framework (kinda) to work with ActivityPub with .NET
MIT, C# -
π» Dialtone: An "un-imagined" ActivityPub service, to address emergent use cases. Multi-tenant, multi-personality, multi-ownership.
Apache-2.0 / MIT, Rust -
π» Disboard: Collection of fediverse API wrapper libraries for .NET Standard 2.0.
MIT, C# -
π» Drastic.Mastodon: A fork of Masto.NET, a C#/.NET Library for accessing Mastodon.
MIT, C# -
π» Express ActivityPub: A very simple reference implementation of an ActivityPub server using Express.js.
MIT, JavaScript -
π» Federated Digital Commerce Template: Accelerate federated digital commercial product development with this FastAPI/ActivityPub base project generator.
MIT, Python -
π» Federation: Library to abstract social web federation protocols like ActivityPub, Diaspora and Matrix (see docs)
BSD-3-clause, Python -
π» Fedi: ActivityStreams and ActivityPub in Elixir. Based on a a literal translation from the go-fed package.
Apache-2.0, Elixir -
π» FediKit: Building Blocks for Fediverse.
MIT, TypeScript -
π» fedi-games (site): A simple framework to build games for the Fediverse using the ActivityPub protocol.
AGPL-3.0, Go -
π» fedi-inbox (fedi): Basic Fediverse Inbox. Writing software is hard and time consuming. What's the most basic practical system that lets us connect to the fediverse?
Public domain, JavaScript -
π» go-fed apcore (site, fedi): A powerful single server ActivityPub framework for performant Fediverse applications.
AGPL-3.0, Go -
π» hare-activity (fedi): Hare package provides a extensible implementation of the ActivityStreams 2.0 format and the ActivityPub protocols.
MPL, Hare -
π» Incognitum: A .NET Standard library for Mastodon.
MIT, C# -
π» Lemmy-Swift-Client (site): A Swift client for Lemmy.
MIT, Swift -
π» Laravel ActivityPub (fedi): A batteries included ActivityPub package for Laravel.
MIT, PHP -
π» LittleActivityPub: A minimal and incomplete implementation of an ActivityPub server, for didactic purposes.
MIT, PHP -
π» Little Boxes: Tiny ActivityPub framework, both database and server agnostic
ISC, Python -
π» Little Library: A digital give-a-book, take-a-book library for ebooks
AGPL-3.0, JavaScript -
π» Masto.Net: A C# Library for Mastodon.
MIT, C# -
π» minipub (site): Minimal ActivityPub server for posting federated podcast comments.
MIT, TypeScript -
π» Mod.ActivityPub: ActivityPub Server services for ASP.NET
-, C# -
π» NActivityPub: ActivityPub & ActivityStreams support library for Common Lisp.
BSD-3-Clause, Lisp -
π» ProboscisKit: A lightweight Mastodon Swift framework, made for iOS and macOS.
CC BY-SA 4.0, Swift -
π» Pub: A tiny ActivityPub to Mastodon bridge.
BSD-3-Clause, Go -
π» Pubstrate: ActivityStreams and ActivityPub library for GNU Guile. Includes a full ActivityStreams library and most of an ActivityPub implementation.
GPL-3.0, Guile -
π» pynodeinfo: NodeInfo library implemented with poetry.
AGPL-3.0, Python -
π» Python ActivityPub: A general ActivityPub library
MPL-2.0, Python -
π» rustypub (site, fedi): Early beginnings of ActivityPub library in Rust (started August 2022, see announcement).
Apache-2.0, Rust -
π» Sigh (fedi): HTTP signatures for ActivityPub in Rust.
MIT, Rust -
π» SofaPub: A minimally functional ActivityPub Server.
MIT, Rust -
π» The Old Dog and Duck: A Clojure library designed to implement the ActivityPub protocol.
GPL-2.0, Clojure -
π» Toki: A C# ActivityPub Fediverse-compatible server designed mostly for small-ish instances.
AGPL-3.0, C#
Utilities
-
ap-components (fedi): A collection of Web Components for showing ActivityPub objects in a browser.
Apache-2.0, JavaScript -
atp2rss: Convert ATProto and ActivityPub subscription lists to RSS.
GPL-2.0, Python -
Federator: Basic server/bridge implementation to connect non-ActivityPub services to the Fediverse (WIP, help wanted)
GPL-3.0, PHP -
FedIAM (fedi): A research project which aims to offer login and access control based on open identities using Fediverse and IndieWeb protocols.
Apache-2.0, Go -
Fedinspect (fedi): A desktop application for analysing fediverse server configurations and features.
MIT, Python. -
FediThreat (site): Content moderation API for the Fediverse (starting with Pixelfed) to detect and prevent abuse, spam, and threats in real-time.
AGPL-3.0, PHP -
Granary (site): The social web translator. Fetches and converts data between social networks, HTML and JSON with microformats2, ActivityStreams, Atom, JSON Feed, and more.
CC0-1.0, Python -
Minoru's Fediverse Crawler (site, fedi): Crawls the Fediverse and produces a list of instances that are alive.
AGPL-3.0, Rust -
βοΈ Mentions United: Client-side retrieving and rendering of interactions from the fediverse.
MIT, JavaScript -
Sherlock (fedi): Library that inspects a URL for any and all available metadata, pulling from whatever metadata formats are available, and returning it as an ActivityStreams 2.0 document.
Apache-2.0, Go
Mastodon tools
-
Masto-collab (site): Allows for drafting Mastodon posts using wikis as a collaboration platform.
AGPL-3.0, Rust -
Splinter (site, fedi): Turns long articles into Mastodon posts and publishes them for you automatically.
GPL-3.0, JavaScript
Utilities unmaintained
-
π» activity-streams-validator (fedi): Activity Streams validation for TypeScript.
MIT, TypeScript -
π» ap (fedi): Command-line client for the ActivityPub API.
GPL-3.0, Python -
π» apub2gmi (fedi): Convert an ActivityPub archive full of images to a bunch of Gemini files.
MIT, Python -
π» bots-rodeo (fedi): A bots-only server framework for ActivityPub.
AGPL-3.0, JavaScript -
π» MastoBot (fedi): NodeJS Mastodon client library with an eye to making bot development fun & easy.
ISC License, JavaScript -
π» MastodonKit (site): A Swift Framework that wraps Mastodon's API.
MIT, Swift -
π» M-OAuth(site) (fedi): Access token generator for Akkoma, Pleroma, Mastodon APIs.
GPL-3.0, TypeScript -
π» n8n-nodes-mastodon: A community node that lets you use Mastodon in your n8n automation workflows.
MIT, TypeScript -
π» toot-volute: An interpreter for Mastodon posts.
GPL-3.0, JavaScript -
π» tootgroup.py: Emulate group accounts on Mastodon.
GPL-3.0, Python -
π» Unbooster: A simple script to un-boost statuses that were boosted more than one week ago.
MIT, Python
Testing
-
ActivityPub Fuzzer (site): Test against simulated real-world Fediverse traffic in a local development environment.
AGPL-3.0, TypeScript -
ActivityPub Test Suite (fedi): Server-independent, full-automated test suite primary focused on ActivityPub server compliance testing.
MIT, Python -
βοΈ DrFed (site): A web-based platform for developing and debugging ActivityPub implementations, that brings together the tools you need to diagnose federation failures in one place.
AGPL-3.0, TypeScript -
FEP-8a8e compliance tester (site): Verifies ActivityStreams Event objects for FEP-8a8e compliance.
AGPL-3.0, TypeScript -
Sandcastles: An integration and federation test sandbox for developers of fediverse software.
MPL-2.0, Shell
Testing unmaintained
-
π» activitypub-actor-tester: An HTML element that renders a tool for testing an ActivityPub Actor. Using 'activitypub-testing' CLI.
AGPL-3.0, TypeScript -
π» activitypub-mock: A mock library for testing ActivityPub servers.
Apache-2.0, JavaScript -
π» activitypub-testing (site): Tools for testing implementations of ActivityPub, a decentralized social networking protocol.
AGPL-3.0, JavaScript -
π» APDebug (fedi): A set of tools to debug ActivityPub requests. You can inspect requests, see the flow in real time, run arbitrary requests with HTTP signature handled for you.
AGPL-3.0, PHP -
π» dfk-ap (site): A small ActivityPub debugging server on Glitch.
MIT, JavaScript -
π» Test Suite: An unofficial partially-automated ActivityPub test suite
AGPL-3.0, Go
Forge federation
This category is dedicated to an important new direction on the Fediverse, where Software Development itself becomes federated. Currently the focus is on projects and protocols that allow for the federation of code forges (such as Gitea and Gitlab). See also the "Social coding" section in the π Delightful fediverse experience curated list.
Forge specifications
-
ForgeFed: A federation protocol for software project hosting and collaboration platforms and components of such platforms. ForgeFed is an extension of the ActivityPub protocol.
-
Friendly Forge Format (F3): An open file format used by ForgeFed for storing the information from a forge such as issues, pull/merge requests, milestones, release assets, and more.
-
Forge-Feed: A collection of (still provisional) specifications and recommendations to enhance interoperability and content discovery of different code forges across the internet.
Miscellaneous projects
This category is for any code project related to the Fediverse. They need not be directly development related.
Social sharing
-
CamperJS (fedi): Implements FEP-3b86 Activity Intents, which publishes actions that a user can take from their home server and provides a consistent API for calling these intents from an external web page.
AGPL-3.0, TypeScript -
Share Buttons: Share buttons that support dynamic input of Fediverse URLs and require no JavaScript.
AGPL-3,0, PHP -
WebIntents (site): Universal follow button for the Fediverse. Simple integration for ActivityPub accounts across Mastodon, Pixelfed, Loops, and more.
MIT, Vue/TypeScript
Miscellaneous unmaintained
-
π» Adonis.js Fedify Demo: Demo integration of Fedify with Adonis.js for building ActivityPub enabled applications.
-
π» Fedishare: Firefox toolbar extension to share the current browser tab on the Fediverse
GPL-3.0, TypeScript
Commons gardening
π This curated list is carefully gardened by volunteers working in spare time. We are working in commons and so can you. Help make this list better, and become a Gardener of the fediverse.
If you have questions or feedback regarding this list, then please create an Issue in our tracker, and optionally @mention one or more of our maintainers:
Contributors
We are proud to introduce you to some of our delightful gardeners. Thank you for your kind contributions. Gardening, and not on this list? Please add yourself if you are missing.
Special thanks goes to NLnet who supported the revival and repositioning of this list, when maintenance burdens and lack of volunteer time saw it ever more lagging behind.
License
Β This delightful commons list evolves under Social coding commons.