P2pfl

Latest version: v0.4.0

Safety actively analyzes 722491 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

0.4.0

Major improvements and expanded capabilities for decentralized federated learning.

* **Unified Model Interface:** ๐Ÿค Introducing the `P2PFLModel` abstract class for seamless interaction with models from different frameworks (PyTorch, TensorFlow/Keras, and Flax), simplifying development and enabling easy framework switching.
* **Enhanced Dataset Handling:** ๐Ÿ—‚๏ธ The `P2PFLDataset` class streamlines data loading from various sources (CSV, JSON, Parquet, Pandas, Python data structures, and Hugging Face Datasets) and offers automated partitioning strategies for both IID (`RandomIIDPartitionStrategy`) and non-IID (`DirichletPartitionStrategy`) scenarios. `DataExportStrategy` facilitates framework-specific data preparation.
* **Expanded Framework Support:** ๐ŸŽ‰ Added support for TensorFlow/Keras and JAX/Flax via new `KerasLearner` and `FlaxLearner` classes, respectively.
* **Advanced Aggregators:** ๐Ÿ›ก๏ธ Implemented `FedMedian` for enhanced robustness against outliers and `SCAFFOLD` to address client drift in non-IID data distributions. A new callback system allows aggregators to request additional information during training.
* **Security Boost:** ๐Ÿ” Enabled secure communication using SSL/TLS and mutual TLS (mTLS) for the gRPC protocol.
* **Simulation with Ray:** โšก `SuperActorPool` for scalable, fault-tolerant simulations using Ray's distributed computing capabilities. Option to disable Ray is available via `Settings.DISABLE_RAY`.
* **Refactoring & Improvements:** ๐Ÿงน Enhanced code organization, logging with the improved `P2PFLogger`, unit testing, and documentation.

New Contributors
* kirle made their first contribution in https://github.com/p2pfl/p2pfl/pull/27
* hectorpadin1 made their first contribution in https://github.com/p2pfl/p2pfl/pull/31
* Casomoon made their first contribution in https://github.com/p2pfl/p2pfl/pull/39

**Full Changelog**: https://github.com/p2pfl/p2pfl/compare/v0.3.0...v0.4.0

0.3.0

What's Changed
* Code refactor (Workflow and commands)
* GRPC as comunication protocol by pguijas in https://github.com/pguijas/p2pfl/pull/13
* Poetry and typing by pguijas in https://github.com/pguijas/p2pfl/pull/15
* Logging by pguijas in https://github.com/pguijas/p2pfl/pull/16
* Web services by pguijas in https://github.com/pguijas/p2pfl/pull/17
* Add Support for Unix Domain Sockets by Angel3245 in https://github.com/pguijas/p2pfl/pull/21
* Communication protocol by pguijas in https://github.com/pguijas/p2pfl/pull/22
* feat: InMemory communication protocol by Angel3245 in https://github.com/pguijas/p2pfl/pull/23

New Contributors
* pguijas made their first contribution in https://github.com/pguijas/p2pfl/pull/13
* Angel3245 made their first contribution in https://github.com/pguijas/p2pfl/pull/21

**Full Changelog**: https://github.com/pguijas/p2pfl/compare/v0.1.7-alfa...v0.3.0

v0.1.7-alfa

Links

Releases

Has known vulnerabilities

ยฉ 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.