Python library to abstract social web federation protocols like ActivityPub, Diaspora and Matrix.
 
 
Go to file
Jason Robinson 82ac0ce3cf Refactor up the embedded image recognition code from ActivityPub AttachImagesMixin to the base RawContentMixin so Matrix can use that too to upload images pre sending. 2020-12-29 23:12:06 +02:00
.github
docs sender_localpart -> shortcode. Give appservices also an exclusive namespace for users and aliases. 2020-12-24 15:36:38 +02:00
federation Refactor up the embedded image recognition code from ActivityPub AttachImagesMixin to the base RawContentMixin so Matrix can use that too to upload images pre sending. 2020-12-29 23:12:06 +02:00
.coveragerc
.gitignore
.gitlab-ci.yml
CHANGELOG.md Changelog for images in markdown fix 2020-12-27 23:08:36 +02:00
LICENSE.txt
MANIFEST.in
README.md Update some docs and add words about Matrix 2020-12-21 22:06:00 +02:00
dev-requirements.txt
pytest.ini
setup.cfg
setup.py Add configuration for Matrix appservice registration file 2020-12-21 23:09:29 +02:00
tox.ini Fix python version in tox 2020-12-20 03:31:09 +02:00

README.md

pipeline status codecov.io 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 support should be considered as alpha - all the basic things work but there are likely to be a lot of compatibility issues with other ActivityPub implementations.
  • Matrix support cannot be considered usable 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://git.feneas.org/jaywink / https://github.com/jaywink