Commit aeb1b37e authored by jaywink's avatar jaywink

Update some docs and add words about Matrix

parent 1b461806
......@@ -4,23 +4,26 @@
# federation
Python library to abstract social web federation protocols like ActivityPub and Diaspora.
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 and Diaspora in one package, over an easy to use and understand Python API.
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.
![](http://federation.readthedocs.io/en/latest/_images/generic_diagram.png)
![](./docs/_static/generic_diagram.png)
## Status
Currently two 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.
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.
......
docs/_static/generic_diagram.png

31.3 KB | W: | H:

docs/_static/generic_diagram.png

35.8 KB | W: | H:

docs/_static/generic_diagram.png
docs/_static/generic_diagram.png
docs/_static/generic_diagram.png
docs/_static/generic_diagram.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -11,10 +11,13 @@ without the app builder having to know everything about those protocols.
Status
------
Currently two 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.
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 as of yet.
The code base is well tested and in use in several projects. Backward incompatible changes
will be clearly documented in changelog entries.
......@@ -45,5 +48,5 @@ License
Author
......
Jason Robinson / `jasonrobinson.me <https://jasonrobinson.me>`_ / `GitLab <https://git.feneas.org/jaywink>`_ / `GitHub <https://github.com/jaywink>`_
Jason Robinson / `jasonrobinson.me <https://jasonrobinson.me>`_ / `@jaywink:federator.dev <https://matrix.to/#/@jaywink:federator.dev>`_ / `GitLab <https://git.feneas.org/jaywink>`_ / `GitHub <https://github.com/jaywink>`_
Protocols
=========
Currently two 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.
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 as of yet.
For example implementations in real life projects check :ref:`example-projects`.
......@@ -85,3 +88,20 @@ content in ``object.source``.
For inbound entities we do this automatically by not including received attachments in
the entity ``_children`` attribute.
.. _matrix:
Matrix
------
The aim of Matrix support in this library is not to provide instant messaging but to wrap
the parts of the Matrix protocol that specifically are especially useful for social media
applications. The current ongoing work on `Ceruelan <https://matrix.org/blog/2020/12/18/introducing-cerulean>`_
provides much of what will be implemented in this library.
This library doesn't aim to be a homeserver or provide any part of the server to server API.
The plan is to provide an appservice to hook onto a separate homeserver that deals with all
the complex protocol related details. This library will then aim to abstract much of what the
appservice gives or takes behind the same API as is provided for the other protocols.
Currently support is being added, please visit back in future versions.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment