Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
flwr-1.16.0-py3-none-any.whl | 2025-03-11 | 532.1 kB | |
flwr-1.16.0.tar.gz | 2025-03-11 | 314.4 kB | |
Flower 1.16.0 source code.tar.gz | 2025-03-11 | 67.9 MB | |
Flower 1.16.0 source code.zip | 2025-03-11 | 69.2 MB | |
README.md | 2025-03-11 | 7.2 kB | |
Totals: 5 Items | 137.9 MB | 0 |
Thanks to our contributors
We would like to give our special thanks to all the contributors who made the new version of Flower possible (in git shortlog
order):
Alan Silva
, Andrej Jovanović
, Charles Beauville
, Chong Shen Ng
, Daniel J. Beutel
, Dimitris Stripelis
, Heng Pan
, Javier
, Kevin Ta
, Li Shaoyu
, Mohammad Naseri
, Taner Topal
, Yan Gao
What's new?
RecordSet
now supports dictionary-like access, allowing interactions similar to built-in Python dictionaries. For example, instead of recordset.parameters_records["model"]
, users can simply use recordset["model"]
. This enhancement maintains backward compatibility with existing recordset.*_records
properties.
Additionally, the Array
class now accepts numpy.ndarray
instances directly in its constructor, enabling instantiation with a NumPy array via Array(your_numpy_ndarray)
.
Flower Mods can now be applied to individual functions within the ClientApp
rather than affecting the entire application. This allows for more granular control. The documentation has been updated to reflect these changes — please refer to How to Use Built-in Mods for details.
ServerApp
and ClientApp
now support @app.lifespan()
, enabling custom enter/exit handlers for resource setup and cleanup. Throughout the entire FL training, these handlers in ClientApp
may run multiple times as instances are dynamically managed.
Adds a FedRAG example, integrating Federated Learning with Retrieval Augmented Generation (RAG). This approach allows Large Language Models (LLMs) to query distributed data silos without centrally aggregating the corpora, enhancing performance while preserving data privacy.
- Upgrade FedProx baseline to a Flower App (#4937)
Updates FedProx to the a Flower App by removing Hydra, migrating configs to pyproject.toml
, using ClientApp
and ServerApp
, integrating flwr-datasets
with DistributionPartitioner
, enabling result saving, and updating README.md
. This baseline now supports flwr run
.
The Flower framework has been fully migrated from a TaskIns
/TaskRes
-based system to a Message
-based system, aligning with the user-facing Message
class. This includes adding validator functions for Message
, introducing LinkState
methods that operate on Message
, updating LinkState
to use Message
-only methods, and removing the Task
-related code entirely.
Begins implementing an event logging system for SuperLink, allowing RPC calls to be logged when enabled. These changes introduce initial extension points.
The default TTL for messages is now 12 hours (up from 1 hour), and the gRPC message size limit has increased from 512MB to 2GB. TTL sets a hard limit on the time between the ServerApp
sending an instruction and receiving a reply from the ClientApp
.
-
Improve documentation (#4945, #4965, #4994, #4964, #4991, #5014, #4970, #4990, #4978, #4944, #5022, #5007, #4988, #5053)
-
Update CI/CD (#4943, #4942, #4953, #4985, #4984, #5025, #4987, #4912, #5049)
-
General Improvements (#4947, #4972, #4992, #5020, #5018, #4989, #4957, #5000, #5012, #5001)
As always, many parts of the Flower framework and quality infrastructure were improved and updated.
Incompatible changes
- Remove deprecated CLI commands (#4855)
Removes deprecated CLI commands: flower-server-app
, flower-superexec
, and flower-client-app
. These commands are no longer available in the framework.
- Bump minimum Python and
cryptography
versions (#4946)
Bumps the minimum Python version from 3.9 to 3.9.2 and updates the cryptography
package from 43.0.1 to 44.0.1. This change ensures compatibility with the latest security updates and features.