Plato uses uv as its package manager, which is a modern, fast Python package manager that provides significant performance improvements over conda environments. To install uv, refer to its official documentation, or simply run the following commands:
You can run Plato using uv run, using one of its configuration files:
uvrunplato.py-cconfigs/MNIST/fedavg_lenet5.toml
In order to run any of the examples, first run the following command to include all global Python packages in a local Python environment:
uvsync
In case you need extra dependencies (including differential privacy, reinforcement learning, secure multi-party computation, and the MLX framework), you should run:
The plato-learn PyPi package will be automatically built and published by a GitHub action workflow every time a release is created on GitHub. To build the package manually, follow these steps:
Clean previous builds (optional):
rm-rfdist/build/*.egg-info
Build the package:
uvbuild
Publish to PyPI:
uvpublish
Or if you need to specify the PyPi token explicitly:
uvpublish--token<your-pypi-token>
The uv tool will handle all the build process using the modern, PEP 517-compliant hatchling backend specified in pyproject.toml, making it much simpler than the old python setup.py sdist bdist_wheel approach.
Uninstalling Plato
Plato can be uninstalled by simply removing the local environment, residing within the top-level directory: