Metadata-Version: 2.1
Name: nvflare
Version: 2.4.0rc1
Summary: Federated Learning Application Runtime Environment
Home-page: https://github.com/NVIDIA/NVFlare
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Requires-Python: >=3.8
Description-Content-Type: text/markdown; charset=UTF-8
License-File: LICENSE
Requires-Dist: cryptography (>=36.0.0)
Requires-Dist: Flask (==2.2.5)
Requires-Dist: Flask-JWT-Extended (==4.4.3)
Requires-Dist: Flask-SQLAlchemy (==2.5.1)
Requires-Dist: SQLAlchemy (==1.4.31)
Requires-Dist: grpcio (==1.51.1)
Requires-Dist: gunicorn (>=20.1.0)
Requires-Dist: numpy
Requires-Dist: protobuf (==3.20.3)
Requires-Dist: psutil (>=5.9.1)
Requires-Dist: PyYAML (>=6.0)
Requires-Dist: requests (>=2.28.0)
Requires-Dist: six (>=1.15.0)
Requires-Dist: msgpack (>=1.0.3)
Requires-Dist: docker (>=6.0)
Requires-Dist: websockets (>=10.4)
Provides-Extra: config
Requires-Dist: pyhocon ; extra == 'config'
Requires-Dist: omegaconf ; extra == 'config'
Provides-Extra: he
Requires-Dist: tenseal (==0.3.12) ; extra == 'he'
Provides-Extra: psi
Requires-Dist: openmined.psi (==1.1.1) ; extra == 'psi'
Provides-Extra: pt
Requires-Dist: torch ; extra == 'pt'
Requires-Dist: torchvision ; extra == 'pt'
Provides-Extra: sklearn
Requires-Dist: scikit-learn ; extra == 'sklearn'
Provides-Extra: tracking
Requires-Dist: tensorboard ; extra == 'tracking'
Provides-Extra: all
Requires-Dist: pyhocon ; extra == 'all'
Requires-Dist: omegaconf ; extra == 'all'
Requires-Dist: tenseal (==0.3.12) ; extra == 'all'
Requires-Dist: openmined.psi (==1.1.1) ; extra == 'all'
Requires-Dist: torch ; extra == 'all'
Requires-Dist: torchvision ; extra == 'all'
Requires-Dist: scikit-learn ; extra == 'all'
Requires-Dist: tensorboard ; extra == 'all'
Provides-Extra: app_opt
Requires-Dist: tenseal (==0.3.12) ; extra == 'app_opt'
Requires-Dist: openmined.psi (==1.1.1) ; extra == 'app_opt'
Requires-Dist: torch ; extra == 'app_opt'
Requires-Dist: torchvision ; extra == 'app_opt'
Requires-Dist: scikit-learn ; extra == 'app_opt'
Requires-Dist: tensorboard ; extra == 'app_opt'
Provides-Extra: core_opt
Requires-Dist: pyhocon ; extra == 'core_opt'
Requires-Dist: omegaconf ; extra == 'core_opt'
Provides-Extra: dev
Requires-Dist: sphinx (>=4.1.1) ; extra == 'dev'
Requires-Dist: sphinx-rtd-theme ; extra == 'dev'
Requires-Dist: recommonmark ; extra == 'dev'
Requires-Dist: sphinx-copybutton ; extra == 'dev'
Requires-Dist: sphinxcontrib-jquery ; extra == 'dev'
Requires-Dist: pyhocon ; extra == 'dev'
Requires-Dist: omegaconf ; extra == 'dev'
Requires-Dist: tenseal (==0.3.12) ; extra == 'dev'
Requires-Dist: openmined.psi (==1.1.1) ; extra == 'dev'
Requires-Dist: torch ; extra == 'dev'
Requires-Dist: torchvision ; extra == 'dev'
Requires-Dist: scikit-learn ; extra == 'dev'
Requires-Dist: tensorboard ; extra == 'dev'
Requires-Dist: isort (==5.10.1) ; extra == 'dev'
Requires-Dist: flake8 (==5.0.4) ; extra == 'dev'
Requires-Dist: black (==22.10.0) ; extra == 'dev'
Requires-Dist: click (==8.1.3) ; extra == 'dev'
Requires-Dist: pytest-xdist (==3.0.2) ; extra == 'dev'
Requires-Dist: pytest-cov (==4.0.0) ; extra == 'dev'
Requires-Dist: pandas (>=1.5.1) ; extra == 'dev'
Provides-Extra: doc
Requires-Dist: sphinx (>=4.1.1) ; extra == 'doc'
Requires-Dist: sphinx-rtd-theme ; extra == 'doc'
Requires-Dist: recommonmark ; extra == 'doc'
Requires-Dist: sphinx-copybutton ; extra == 'doc'
Requires-Dist: sphinxcontrib-jquery ; extra == 'doc'
Provides-Extra: test
Requires-Dist: pyhocon ; extra == 'test'
Requires-Dist: omegaconf ; extra == 'test'
Requires-Dist: tenseal (==0.3.12) ; extra == 'test'
Requires-Dist: openmined.psi (==1.1.1) ; extra == 'test'
Requires-Dist: torch ; extra == 'test'
Requires-Dist: torchvision ; extra == 'test'
Requires-Dist: scikit-learn ; extra == 'test'
Requires-Dist: tensorboard ; extra == 'test'
Requires-Dist: isort (==5.10.1) ; extra == 'test'
Requires-Dist: flake8 (==5.0.4) ; extra == 'test'
Requires-Dist: black (==22.10.0) ; extra == 'test'
Requires-Dist: click (==8.1.3) ; extra == 'test'
Requires-Dist: pytest-xdist (==3.0.2) ; extra == 'test'
Requires-Dist: pytest-cov (==4.0.0) ; extra == 'test'
Requires-Dist: pandas (>=1.5.1) ; extra == 'test'

