Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Substra/substra
Low-level Python library used to interact with a Substra network
https://github.com/Substra/substra
federated-learning federated-learning-framework
Last synced: 2 months ago
JSON representation
Low-level Python library used to interact with a Substra network
- Host: GitHub
- URL: https://github.com/Substra/substra
- Owner: Substra
- License: apache-2.0
- Created: 2019-10-25T09:22:58.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-03-22T10:01:39.000Z (2 months ago)
- Last Synced: 2024-03-22T10:53:48.644Z (2 months ago)
- Topics: federated-learning, federated-learning-framework
- Language: Python
- Homepage: https://docs.substra.org
- Size: 5.35 MB
- Stars: 266
- Watchers: 9
- Forks: 35
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Lists
- awesome-production-machine-learning - Substra - Substra is an open-source framework for privacy-preserving, traceable and collaborative Machine Learning. (Privacy Preserving ML)
- Awesome-FL - substra - commit/Substra/substra) | | [Substra](https://github.com/Substra) | | | [[DOC](https://doc.substra.ai/index.html)] | (federated learning framework / table)
README
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](https://www.melloddy.eu/) 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](https://owkin.com/) and is now hosted by the [Linux Foundation for AI and Data](https://lfaidata.foundation/). Today Owkin is the main contributor to Substra.
Join the discussion on [Slack](https://join.slack.com/t/substra-workspace/shared_invite/zt-1fqnk0nw6-xoPwuLJ8dAPXThfyldX8yA) and [subscribe here](https://lists.lfaidata.foundation/g/substra-announce/join) to our newsletter.
## To start using Substra
Have a look at our [documentation](https://docs.substra.org/).
Try out our [MNIST example](https://docs.substra.org/en/stable/substrafl_doc/examples/index.html#example-to-get-started-using-the-pytorch-interface).
## Support
If you need support, please either raise an issue on Github or ask on [Slack](https://join.slack.com/t/substra-workspace/shared_invite/zt-1fqnk0nw6-xoPwuLJ8dAPXThfyldX8yA).
## 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:
```sh
pip install -e ".[dev]"
```To run all tests, use the following command:
```sh
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](https://github.com/psf/black).
This relies on hooks managed by [pre-commit](https://pre-commit.com/), which you can set up as follows.
Install [pre-commit](https://pre-commit.com/), then run:
```sh
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:```sh
make doc
```Documentation will be available in the *references/* directory.