Skip to content

Easy Setup, File-based, Offline Capable Federated Learning and Computations

License

Notifications You must be signed in to change notification settings

OpenMined/syft-flwr

syft-flwr

Easy, file-based, offline capable federated learning

syft-flwr is an open-source framework that combines Flower's federated learning capabilities with file-based communication. Train machine learning models collaboratively across distributed datasets without centralizing data—with easy setup, offline capability, and no servers required.

FL Training Process

Key Features

  • File-Based Communication: Train models without direct network connections—communication happens via file sync (Google Drive or SyftBox)
  • Zero Infrastructure: No servers to maintain, no complex networking setup—just notebooks and file sync
  • Offline Capable: Asynchronous message passing enables training even with intermittent connectivity
  • Privacy by Design: Data never leaves its source—only model updates are shared
  • Flower Integration: Built on Flower's robust FL framework—supports FedAvg, custom strategies, and all standard Flower features

Quick Start

The easiest way to get started is with our Google Colab tutorial—no local setup required:

📓 Zero-Setup FL with Google Colab

Example Notebooks

Example Description Communication
FL Diabetes (Google Drive) Train a diabetes prediction model across distributed Colab notebooks Google Drive
FL Diabetes (SyftBox) Train a diabetes prediction model across distributed machines SyftBox
FL Diabetes (Local) Local simulation for development and testing Local
Federated Analytics Query statistics from private datasets and aggregate them SyftBox
FedRAG Privacy-preserving question answering with RAG SyftBox

Installation

Install from PyPI:

pip install syft-flwr

Or install from source:

pip install "git+https://github.com/OpenMined/syft-flwr.git@main"

Development

See DEVELOPMENT.md for development setup and guidelines.

Releasing

See RELEASE.md for the complete release process.

Community

  • 💬 Slack - Join #support-syftbox for questions
  • 🐛 Issues - Report bugs or request features
  • 🌟 Star this repo to support the project!

License

Apache 2.0

About

Easy Setup, File-based, Offline Capable Federated Learning and Computations

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published