Python library to abstract social web federation protocols like ActivityPub, Diaspora and Matrix.
 
 
Go to file
Alain St-Denis 54a8404c3d Make verify_ld_signature more robust. Make Tombstone objects signable. 2023-07-24 08:32:32 -04:00
.github
docs Switch to BeautifulSoup for content processing. Outbound rendered content is now provided by the client app. Mark inbound AP HTML content hashtags and mentions. Fix missing href attribute crashing process_text_links. 2023-07-08 07:34:44 -04:00
federation Make verify_ld_signature more robust. Make Tombstone objects signable. 2023-07-24 08:32:32 -04:00
.coveragerc
.gitignore
.gitlab-ci.yml
.readthedocs.yaml
CHANGELOG.md Switch to BeautifulSoup for content processing. Outbound rendered content is now provided by the client app. Mark inbound AP HTML content hashtags and mentions. Fix missing href attribute crashing process_text_links. 2023-07-08 07:34:44 -04:00
LICENSE.txt
MANIFEST.in
README.md
dev-requirements.txt Refactor jsonld context management. Move LD signing to entities/activitypub. Move jsonld document_loader caching to __init__.py. Fix tests. 2023-03-24 18:34:15 -04:00
pytest.ini
setup.cfg
setup.py
tox.ini

README.md

pipeline status issue tracker

PyPI version Documentation Status PyPI PyPI

federation

Python library to abstract social web federation protocols like ActivityPub, Diaspora and Matrix.

Introduction

The aim of federation is to provide and abstract multiple social web protocols like ActivityPub, Diaspora and Matrix in one package, over an easy to use and understand Python API. This way applications can be built to (almost) transparently support many protocols without the app builder having to know everything about those protocols.

Status

Currently, three protocols are being focused on.

  • Diaspora is considered to be stable with most of the protocol implemented.
  • ActivityPub is considered to be stable with working federation with most ActivityPub platforms.
  • Matrix support is in early phase and not to be considered useful yet.

The code base is well tested and in use in several projects. Backward incompatible changes will be clearly documented in changelog entries.

Additional information

Installation and requirements

See installation documentation.

Usage and API documentation

See usage documentation.

Support and help

See development and support documentation.

License

BSD 3-clause license

Author

Jason Robinson / https://jasonrobinson.me / https://gitlab.com/jaywink / https://github.com/jaywink