**NV**IDIA **F**ederated **L**earning **A**pplication **R**untime **E**nvironment

[NVIDIA FLARE](https://nvflare.readthedocs.io/en/main/index.html) is a domain-agnostic, open-source, extensible SDK that 
allows researchers and data scientists to adapt existing ML/DL workflows(PyTorch, TensorFlow, Scikit-learn, XGBoost etc.) 
to a federated paradigm. It enables platform developers to build a secure, privacy-preserving offering 
for a distributed multi-party collaboration. 

**NVIDIA FLARE** is built on a componentized architecture that allows you to take federated learning workloads 
from research and simulation to real-world production deployment. Key components include:

* Support both deep learning and traditional machine algorithms
* Support horizontal and vertical federated learning
* Built-in FL algorithms (e.g., FedAvg, FedProx, FedOpt, Scaffold, Ditto )
* Support multiple training workflows (e.g., scatter & gather, cyclic) and validation workflows (global model evaluation, cross-site validation)
* Support both data analytics (federated statistics) and machine learning lifecycle management
* Privacy preservation with differential privacy, homomorphic encryption
* Security enforcement through federated authorization and privacy policy 
* Easily customizable and extensible
* Deployment on cloud and on premise 
* Simulator for rapid development and prototyping
* Dashboard UI for simplified project management and deployment
* Built-in support for system resiliency and fault tolerance

## Installation
To install the [current release](https://pypi.org/project/nvflare/), you can simply run:
```
$ python3 -m pip install nvflare
```
## Getting started

You can quickly get started using the [FL simulator](https://nvflare.readthedocs.io/en/main/getting_started.html#the-fl-simulator).

A detailed [getting started](https://nvflare.readthedocs.io/en/main/getting_started.html) guide is available in the [documentation](https://nvflare.readthedocs.io/en/main/index.html).
 
Examples and notebook tutorials are located [here](./examples).

## Related talks and publications

For a list of talks, blogs, and publications related to NVIDIA FLARE, see [here](https://nvflare.readthedocs.io/en/main/publications_and_talks.html).

## License

NVIDIA FLARE has Apache 2.0 license, as found in [LICENSE](https://github.com/NVIDIA/NVFlare/blob/dev/LICENSE) file. 
