Skip to main content

Low-level Python library for interacting with a Substra network

Project description



Substra


Substra is an open source federated learning (FL) software. It enables the training and validation of machine learning models on distributed datasets. It provides a flexible Python interface and a web application to run federated learning training at scale. This specific repository is the low-level Python library used to interact with a Substra network.

Substra's main usage is in production environments. It has already been deployed and used by hospitals and biotech companies (see the MELLODDY project for instance). Substra can also be used on a single machine to perform FL simulations and debug code.

Substra was originally developed by Owkin and is now hosted by the Linux Foundation for AI and Data. Today Owkin is the main contributor to Substra.

Join the discussion on Slack and subscribe here to our newsletter.

To start using Substra

Have a look at our documentation.

Try out our MNIST example.

Support

If you need support, please either raise an issue on Github or ask on Slack.

Contributing

Substra warmly welcomes any contribution. Feel free to fork the repo and create a pull request.

Setup

To setup the project in development mode, run:

pip install -e ".[dev]"

To run all tests, use the following command:

make test

Some of the tests require Docker running on your machine before running them.

Code formatting

You can opt into auto-formatting of code on pre-commit using Black.

This relies on hooks managed by pre-commit, which you can set up as follows.

Install pre-commit, then run:

pre-commit install

Documentation generation

To generate the command line interface documentation, sdk and schemas documentation, the python version must be 3.8. Run the following command:

make doc

Documentation will be available in the references/ directory.

Changelog generation

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).

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

substra-0.54.0a1.tar.gz (76.7 kB view details)

Uploaded Source

Built Distribution

substra-0.54.0a1-py3-none-any.whl (67.2 kB view details)

Uploaded Python 3

File details

Details for the file substra-0.54.0a1.tar.gz.

File metadata

  • Download URL: substra-0.54.0a1.tar.gz
  • Upload date:
  • Size: 76.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.0

File hashes

Hashes for substra-0.54.0a1.tar.gz
Algorithm Hash digest
SHA256 66a8800bf7e09e4dffd6a1e07d68f42f0165d7991fa49c53858cd1a40005949b
MD5 2fa32c98580ed96ecd87b23eb710fa37
BLAKE2b-256 10ea5cbbde50ce67bf80e229f7eadf89d134272d278a0dbe5ca6e854f2a8e239

See more details on using hashes here.

File details

Details for the file substra-0.54.0a1-py3-none-any.whl.

File metadata

  • Download URL: substra-0.54.0a1-py3-none-any.whl
  • Upload date:
  • Size: 67.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.0

File hashes

Hashes for substra-0.54.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 01b5d8d6b1a7ba9bdd408af5ac81a23cb0c5d36ac2b5cba9e0090603470fce40
MD5 e7fe4ac800248dbc7d88183dc4eb1ddd
BLAKE2b-256 736e634f0b8377b283a747551da8dd66d78311f8a51b6988fea6165b04432da4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page