Skip to main content
Syft-Flwr Hero Light

What is Syft-Flwr?

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.

Why Syft-Flwr?

Traditional federated learning frameworks require complex network infrastructure and continuous connectivity. Syft-Flwr takes a different approach: communication happens via file sync (Google Drive or SyftBox), enabling federated learning workflows that work offline, require no servers, and can run entirely in Google Colab notebooks.

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

How it works

Syft-Flwr orchestrates federated learning through three key roles:
  1. Data Owners (DO) - Organizations that hold private data and approve training jobs
  2. Data Scientist (DS) - Coordinator who proposes ML projects and aggregates results
  3. Flower Framework - Handles model aggregation using FedAvg or custom strategies
The workflow is simple:
1

Data owners register datasets

Each data owner creates a dataset with mock (public) and private paths. Mock data lets data scientists develop code, while private data stays secure.
2

Data scientist proposes project

The DS creates a Flower project defining model architecture and training logic, then bootstraps it with syft_flwr.bootstrap() to configure participants.
3

Jobs submitted for approval

The DS submits training jobs to each data owner. DOs inspect the code before approving execution on their private data.
4

Federated training runs

Data owners run process_approved_jobs() to train locally. The DS runs the aggregator to coordinate rounds and combine model updates.

Built on Flower

Syft-Flwr is built on Flower, a robust federated learning framework. This means you get:
  • Standard Flower APIs - Use familiar ClientApp and ServerApp patterns
  • FedAvg support - Built-in federated averaging with model saving
  • Custom strategies - Implement your own aggregation strategies
  • All Flower features - Simulation mode, metrics aggregation, and more
Syft-Flwr adds the governance and communication layer on top, handling secure job submission and file-based transport.

Key features

Transport flexibility

Choose the transport that fits your environment:
  • SyftBox - Local file sync with RPC/crypto (default for local development)
  • P2P - Google Drive or OneDrive sync (perfect for Colab notebooks)

Data governance

Data owners maintain complete control:
  • Review training code before execution
  • Approve or reject jobs individually
  • Data never leaves the local environment
  • Mock datasets for safe code development

Developer friendly

Built for real-world workflows:
  • Run complete FL workflows in Google Colab (no local setup)
  • Standard Flower project structure
  • Python 3.12+ support
  • Comprehensive logging and debugging

Use cases

Syft-Flwr is perfect for:

Healthcare research

Train diagnostic models across hospitals without sharing patient data

Financial analytics

Build fraud detection models across institutions while maintaining data privacy

Edge AI

Train models across IoT devices with intermittent connectivity

Research collaboration

Enable academic collaboration on sensitive datasets

Next steps

Quickstart

Get a federated learning model running in 5 minutes

Installation

Install Syft-Flwr and set up your development environment

API Reference

Explore the complete API documentation

Examples

Learn from real-world federated learning examples

Community

Join the OpenMined community:
  • Slack - Join #support-syftbox for questions
  • GitHub - Report bugs or contribute
  • Co-Design Program - Get direct support for production use cases
Ready to start? Head to the quickstart guide to train your first federated model.

Build docs developers (and LLMs) love