
Flower
Framework-agnostic open-source framework for building federated AI systems.
About
Flower (the flwr package) is an open-source framework for federated learning: training one shared model across many machines without raw data ever leaving its owner. A bank, hospital, or phone fleet keeps its data local and only exchanges model updates, so the shared model learns from everyone's data while privacy and regulation are respected. It originated as a research project at the University of Oxford and is built to be customizable, extendable, and framework-agnostic, working with PyTorch, TensorFlow, Hugging Face Transformers, JAX, scikit-learn, and more.
The design favors readable, maintainable code and a gentle on-ramp: tutorials walk from federated-learning basics to custom strategies and clients. Note that Flower Labs' newer Collaborative Superintelligence and Flower Agent branding refers to a separate commercial product; the open-source flwr package documented here is the federated learning framework.
Honest limitations: federated learning is inherently harder than centralized training; debugging across distributed clients, handling stragglers, and securing aggregation are real engineering work. It also assumes your problem actually needs federation; if you can legally centralize the data, centralized training is simpler and faster.
What it can do
- Federated training with data staying on each client
- Framework-agnostic clients across PyTorch, TensorFlow, JAX, and more
- Customizable strategies, from FedAvg to your own aggregation logic
Setup
pip install flwr and follow the quickstart to wire a server strategy to your client training code.
Prerequisites
Python ML code in any major framework; multiple data-holding clients or a simulated fleet.
Use cases
Works with
Trust score — 8/10
Scored 8/10 (verified tier, metrics-v1). Evidence: Verified via vendor site/docs/GitHub and reputable coverage, wave 81; Trending score 80/100 from researcher assessment.
Sources
Every fact above was checked against these sources. Where a claim comes from the provider and couldn't be independently verified, the text says so.