{"id":44606126,"url":"https://github.com/makgyver/gossipy","last_synced_at":"2026-02-14T10:37:08.645Z","repository":{"id":37729593,"uuid":"385613625","full_name":"makgyver/gossipy","owner":"makgyver","description":"Python module for simulating gossip learning.","archived":false,"fork":false,"pushed_at":"2024-01-25T14:37:52.000Z","size":2177,"stargazers_count":40,"open_issues_count":1,"forks_count":11,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-21T08:56:24.682Z","etag":null,"topics":["deep-learning","distributed-machine-learning","federated-learning","gossip-learning","gossip-protocol","pytorch","simulation"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/makgyver.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-07-13T13:28:33.000Z","updated_at":"2025-04-11T09:32:38.000Z","dependencies_parsed_at":"2023-12-23T09:38:51.700Z","dependency_job_id":"bfd3f42b-24ca-457a-ad5e-124a52f5481f","html_url":"https://github.com/makgyver/gossipy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/makgyver/gossipy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makgyver%2Fgossipy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makgyver%2Fgossipy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makgyver%2Fgossipy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makgyver%2Fgossipy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/makgyver","download_url":"https://codeload.github.com/makgyver/gossipy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makgyver%2Fgossipy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29442799,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T10:17:46.583Z","status":"ssl_error","status_checked_at":"2026-02-14T10:17:22.534Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["deep-learning","distributed-machine-learning","federated-learning","gossip-learning","gossip-protocol","pytorch","simulation"],"created_at":"2026-02-14T10:37:08.495Z","updated_at":"2026-02-14T10:37:08.640Z","avatar_url":"https://github.com/makgyver.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[travis-img]: https://img.shields.io/travis/com/makgyver/gossipy?style=for-the-badge\n[travis-url]: https://app.travis-ci.com/github/makgyver/gossipy\n\n[language]: https://img.shields.io/github/languages/top/makgyver/gossipy?style=for-the-badge\n[issues]: https://img.shields.io/github/issues/makgyver/gossipy?style=for-the-badge\n[license]: https://img.shields.io/github/license/makgyver/gossipy?style=for-the-badge\n[version]: https://img.shields.io/badge/python-3.7|3.8|3.9-blue?style=for-the-badge\n\n[![python](https://img.shields.io/badge/PYTHON-blue?style=for-the-badge\u0026logo=python\u0026logoColor=yellow)](https://www.python.org/)\n[![vscode](https://img.shields.io/badge/VSCODE-white?style=for-the-badge\u0026logo=visualstudiocode\u0026logoColor=blue)](https://code.visualstudio.com/)\n[![macos](https://img.shields.io/badge/macOS-grey?style=for-the-badge\u0026logo=apple)](https://code.visualstudio.com/)\n[![open-source](https://img.shields.io/badge/open%20source-blue?style=for-the-badge\u0026logo=github\u0026color=123456)](https://github.com/makgyver/gossipy/)\n![license]\n\n[![Build Status][travis-img]][travis-url]\n[![Coverage Status](https://img.shields.io/coveralls/makgyver/gossipy?style=for-the-badge)](https://coveralls.io/github/makgyver/gossipy?branch=main)\n![version] ![issues]\n[![GitHub latest commit](https://img.shields.io/github/last-commit/makgyver/gossipy?style=for-the-badge)](https://github.com/makgyver/gossipy/commit/)\n\n\n# gossipy \nPython module for simulating gossip learning and decentralized federated learning.\n\n## Documentation\nThe documentation is available at https://makgyver.github.io/gossipy/\n\n## Install\n**gossipy** is available as a [PyPI](https://pypi.org) module and it can be installed using `pip`:\n\n```console\n$ pip install gossipy-dfl\n```\n\n## TODOs\n\n### Features\n\n- [ ] Models cache[[Ormandi 2013]](#1) [[Giaretta 2019]](#4) (partially implemented)\n- [ ] Perfect matching [[Ormandi 2013]](#1)\n- [ ] More realistic online behaviour (currently it is a worst case scenario)\n- [ ] DFL [[Liu 2022]](#12)\n- [ ] Segmented GL [[Hu 2019]](#5)\n- [ ] CMFL [[Che 2021]](#11)\n- [ ] MATCHA [[Wang 2019]](#6)\n- [ ] Add training stopping criterion\n- [x] GPU support (quick fix)\n\n### Extras\n\n- [ ] Add 'Weights and Biases' support\n\n\n## References (Implemented or partially implemented approaches)\n\n\u003ca id=\"1\"\u003e[Ormandi 2013]\u003c/a\u003e\nOrmándi, Róbert, István Hegedüs, and Márk Jelasity. 'Gossip Learning with Linear Models on Fully Distributed Data'. Concurrency and Computation: Practice and Experience 25, no. 4 (February 2013): 556–571. https://doi.org/10.1002/cpe.2858.\n\n\u003ca id=\"2\"\u003e[Berta 2014]\u003c/a\u003e\nArpad Berta, Istvan Hegedus, and Robert Ormandi. 'Lightning Fast Asynchronous Distributed K-Means Clustering', 22th European Symposium on Artificial Neural Networks, (ESANN) 2014, Bruges, Belgium, April 23-25, 2014.\n\n\u003ca id=\"3\"\u003e[Danner 2018]\u003c/a\u003e\nG. Danner and M. Jelasity, 'Token Account Algorithms: The Best of the Proactive and Reactive Worlds'. In 2018 IEEE 38th International Conference on Distributed Computing Systems (ICDCS), 2018, pp. 885-895. https://doi.org/10.1109/ICDCS.2018.00090.\n\n\u003ca id=\"4\"\u003e[Giaretta 2019]\u003c/a\u003e\nGiaretta, Lodovico, and Sarunas Girdzijauskas. 'Gossip Learning: Off the Beaten Path'. In 2019 IEEE International Conference on Big Data (Big Data), 1117–1124. Los Angeles, CA, USA: IEEE, 2019. https://doi.org/10.1109/BigData47090.2019.9006216.\n\n\u003ca id=\"5\"\u003e[Hu 2019]\u003c/a\u003e \nChenghao Hu, Jingyan Jiang and Zhi Wang. 'Decentralized Federated Learning: A Segmented Gossip Approach'. https://arxiv.org/pdf/1908.07782.pdf\n\n\u003ca id=\"6\"\u003e[Wang 2019]\u003c/a\u003e \nJianyu Wang, Anit Kumar Sahu, Zhouyi Yang, Gauri Joshi, Soummya Kar. 'MATCHA: Speeding Up Decentralized SGD via Matching Decomposition Sampling'. https://arxiv.org/pdf/1905.09435.pdf\n\n\u003ca id=\"7\"\u003e[Hegedus 2020]\u003c/a\u003e\nHegedűs, István, Gábor Danner, Peggy Cellier and Márk Jelasity. 'Decentralized Recommendation Based on Matrix Factorization: A Comparison of Gossip and Federated Learning'. In 2020 Joint European Conference on Machine Learning and Knowledge Discovery in Databases, 2020, pp. 317-332. https://doi.org/10.1007/978-3-030-43823-4_27.\n\n\u003ca id=\"8\"\u003e[Koloskova 2020]\u003c/a\u003e\nAnastasia Koloskova, Nicolas Loizou, Sadra Boreiri, Martin Jaggi, and Sebastian U. Stich. 'A unified theory of decentralized SGD with changing topology and local updates'. In Proceedings of the 37th International Conference on Machine Learning, pp. 5381–5393, 2020.\n\n\u003ca id=\"9\"\u003e[Hegedus 2021]\u003c/a\u003e\nHegedűs, István, Gábor Danner, and Márk Jelasity. 'Decentralized Learning Works: An Empirical Comparison of Gossip Learning and Federated Learning'. Journal of Parallel and Distributed Computing 148 (February 2021): 109–124. https://doi.org/10.1016/j.jpdc.2020.10.006.\n\n\u003ca id=\"10\"\u003e[Onoszko 2021]\u003c/a\u003e\nNoa Onoszko, Gustav Karlsson Olof Mogren, and Edvin Listo Zec. 'Decentralized federated learning of deep neural networks on non-iid data'. International Workshop on Federated Learning for User Privacy and Data Confidentiality in Conjunction with ICML 2021 (FL-ICML'21). https://fl-icml.github.io/2021/papers/FL-ICML21_paper_3.pdf\n\n\u003ca id=\"11\"\u003e[Che 2021]\u003c/a\u003e\nChunjiang Che, Xiaoli Li, Chuan Chen, Xiaoyu He, and Zibin Zheng. 'A Decentralized Federated Learning Framework via Committee Mechanism with Convergence Guarantee'. https://arxiv.org/pdf/2108.00365.pdf\n\n\u003ca id=\"12\"\u003e[Liu 2022]\u003c/a\u003e\nWei Liu, Li Chen and Wenyi Zhang. 'Decentralized Federated Learning: Balancing Communication and Computing Costs'. https://arxiv.org/pdf/2107.12048.pdf\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmakgyver%2Fgossipy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmakgyver%2Fgossipy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmakgyver%2Fgossipy/lists"}