Python tools to submit functions on the Substra platform

pip install substratools==0.21.3




Substra is an open source federated learning (FL) software. This specific repository, substra-tools, is a Python package defining base classes for Dataset (data opener script) and wrappers to execute functions submitted on the platform.

This repository also contains a Dockerfile to execute the user Python scripts on the Substra platform. This is currently needed to easily have substratools package available inside the Docker image without using a pypi server.

Getting started

To install the substratools Python package, run the following command:

pip install substratools

Pull the substra-tools Docker image

docker pull


Clone the repository:

Build the Docker image from source

docker build -f Dockerfile .


To setup the project in development mode, run:

pip install -e ".[dev]"

To run all tests, use the following command:

make test

How to generate the changelog

The changelog is managed with towncrier. To add a new entry in the changelog, add a file in the changes folder. The file name should have the following structure: <unique_id>.<change_type>. The unique_id is a unique identifier, we currently use the PR number. The change_type can be of the following types: added, changed, removed, fixed.

To generate the changelog (for example during a release), use the following command (you must have the dev dependencies installed):

towncrier build --version=<x.y.z>

You can use the --draft option to see what would be generated without actually writing to the changelog (and without removing the fragments).