Federated learning that speaks every ML dialect
Abstracts the messy coordination of distributed training so you can focus on algorithms instead of network plumbing, without forcing you to switch ML stacks.

What it does
Flower (flwr) orchestrates federated AI systems, letting you train models across phones, edge devices, and distributed servers without pooling data in one place. It handles the communication and aggregation logic so you can focus on the learning algorithm rather than the network plumbing. The framework targets both research and edge deployments, with examples for Android, iOS, Raspberry Pi, and Nvidia Jetson.
The interesting bit
Most ML infrastructure forces you to pick a stack; Flower treats framework loyalty as a design flaw. It supports PyTorch, TensorFlow, JAX, Hugging Face, XGBoost, scikit-learn, Pandas, and even raw NumPy, while also hosting community-contributed baselines that reproduce major federated learning papers.
Key highlights
- Framework-agnostic by design: works with PyTorch, TensorFlow, JAX, Hugging Face, MLX, XGBoost, CatBoost, scikit-learn, Pandas, and NumPy
- Originated as a University of Oxford research project with an emphasis on extensibility and customization
- Supports mobile and embedded deployment via Android (TFLite), iOS (CoreML), Raspberry Pi, and Nvidia Jetson
- Includes community-contributed baselines reproducing experiments from popular FL publications (FedProx, MOON, FedAvg, and others)
- Written for readability and maintainability, encouraging contributors to read and modify the source
Verdict
Researchers and engineers building custom federated systems across heterogeneous devices and ML stacks will find it useful; those wanting a fully managed, opinionated SaaS should look elsewhere.
Frequently asked
- What is flwrlabs/flower?
- Abstracts the messy coordination of distributed training so you can focus on algorithms instead of network plumbing, without forcing you to switch ML stacks.
- Is flower open source?
- Yes — flwrlabs/flower is open source, released under the Apache-2.0 license.
- What language is flower written in?
- flwrlabs/flower is primarily written in Python.
- How popular is flower?
- flwrlabs/flower has 7k stars on GitHub.
- Where can I find flower?
- flwrlabs/flower is on GitHub at https://github.com/flwrlabs/flower.