Elektrine lite

← Feed

@julian@activitypub.space

Reflecting on the existence of httpsig.org

2026-07-29 15:47 UTC

httpsig.org is a site with one sole purpose, to advocate for the adoption of RFC 9421 HTTP Signatures. It has a "Libraries" tab that does exactly what it advertises, it lists a bunch of libraries for you to use so you don't have to roll your own. If you want to integrate AP today, but you don't want to roll your own everything, where do you go? Who do you ask? All I know is: Fedify → Typescript (thanks @hongminhee@hollo.social!) FedBOX → Go (thanks @mariusor@metalhead.club!)[...] Do we even have a list sorted by language? This would be huge. What other AP frameworks do you know of? Granted, I didn't do a lot of thinking and deep diving before I listed those two examples, but even then, that's 1 more example than is listed on https://activitypub.rocks, so I think I might be on to something here from a developer advocacy point of view. If I were looking to integrate AP, one of the first conclusions I'd come to is that the protocol itself is fairly complex and a library or framework might help. I don't think there is a list that plainly lists supported libraries by language.

Replies (6)

  • @tom@tomkahe.com 2026-07-29 17:54

    @julian@activitypub.space @hongminhee@hollo.social @mariusor@metalhead.club there was a brief discussion about this in the fedify matrix channel a bit ago. I think https://dev.funkwhale.audio/funkwhale/pyfed (though not sure how active development is for this) https://codeberg.org/bovine/bovine/ (also looks dead) and @julian@fietkau.social is building a library for SciOp (https://blog.sciop.net/2025-12-08/sfn-and-federation#federation-plans)

    Open ##4207066

  • @mariusor@metalhead.club 2026-07-29 18:08

    @julian for the implementors of Go ActivityPub applications that need RFC9421 signatures, it's important to note that it's not FedBOX that provides the functionality, but two modules in the GoActivityPub library: * the **client** module[1] wraps the signing of activities. * the **auth** module[2] wraps the verification functionality. Also for lower level use, there's the underlying module being wrapped by GoActivityPub: dadrus/httpsig [3] [1] https://github.com/go-ap/client [2] https://github.com/go-ap/auth [3] https://github.com/dadrus/httpsig Fed@hongminhee@hollo.social

    Open ##4207133

  • @julian@activitypub.space 2026-07-29 15:53

    Tagging @j12t@j12t.social as this might be something worth discussing in relation to activitypub.rocks

    Open ##4208228

  • @silverpill@mitra.social 2026-07-29 19:26

    What other AP frameworks do you know of? This one is used in Mitra and all my other projects: https://docs.rs/apx_sdk/latest/apx_sdk/ There are many libraries, actually - the Delightful List has already been mentioned in this thread. But most of these libraries are not actively developed, or not used in any serious project. So I've been thinking of adding a curated list of libraries to the ActivityPub developer guide.

    Open ##4225633

  • @0xllx0@activitypub.space 2026-07-30 03:58

    I've written an ActivityStreams 2.0 vocabulary library in Rust: https://docs.rs/activitystreams-vocabulary/latest/activitystreams_vocabulary/ Don't know of any external users for it yet, though. I mainly built it for use in my other projects, would love feedback from anyone that is using it.

    Open ##4225748

  • @evan@activitypub.space 2026-07-29 15:57

    I'd add in projects like Emissary, Bonfire, or https://github.com/evanp/activitypub-bot . They can all be used to build Fediverse servers from building blocks. I think other parts might be more piecemeal. I thing HTTP Signature libraries are awesome. https://github.com/social-web-foundation/activitystrea.ms is an AS2 library that I've used a lot, even though it's weird. https://github.com/social-web-foundation/ap-components is a Web Components library for ActivityPub objects. Also kind of cool! I think a lot of of building a Fediverse server -- or client! -- is implementing behaviour, which an engine like Fedify can do, but most libraries aren't going to do for you.

    Open ##4229950