A lightweight, type-checked functional deep learning library for composing models and wrapping PyTorch, TensorFlow and MXNet layers.
flwrlabs/flower
A Python framework for building federated learning systems that train models across many clients without centralizing their data.
- Stars
- 7,195
- Forks
- 1,249
- Open issues
- 420
- Last commit
- yesterday
What is it?
Flower (flwr) is a framework for building federated AI systems, where models are trained across many separate clients and only model updates are shared rather than raw data. It is designed to be customizable and extendable, so developers can change the server strategy, client logic and communication pattern for a specific use case.
Flower is framework-agnostic. The project lists integrations with PyTorch, TensorFlow, Hugging Face Transformers, PyTorch Lightning, scikit-learn, JAX, TFLite, MONAI, fastai, MLX, XGBoost and CatBoost, and includes federated analytics with Pandas. Quickstart examples cover Android and iOS deployment as well as Raspberry Pi and Nvidia Jetson devices.
The repository also hosts Flower Baselines, community implementations of published federated learning methods such as FedProx, FedBN, MOON and FedAvgM, along with a range of example projects covering vertical FL, federated LLM and vision transformer finetuning.
Key features
- 01Supports many ML frameworks, including PyTorch, TensorFlow, scikit-learn and XGBoost.
- 02Lets developers customize and override server and client components.
- 03Provides quickstart examples for Android, iOS, and embedded Raspberry Pi and Jetson devices.
- 04Includes community baselines reproducing published federated learning methods.
- 05Offers examples for federated LLM and vision transformer finetuning.
Use cases
- Training a model across hospitals or organizations without sharing patient or customer data.
- Running federated learning experiments on mobile or edge devices.
- Reproducing and comparing published federated learning algorithms as a research baseline.
- Federated analytics over distributed tabular data using Pandas.
Quick start
- 1
Read the installation guide in the Flower docs
- 2
Follow the PyTorch quickstart tutorial in the docs
In collections
Topics
FAQ
- What is flower?
- A Python framework for building federated learning systems that train models across many clients without centralizing their data. Flower (flwr) is a framework for building federated AI systems, where models are trained across many separate clients and only model updates are shared rather than raw data. It is designed to be customizable and extendable, so developers can change the server strategy, client logic and communication pattern for a specific use case.
- Is flower free to use? What license does it have?
- flower is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is flower still maintained?
- Actively maintained. The last commit to flower was on Nov 6, 2026.
- What can I use flower for?
- Training a model across hospitals or organizations without sharing patient or customer data. Running federated learning experiments on mobile or edge devices. Reproducing and comparing published federated learning algorithms as a research baseline. Federated analytics over distributed tabular data using Pandas.
- How do I install flower?
- Read the installation guide in the Flower docs Follow the PyTorch quickstart tutorial in the docs
- Where can I get flower?
- The source code and installation instructions are on GitHub: https://github.com/flwrlabs/flower
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A 12-week, 24-lesson beginner AI curriculum from Microsoft covering symbolic AI, neural networks, computer vision, NLP and ethics, with notebooks in PyTorch and TensorFlow.
Viewer for neural network, deep learning and machine learning models, supporting ONNX, TensorFlow, PyTorch, Core ML and many other formats.
Python library and hosted platform for tracking, visualizing and managing machine learning experiments, datasets and models.
An engine-agnostic deep learning framework for Java that lets developers build, train, and run models with a native Java API.
A PyTorch-based deep learning framework that automates training loops, multi-GPU scaling and engineering boilerplate while keeping full control of model code.