Reflecting on the existence of httpsig.org
-
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.
@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/httpsigFed@hongminhee@hollo.social
-
@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/httpsigFed@hongminhee@hollo.social
@mariusor@metalhead.club makes sense. It seems like even for some frameworks, depending on libraries for trickier bits is a better idea in the long run.
-
@tom @julian@activitypub.space The SciOp implementation and its AP plumbing are led by @jonny, that'll probably stay that way even with me now on board as well. I trust the direction, but I wouldn't count on a plug & play framework release within a plannable timeframe.
There have been other Python ActivityPub frameworks and libraries, from the top of my head I know https://git.fabiomanganiello.com/blacklight/pubby by @fabio and https://github.com/fedi-libs/apkit by @cocoa. See also https://delightful.coding.social/delightful-fediverse-development/ curated by @smallcircles.
@julian@fietkau.social
@tom @julian@activitypub.space
It'll be a bit, yeah, and ours is going to be a bit opinionated, I want to push for portable IDs throughout - it fits for our application and its how AP should work. -
@tom @julian@activitypub.space The SciOp implementation and its AP plumbing are led by @jonny, that'll probably stay that way even with me now on board as well. I trust the direction, but I wouldn't count on a plug & play framework release within a plannable timeframe.
There have been other Python ActivityPub frameworks and libraries, from the top of my head I know https://git.fabiomanganiello.com/blacklight/pubby by @fabio and https://github.com/fedi-libs/apkit by @cocoa. See also https://delightful.coding.social/delightful-fediverse-development/ curated by @smallcircles.
@julian@fietkau.social ah, of course @smallcircles@social.coop has a list for it. That's quite handy, thanks both!
-
Tagging @j12t@j12t.social as this might be something worth discussing in relation to activitypub.rocks
@julian You think we should link to it from activitypub.rocks? Would be useful! File an issue?
-
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.
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.
-
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.
@silverpill@mitra.social this is very cool, I didn't know about it!
-
? [[global:guest]] crossposted this topic to General Discussion
-
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.
-
Nice. I'm going to keep an eye on it.
-
Nice. I'm going to keep an eye on it.
Yes, indeed. I found this the other day, and have queued it up for inclusion at https://delightful.coding.social/delightful-fediverse-development
I also found the ongoing work on the #ForgeFed implementation, which is mighty interesting. Great work. Also queued up, but for inclusion at https://delightful.coding.social/delightful-fediverse-experience
-
Yes, indeed. I found this the other day, and have queued it up for inclusion at https://delightful.coding.social/delightful-fediverse-development
I also found the ongoing work on the #ForgeFed implementation, which is mighty interesting. Great work. Also queued up, but for inclusion at https://delightful.coding.social/delightful-fediverse-experience
@smallcircles@social.coop <img class="not-responsive emoji" src="https://activitypub.space/assets/plugins/nodebb-plugin-emoji/emoji/android/1f604.png?v=fb640c2473b" title="
" /> thanks for the kind words. activityforge is still very much WIP. currently working on the web UI to get minimal user/repository interaction working. all of the backend plumbing is in place for Factorycreation of user repos, userFollow, and repositoryLikeactivities. I'll put out a blog post / update here when it is ready for other folks to try out
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login