{"id":13892839,"url":"https://github.com/jaywink/federation","last_synced_at":"2025-04-10T05:11:48.710Z","repository":{"id":34437572,"uuid":"38371381","full_name":"jaywink/federation","owner":"jaywink","description":"Python library for abstracting social federation protocols","archived":false,"fork":false,"pushed_at":"2025-03-23T14:13:43.000Z","size":1376,"stargazers_count":113,"open_issues_count":13,"forks_count":10,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-04-10T05:11:33.995Z","etag":null,"topics":["activitypub","diaspora","federation","matrix","protocol","python-library","social"],"latest_commit_sha":null,"homepage":"https://codeberg.org/socialhome/federation","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jaywink.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null},"funding":{"github":"jaywink","patreon":"jaywink","custom":"https://liberapay.com/jaywink/"}},"created_at":"2015-07-01T13:01:20.000Z","updated_at":"2025-03-16T02:40:46.000Z","dependencies_parsed_at":"2023-02-19T08:45:53.846Z","dependency_job_id":"932e9f16-1236-41b7-9612-520a0841c099","html_url":"https://github.com/jaywink/federation","commit_stats":{"total_commits":667,"total_committers":6,"mean_commits":"111.16666666666667","dds":"0.13643178410794599","last_synced_commit":"a109a7f82422b5754310bf0f759c3cd5659c4ded"},"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaywink%2Ffederation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaywink%2Ffederation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaywink%2Ffederation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaywink%2Ffederation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaywink","download_url":"https://codeload.github.com/jaywink/federation/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248161276,"owners_count":21057555,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["activitypub","diaspora","federation","matrix","protocol","python-library","social"],"created_at":"2024-08-06T17:01:16.013Z","updated_at":"2025-04-10T05:11:48.684Z","avatar_url":"https://github.com/jaywink.png","language":"Python","funding_links":["https://github.com/sponsors/jaywink","https://patreon.com/jaywink","https://liberapay.com/jaywink/"],"categories":["Python"],"sub_categories":[],"readme":"[![issue tracker](https://img.shields.io/badge/issue%20tracker-codeberg-orange.svg)](https://codeberg.org/socialhome/federation/issues)\n\n[![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)\n\n# federation\n\nPython library to abstract social web federation protocols like ActivityPub, Diaspora and Matrix.\n\n## Introduction\n\nThe aim of `federation` is to provide and abstract multiple social web protocols like \nActivityPub, Diaspora and Matrix in one package, over an easy to use and understand Python API. \nThis way applications can be built to (almost) transparently support many protocols \nwithout the app builder having to know everything about those protocols.\n\n![](./docs/_static/generic_diagram.png)\n\n## Status\n\nCurrently, three protocols are being focused on.\n\n* Diaspora is considered to be stable with most of the protocol implemented.\n* ActivityPub is considered to be stable with working federation with most ActivityPub platforms.\n* Matrix support is in early phase and not to be considered useful yet.\n\nThe code base is well tested and in use in several projects. Backward incompatible changes \nwill be clearly documented in changelog entries.\n\n## Additional information\n\n### Installation and requirements\n\nSee [installation documentation](http://federation.readthedocs.io/en/latest/install.html).\n\n### Usage and API documentation\n\nSee [usage documentation](http://federation.readthedocs.io/en/latest/usage.html).\n\n### Support and help\n\nSee [development and support documentation](http://federation.readthedocs.io/en/latest/development.html).\n\n### License\n\n[BSD 3-clause license](https://www.tldrlegal.com/l/bsd3)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaywink%2Ffederation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaywink%2Ffederation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaywink%2Ffederation/lists"}