Metadata-Version: 2.4
Name: refedez-t
Version: 0.0.2
Summary: Tool for automatizing the deployment of easy federated learning examples
License-File: LICENSE
Requires-Python: >=3.12
Requires-Dist: checksumdir>=1.3.0
Requires-Dist: dacite>=1.9.2
Requires-Dist: nvflare[dev]>=2.6.2
Requires-Dist: paramiko>=4.0.0
Requires-Dist: tqdm>=4.67.1
Requires-Dist: typer>=0.19.2
Description-Content-Type: text/markdown

<h1 align="center">ReFedEz</h1>

<p align="center">
  <img src="docs/docs/assets/refedez.png" alt="ReFedEz Logo">
</p>

**ReFedEz** 🚀 is a Python application and library designed to simplify the implementation and deployment of federated learning architectures. It provides a command-line interface (CLI) for deploying servers and clients directly in their target environments, ensuring consistency and reproducibility, and a Python library that seamlessly integrates into your machine learning code, enabling federated learning to work "like magic" with minimal modifications.

Federated learning is a powerful technique for training machine learning models across distributed data sources while maintaining privacy. ReFedEz serves as the "fast.ai of federated learning" – a beginner-friendly framework that prioritizes simplicity and rapid prototyping. It abstracts the underlying complexities, allowing researchers and developers to focus on their ML innovations rather than infrastructure challenges.

## Demo 🎥

Experience ReFedEz in action:

<script id="asciicast-demo" src="https://asciinema.org/a/demo.js" async></script>

## Features ✨

- **Simplicity**: Deploy federated learning setups with ease, and adapt it with minimal code changes.
- **Multi-Backend Support**: Works with NumPy, PyTorch and TensorFlow.
- **Reproducible**: Bit by bit reproducible, thanks to nix and uv2nix.
- **Multi-Node encrypted by default**: Self-signed TLS certificates for the communication between nodes.

## Documentation 📚

For detailed guides, API reference, and more, visit the [Documentation](docs/index.md).

## Contributing 🤝

Contributions are welcome! Please see the documentation for guidelines.

## License 📄

This project is licensed under the [MIT license](LICENSE)
