{"data":{"slug":"flwrlabs-flower","name":"flower","tagline":"Flower: A Friendly Federated AI Framework","github_url":"https://github.com/flwrlabs/flower","owner":"flwrlabs","repo":"flower","owner_avatar_url":"https://avatars.githubusercontent.com/u/122113819?v=4","primary_language":"Python","stars":7027,"forks":1212,"topics":["ai","android","artificial-intelligence","cpp","deep-learning","federated-analytics","federated-learning","federated-learning-framework","fleet-intelligence","fleet-learning","flower","framework","grpc","ios","machine-learning","python","pytorch","raspberry-pi","scikit-learn","tensorflow"],"archived":false,"github_pushed_at":"2026-07-10T22:34:36+00:00","maintenance_label":"Very active","url":"https://www.graphcanon.com/tools/flwrlabs-flower","markdown_url":"https://www.graphcanon.com/tools/flwrlabs-flower.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/flwrlabs-flower","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=flwrlabs-flower","description":"Flower: A Friendly Federated AI Framework","homepage_url":"https://flower.ai","license":"Apache-2.0","open_issues":329,"watchers":43,"ai_summary":null,"readme_excerpt":"# Flower: A Friendly Federated AI Framework\n\n<p align=\"center\">\n  <a href=\"https://flower.ai/\">\n    <img src=\"https://flower.ai/static/images/icon/icon.png\" width=\"140px\" alt=\"Flower Website\" />\n  </a>\n</p>\n<p align=\"center\">\n    <a href=\"https://flower.ai/\">Website</a> |\n    <a href=\"https://flower.ai/blog\">Blog</a> |\n    <a href=\"https://flower.ai/docs/\">Docs</a> |\n    <a href=\"https://flower.ai/join-slack\">Slack</a>\n    <br /><br />\n</p>\n\n\n\n\n\n\n\n\nFlower (`flwr`) is a framework for building federated AI systems. The\ndesign of Flower is based on a few guiding principles:\n\n- **Customizable**: Federated learning systems vary wildly from one use case to\n  another. Flower allows for a wide range of different configurations depending\n  on the needs of each individual use case.\n\n- **Extendable**: Flower originated from a research project at the University of\n  Oxford, so it was built with AI research in mind. Many components can be\n  extended and overridden to build new state-of-the-art systems.\n\n- **Framework-agnostic**: Different machine learning frameworks have different\n  strengths. Flower can be used with any machine learning framework, for\n  example, [PyTorch](https://pytorch.org), [TensorFlow](https://tensorflow.org), [Hugging Face Transformers](https://huggingface.co/), [PyTorch Lightning](https://pytorchlightning.ai/), [scikit-learn](https://scikit-learn.org/), [JAX](https://jax.readthedocs.io/), [TFLite](https://tensorflow.org/lite/), [MONAI](https://docs.monai.io/en/latest/index.html), [fastai](https://www.fast.ai/), [MLX](https://ml-explore.github.io/mlx/build/html/index.html), [XGBoost](https://xgboost.readthedocs.io/en/stable/), [CatBoost](https://catboost.ai/), [LeRobot](https://github.com/huggingface/lerobot) for federated robots, [Pandas](https://pandas.pydata.org/) for federated analytics, or even raw [NumPy](https://numpy.org/)\n  for users who enjoy computing gradients by hand.\n\n- **Understandable**: Flower is written with maintainability in mind. The\n  community is encouraged to both read and contribute to the codebase.\n\nMeet the Flower community on [flower.ai](https://flower.ai)!\n\n## Federated Learning Tutorial\n\nFlower's goal is to make federated learning accessible to everyone. This series of tutorials introduces the fundamentals of federated learning and how to implement them in Flower.\n\n0. **[What is Federated Learning?](https://flower.ai/docs/framework/main/en/tutorial-series-what-is-federated-learning.html)**\n\n1. **[Get started with Flower](https://flower.ai/docs/framework/main/en/tutorial-series-get-started-with-flower.html)**\n\n2. **[Write your first Flower App](https://flower.ai/docs/framework/main/en/tutorial-series-write-your-first-flower-app.html)**\n\n3. **[Write your first Flower App with PyTorch](https://flower.ai/docs/framework/main/en/tutorial-series-write-your-first-flower-app-pytorch.html)**\n\n4. **[Use a federated learning strategy](https://flower.ai/docs/framework/main/en/tutorial-series-use-a-federated-learning-strategy-pytorch.html)**\n\n5. **[Customize a Flower Strategy](https://flower.ai/docs/framework/main/en/tutorial-series-build-a-strategy-from-scratch-pytorch.html)**\n\n6. **[Communicate Custom Messages](https://flower.ai/docs/framework/main/en/tutorial-series-customize-the-client-pytorch.html)**\n\nStay tuned, more tutorials are coming soon. Topics include **Privacy and Security in Federated Learning**, and **Scaling Federated Learning**.\n\n## Documentation\n\n[Flower Docs](https://flower.ai/docs):\n\n- [Installation](https://flower.ai/docs/framework/how-to-install-flower.html)\n- [Quickstart (TensorFlow)](https://flower.ai/docs/framework/tutorial-quickstart-tensorflow.html)\n- [Quickstart (PyTorch)](https://flower.ai/docs/framework/tutorial-quickstart-pytorch.html)\n- [Quickstart (Hugging Face)](https://flower.ai/docs/framework/tutorial-quickstart-huggingface.html)\n- [Quickstart (PyTorch Lightning)](https://flower.ai/docs/framework/tutorial-quickstart-pytorch-lightning.html)\n- [Quickstart (Pandas)](h","github_created_at":"2020-02-17T11:51:29+00:00","created_at":"2026-07-11T23:38:16.114531+00:00","updated_at":"2026-07-11T23:38:26.347516+00:00","categories":[{"slug":"llm-frameworks","name":"LLM Frameworks","url":"https://www.graphcanon.com/categories/llm-frameworks","markdown_url":"https://www.graphcanon.com/categories/llm-frameworks.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/llm-frameworks"},{"slug":"model-training","name":"Model Training","url":"https://www.graphcanon.com/categories/model-training","markdown_url":"https://www.graphcanon.com/categories/model-training.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/model-training"},{"slug":"computer-vision","name":"Computer Vision","url":"https://www.graphcanon.com/categories/computer-vision","markdown_url":"https://www.graphcanon.com/categories/computer-vision.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/computer-vision"}],"tags":[{"slug":"federated-analytics","name":"federated-analytics"},{"slug":"deep-learning","name":"deep learning"},{"slug":"federated-learning-framework","name":"federated-learning-framework"},{"slug":"android","name":"android"},{"slug":"ai","name":"ai"},{"slug":"artificial-intelligence","name":"artificial-intelligence"},{"slug":"cpp","name":"cpp"},{"slug":"federated-learning","name":"federated-learning"}],"trust":{"provenance":{"is_fork":false,"github_id":241095326,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-07-11T23:38:17.673Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":4,"days_since_push":1,"last_release_at":"2026-07-01T11:59:02Z"},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T23:38:18.018Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-07-11T23:38:17.435Z"},"languages":{"value":["python"],"source":"github.language","observed_at":"2026-07-11T23:38:17.435Z"},"license_spdx":{"value":"Apache-2.0","source":"github.license","observed_at":"2026-07-11T23:38:17.435Z"}}}}