README.md 2.47 KB
Newer Older
1
[![pipeline status](https://git.feneas.org/jaywink/federation/badges/master/pipeline.svg)](https://git.feneas.org/jaywink/federation/commits/master) [![codecov.io](https://codecov.io/github/jaywink/federation/coverage.svg?branch=master)](https://codecov.io/github/jaywink/federation?branch=master) [![issue tracker](https://img.shields.io/badge/issue%20tracker-gitlab-orange.svg)](https://git.feneas.org/jaywink/federation/issues)
jaywink's avatar
jaywink committed
2

jaywink's avatar
jaywink committed
3
[![PyPI version](https://badge.fury.io/py/federation.svg)](https://pypi.python.org/pypi/federation)  [![Documentation Status](http://readthedocs.org/projects/federation/badge/?version=latest)](http://federation.readthedocs.io/en/latest/?badge=latest) [![PyPI](https://img.shields.io/pypi/pyversions/federation.svg?maxAge=2592000)](https://pypi.python.org/pypi/federation) [![PyPI](https://img.shields.io/pypi/l/federation.svg?maxAge=2592000)](https://pypi.python.org/pypi/federation)
jaywink's avatar
jaywink committed
4

jaywink's avatar
jaywink committed
5
# federation
The Gitter Badger's avatar
The Gitter Badger committed
6

7
Python library to abstract social web federation protocols like ActivityPub, Diaspora and Matrix.
jaywink's avatar
jaywink committed
8

jaywink's avatar
jaywink committed
9
## Introduction
jaywink's avatar
jaywink committed
10

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

16
![](./docs/_static/generic_diagram.png)
jaywink's avatar
jaywink committed
17

jaywink's avatar
jaywink committed
18
## Status
jaywink's avatar
jaywink committed
19

20 21 22 23 24 25 26
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.
jaywink's avatar
jaywink committed
27

28 29
The code base is well tested and in use in several projects. Backward incompatible changes 
will be clearly documented in changelog entries.
jaywink's avatar
jaywink committed
30 31 32 33 34

## Additional information

### Installation and requirements

jaywink's avatar
jaywink committed
35
See [installation documentation](http://federation.readthedocs.io/en/latest/install.html).
jaywink's avatar
jaywink committed
36 37 38

### Usage and API documentation

jaywink's avatar
jaywink committed
39
See [usage documentation](http://federation.readthedocs.io/en/latest/usage.html).
jaywink's avatar
jaywink committed
40 41 42

### Support and help

jaywink's avatar
jaywink committed
43
See [development and support documentation](http://federation.readthedocs.io/en/latest/development.html).
jaywink's avatar
jaywink committed
44 45 46 47 48 49

### License

[BSD 3-clause license](https://www.tldrlegal.com/l/bsd3)

### Author
jaywink's avatar
jaywink committed
50

51
Jason Robinson / https://jasonrobinson.me / https://git.feneas.org/jaywink / https://github.com/jaywink