{"id":13689814,"url":"https://github.com/scaleoutsystems/fedn","last_synced_at":"2025-05-15T18:05:07.237Z","repository":{"id":37090643,"uuid":"279604276","full_name":"scaleoutsystems/fedn","owner":"scaleoutsystems","description":"FEDn: An enterprise-ready open source federated learning framework. This repository contains the Python framework, CLI and API.","archived":false,"fork":false,"pushed_at":"2025-03-31T16:11:28.000Z","size":372642,"stargazers_count":153,"open_issues_count":11,"forks_count":35,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-31T22:15:35.795Z","etag":null,"topics":["edge-ai","edge-ml","federated-learning","federated-machine-learning","fedml","fleet-learning","keras-tensorflow","pytorch","scikit-learn","tensorflow"],"latest_commit_sha":null,"homepage":"https://docs.scaleoutsystems.com","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/scaleoutsystems.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-14T14:13:55.000Z","updated_at":"2025-03-31T16:11:30.000Z","dependencies_parsed_at":"2023-02-19T09:01:05.454Z","dependency_job_id":"b63900c1-1223-4b29-bd2d-41447ad28763","html_url":"https://github.com/scaleoutsystems/fedn","commit_stats":{"total_commits":1511,"total_committers":46,"mean_commits":32.84782608695652,"dds":0.7888815354070152,"last_synced_commit":"c416b72a683360a2f50e34e7b8b2ee7963b8fd06"},"previous_names":[],"tags_count":65,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scaleoutsystems%2Ffedn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scaleoutsystems%2Ffedn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scaleoutsystems%2Ffedn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scaleoutsystems%2Ffedn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scaleoutsystems","download_url":"https://codeload.github.com/scaleoutsystems/fedn/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247744332,"owners_count":20988783,"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":["edge-ai","edge-ml","federated-learning","federated-machine-learning","fedml","fleet-learning","keras-tensorflow","pytorch","scikit-learn","tensorflow"],"created_at":"2024-08-02T16:00:27.870Z","updated_at":"2025-04-07T23:07:25.656Z","avatar_url":"https://github.com/scaleoutsystems.png","language":"Python","funding_links":[],"categories":["Open-source FL Framework","federated learning framework","Framework"],"sub_categories":["Vertical FL","table","2022"],"readme":"|pic1| |pic2| |pic3|\n\n.. |pic1| image:: https://github.com/scaleoutsystems/fedn/actions/workflows/integration-tests.yaml/badge.svg\n   :target: https://github.com/scaleoutsystems/fedn/actions/workflows/integration-tests.yaml\n\n.. |pic2| image:: https://badgen.net/badge/icon/discord?icon=discord\u0026label\n   :target: https://discord.gg/KMg4VwszAd\n\n.. |pic3| image:: https://readthedocs.org/projects/fedn/badge/?version=latest\u0026style=flat\n   :target: https://fedn.readthedocs.io\n\nFEDn: An enterprise-ready federated learning framework \n-------------------------------------------------------\n\nOur goal is to provide a federated learning framework that is both secure, scalable and easy-to-use. We believe that that minimal code change should be needed to progress from early proof-of-concepts to production. This is reflected in our core design: \n\n-  **Minimal server-side complexity for the end-user**. Running a proper distributed FL deployment is hard. With FEDn Studio we seek to handle all server-side complexity and provide a UI, REST API and a Python interface to help users manage FL experiments and track metrics in real time.\n\n-  **Secure by design.** FL clients do not need to open any ingress ports. Industry-standard communication protocols (gRPC) and token-based authentication and RBAC (Jason Web Tokens) provides flexible integration in a range of production environments.  \n\n-  **ML-framework agnostic**. A black-box client-side architecture lets data scientists interface with their framework of choice. \n\n-  **Cloud native.** By following cloud native design principles, we ensure a wide range of deployment options including private cloud and on-premise infrastructure. \n\n-  **Scalability and resilience.** Multiple aggregation servers (combiners) can share the workload. FEDn seamlessly recover from failures in all critical components and manages intermittent client-connections. \n\n-  **Developer and DevOps friendly.** Extensive event logging and distributed tracing enables developers to monitor the sytem in real-time, simplifying troubleshooting and auditing. Extensions and integrations are facilitated by a flexible plug-in architecture.  \n\nFEDn is free forever for academic and personal use / small projects. Sign up for a `FEDn Studio account \u003chttps://fedn.scaleoutsystems.com/signup\u003e`__  and take the `Quickstart tutorial \u003chttps://fedn.readthedocs.io/en/stable/quickstart.html\u003e`__ to get started with FEDn. \n\nFeatures\n=========\n\nFederated learning: \n\n- Tiered federated learning architecture enabling massive scalability and resilience. \n- Support for any ML framework (examples for PyTorch, Tensforflow/Keras and Scikit-learn)\n- Extendable via a plug-in architecture (aggregators, load balancers, object storage backends, databases  etc.)\n- Built-in federated algorithms (FedAvg, FedAdam, FedYogi, FedAdaGrad, etc.)\n- UI, CLI and Python API.\n- Implement clients in any language (Python, C++, Kotlin etc.)\n- No open ports needed client-side.\n\n\nFrom development to FL in production: \n\n-  Secure deployment of server-side / control-plane on Kubernetes.\n-  UI with dashboards for orchestrating FL experiments and for visualizing results\n-  Team features - collaborate with other users in shared project workspaces. \n-  Features for the trusted-third party: Manage access to the FL network, FL clients and training progress.\n-  REST API for handling experiments/jobs. \n-  View and export logging and tracing information. \n-  Public cloud, dedicated cloud and on-premise deployment options.\n\nAvailable client APIs:\n\n- Python client (this repository)\n- C++ client (`FEDn C++ client \u003chttps://github.com/scaleoutsystems/fedn-cpp-client\u003e`__)\n- Android Kotlin client (`FEDn Kotlin client \u003chttps://github.com/scaleoutsystems/fedn-android-client\u003e`__)\n\n\nGetting started\n============================\n\nGet started with FEDn in two steps:  \n\n1. Register for a `FEDn Studio account \u003chttps://fedn.scaleoutsystems.com/signup\u003e`__\n2. Take the `Quickstart tutorial \u003chttps://fedn.readthedocs.io/en/stable/quickstart.html\u003e`__\n\nUse of our multi-tenant, managed deployment of FEDn Studio (SaaS) is free forever for academic research and personal development/testing purposes.\nFor users and teams requiring additional resources, more storage and cpu, dedicated support, and other hosting options (private cloud, on-premise), `explore our plans \u003chttps://www.scaleoutsystems.com/start#pricing\u003e`__.  \n\nDocumentation\n=============\n\nMore details about the architecture, deployment, and how to develop your own application and framework extensions are found in the documentation:\n\n-  `Documentation \u003chttps://fedn.readthedocs.io\u003e`__\n\nFEDn Project Examples\n=====================\n\nOur example projects demonstrate different use case scenarios of FEDn \nand its integration with popular machine learning frameworks like PyTorch and TensorFlow.\n\n- `FEDn + PyTorch \u003chttps://github.com/scaleoutsystems/fedn/tree/master/examples/mnist-pytorch\u003e`__\n- `FEDn + Tensforflow/Keras \u003chttps://github.com/scaleoutsystems/fedn/tree/master/examples/mnist-keras\u003e`__\n- `FEDn + MONAI \u003chttps://github.com/scaleoutsystems/fedn/tree/master/examples/monai-2D-mednist\u003e`__\n- `FEDn + Hugging Face \u003chttps://github.com/scaleoutsystems/fedn/tree/master/examples/huggingface\u003e`__\n- `FEDn + Flower \u003chttps://github.com/scaleoutsystems/fedn/tree/master/examples/flower-client\u003e`__\n- `FEDN + Self-supervised learning \u003chttps://github.com/scaleoutsystems/fedn/tree/master/examples/FedSimSiam\u003e`__\n\nFEDn Studio Deployment options\n==============================\n\nSeveral hosting options are available to suit different project settings.\n\n-  `Public cloud (multi-tenant) \u003chttps://fedn.scaleoutsystems.com\u003e`__: Managed multi-tenant deployment in public cloud. \n-   Dedicated cloud (single-tenant): Managed, dedicated deployment in a cloud region of your choice (AWS, GCP, Azure, managed Kubernetes) \n-   Self-managed: Set up a self-managed deployment in your VPC or on-premise Kubernets cluster using Helm Chart and container images provided by Scaleout. \n\nContact the Scaleout team for information.\n\nSupport\n=================\n\nCommunity support is available in our `Discord\nserver \u003chttps://discord.gg/KMg4VwszAd\u003e`__.\n\nOptions are available for `Dedicated/custom support \u003chttps://www.scaleoutsystems.com/start#pricing\u003e`__.\n\nMaking contributions\n====================\n\nAll pull requests will be considered and are much appreciated. For\nmore details please refer to our `contribution\nguidelines \u003chttps://github.com/scaleoutsystems/fedn/blob/master/CONTRIBUTING.md\u003e`__.\n\nCitation\n========\n\nIf you use FEDn in your research, please cite:\n\n::\n\n   @article{ekmefjord2021scalable,\n     title={Scalable federated machine learning with FEDn},\n     author={Ekmefjord, Morgan and Ait-Mlouk, Addi and Alawadi, Sadi and {\\AA}kesson, Mattias and Stoyanova, Desislava and Spjuth, Ola and Toor, Salman and Hellander, Andreas},\n     journal={arXiv preprint arXiv:2103.00148},\n     year={2021}\n   }\n\n\nLicense\n=======\n\nFEDn is licensed under Apache-2.0 (see `LICENSE \u003cLICENSE\u003e`__ file for\nfull information).\n\nUse of FEDn Studio is subject to the `Terms of Use \u003chttps://www.scaleoutsystems.com/terms\u003e`__.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscaleoutsystems%2Ffedn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscaleoutsystems%2Ffedn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscaleoutsystems%2Ffedn/lists"}