Python library to abstract social web federation protocols like ActivityPub, Diaspora and Matrix.
 
 
Go to file
Jason Robinson 8068d79980 Ensure DiasporaReshare.public is set
Diaspora removed 'public' from reshare in protocol version 0.2.2. Since we do support it, when parsing incoming payloads, set it to True if it is missing. Our Share base entity defaults to False.
2017-11-01 22:18:49 +02:00
docs Support Diaspora URI scheme 2017-10-22 14:40:12 +03:00
federation Ensure DiasporaReshare.public is set 2017-11-01 22:18:49 +02:00
.coveragerc
.gitignore
.pep8speaks.yml
.travis.yml Fix travis python 3.6 build pip failure 2017-08-02 11:09:27 +03:00
CHANGELOG.md Support Diaspora URI scheme 2017-10-22 14:40:12 +03:00
LICENSE.txt
MANIFEST.in
README.md Add IRC chat badge 2017-05-14 16:00:59 +03:00
dev-requirements.txt Add created_at to Diaspora Comment entity XML creator 2017-07-21 22:51:16 +03:00
pytest.ini
setup.cfg
setup.py Free up the dependency upper versions 2017-05-12 23:20:05 +03:00

README.md

Build Status codecov.io Code Health Dependency Status Stories in Ready

PyPI version Documentation Status PyPI PyPI

chat on freenode Chat on Gitter

federation

Python library to abstract social web federation protocols like Diaspora.

Introduction

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

While the library does aim to provide an easy way to implement protocols like Diaspora into your application, it will not be a one to one mirror image of said protocols. The idea is to present one unified collection of entities and high level methods to the application to use. Since protocols can support different feature sets or have different ideas on even simple entities like status messages, it would be impossible to model the core entities according to a single protocol.

Status

Currently the library supports a part of the Diaspora protocol with remaining parts being constantly added. See the Diaspora protocol page for support status.

The code base is well tested and in use in several projects. Backward incompatible changes will however be made at this stage still, however those 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://github.com/jaywink