├── .flake8 ├── .git-blame-ignore-revs ├── .github ├── CODEOWNERS ├── ISSUE_TEMPLATE │ ├── bug_report.yaml │ ├── config.yml │ └── feature_request.yaml ├── PULL_REQUEST_TEMPLATE.md └── workflows │ ├── publish.yml │ ├── python.yml │ └── towncrier-changelog.yml ├── .gitignore ├── .pre-commit-config.yaml ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── CONTRIBUTORS.md ├── LICENSE ├── MANIFEST.in ├── Makefile ├── README.md ├── Substra-logo-colour.svg ├── Substra-logo-white.svg ├── bin ├── generate_sdk_documentation.py └── generate_sdk_schemas_documentation.py ├── changes └── .gitkeep ├── docs ├── README.md └── technical_documentation.md ├── pyproject.toml ├── references ├── sdk.md ├── sdk_models.md └── sdk_schemas.md ├── substra ├── __init__.py ├── __version__.py ├── config.py └── sdk │ ├── __init__.py │ ├── archive │ ├── __init__.py │ ├── safezip.py │ └── tarsafe.py │ ├── backends │ ├── __init__.py │ ├── base.py │ ├── local │ │ ├── __init__.py │ │ ├── backend.py │ │ ├── compute │ │ │ ├── __init__.py │ │ │ ├── spawner │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ ├── docker.py │ │ │ │ └── subprocess.py │ │ │ └── worker.py │ │ ├── dal.py │ │ ├── db.py │ │ └── models.py │ └── remote │ │ ├── __init__.py │ │ ├── backend.py │ │ ├── request_formatter.py │ │ └── rest_client.py │ ├── client.py │ ├── compute_plan.py │ ├── exceptions.py │ ├── fs.py │ ├── graph.py │ ├── hasher.py │ ├── models.py │ ├── schemas.py │ └── utils.py └── tests ├── __init__.py ├── conftest.py ├── data_factory.py ├── datastore.py ├── fl_interface.py ├── mocked_requests.py ├── sdk ├── __init__.py ├── data │ ├── symlink.zip │ └── traversal.zip ├── local │ ├── __init__.py │ ├── conftest.py │ └── test_debug.py ├── test_add.py ├── test_archive.py ├── test_cancel.py ├── test_client.py ├── test_describe.py ├── test_download.py ├── test_get.py ├── test_graph.py ├── test_list.py ├── test_rest_client.py ├── test_schemas.py ├── test_subprocess.py ├── test_update.py └── test_wait.py ├── test_request_formatter.py ├── test_utils.py └── utils.py /.flake8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/.flake8 -------------------------------------------------------------------------------- /.git-blame-ignore-revs: -------------------------------------------------------------------------------- 1 | 3b9b9d3d24cc94bdf34ce39cf0273f410188cbd2 2 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @Substra/code-owners 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/.github/ISSUE_TEMPLATE/bug_report.yaml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/.github/ISSUE_TEMPLATE/config.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/.github/ISSUE_TEMPLATE/feature_request.yaml -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/.github/workflows/publish.yml -------------------------------------------------------------------------------- /.github/workflows/python.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/.github/workflows/python.yml -------------------------------------------------------------------------------- /.github/workflows/towncrier-changelog.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/.github/workflows/towncrier-changelog.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /CONTRIBUTORS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/CONTRIBUTORS.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/LICENSE -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/MANIFEST.in -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/README.md -------------------------------------------------------------------------------- /Substra-logo-colour.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/Substra-logo-colour.svg -------------------------------------------------------------------------------- /Substra-logo-white.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/Substra-logo-white.svg -------------------------------------------------------------------------------- /bin/generate_sdk_documentation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/bin/generate_sdk_documentation.py -------------------------------------------------------------------------------- /bin/generate_sdk_schemas_documentation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/bin/generate_sdk_schemas_documentation.py -------------------------------------------------------------------------------- /changes/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/docs/README.md -------------------------------------------------------------------------------- /docs/technical_documentation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/docs/technical_documentation.md -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/pyproject.toml -------------------------------------------------------------------------------- /references/sdk.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/references/sdk.md -------------------------------------------------------------------------------- /references/sdk_models.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/references/sdk_models.md -------------------------------------------------------------------------------- /references/sdk_schemas.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/references/sdk_schemas.md -------------------------------------------------------------------------------- /substra/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/__init__.py -------------------------------------------------------------------------------- /substra/__version__.py: -------------------------------------------------------------------------------- 1 | __version__ = "1.0.0" 2 | -------------------------------------------------------------------------------- /substra/config.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /substra/sdk/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/__init__.py -------------------------------------------------------------------------------- /substra/sdk/archive/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/archive/__init__.py -------------------------------------------------------------------------------- /substra/sdk/archive/safezip.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/archive/safezip.py -------------------------------------------------------------------------------- /substra/sdk/archive/tarsafe.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/archive/tarsafe.py -------------------------------------------------------------------------------- /substra/sdk/backends/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/backends/__init__.py -------------------------------------------------------------------------------- /substra/sdk/backends/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/backends/base.py -------------------------------------------------------------------------------- /substra/sdk/backends/local/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /substra/sdk/backends/local/backend.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/backends/local/backend.py -------------------------------------------------------------------------------- /substra/sdk/backends/local/compute/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/backends/local/compute/__init__.py -------------------------------------------------------------------------------- /substra/sdk/backends/local/compute/spawner/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/backends/local/compute/spawner/__init__.py -------------------------------------------------------------------------------- /substra/sdk/backends/local/compute/spawner/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/backends/local/compute/spawner/base.py -------------------------------------------------------------------------------- /substra/sdk/backends/local/compute/spawner/docker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/backends/local/compute/spawner/docker.py -------------------------------------------------------------------------------- /substra/sdk/backends/local/compute/spawner/subprocess.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/backends/local/compute/spawner/subprocess.py -------------------------------------------------------------------------------- /substra/sdk/backends/local/compute/worker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/backends/local/compute/worker.py -------------------------------------------------------------------------------- /substra/sdk/backends/local/dal.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/backends/local/dal.py -------------------------------------------------------------------------------- /substra/sdk/backends/local/db.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/backends/local/db.py -------------------------------------------------------------------------------- /substra/sdk/backends/local/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/backends/local/models.py -------------------------------------------------------------------------------- /substra/sdk/backends/remote/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /substra/sdk/backends/remote/backend.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/backends/remote/backend.py -------------------------------------------------------------------------------- /substra/sdk/backends/remote/request_formatter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/backends/remote/request_formatter.py -------------------------------------------------------------------------------- /substra/sdk/backends/remote/rest_client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/backends/remote/rest_client.py -------------------------------------------------------------------------------- /substra/sdk/client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/client.py -------------------------------------------------------------------------------- /substra/sdk/compute_plan.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/compute_plan.py -------------------------------------------------------------------------------- /substra/sdk/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/exceptions.py -------------------------------------------------------------------------------- /substra/sdk/fs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/fs.py -------------------------------------------------------------------------------- /substra/sdk/graph.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/graph.py -------------------------------------------------------------------------------- /substra/sdk/hasher.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/hasher.py -------------------------------------------------------------------------------- /substra/sdk/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/models.py -------------------------------------------------------------------------------- /substra/sdk/schemas.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/schemas.py -------------------------------------------------------------------------------- /substra/sdk/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/substra/sdk/utils.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/data_factory.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/tests/data_factory.py -------------------------------------------------------------------------------- /tests/datastore.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/tests/datastore.py -------------------------------------------------------------------------------- /tests/fl_interface.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/tests/fl_interface.py -------------------------------------------------------------------------------- /tests/mocked_requests.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/tests/mocked_requests.py -------------------------------------------------------------------------------- /tests/sdk/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/sdk/data/symlink.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/tests/sdk/data/symlink.zip -------------------------------------------------------------------------------- /tests/sdk/data/traversal.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/tests/sdk/data/traversal.zip -------------------------------------------------------------------------------- /tests/sdk/local/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/sdk/local/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/tests/sdk/local/conftest.py -------------------------------------------------------------------------------- /tests/sdk/local/test_debug.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/tests/sdk/local/test_debug.py -------------------------------------------------------------------------------- /tests/sdk/test_add.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/tests/sdk/test_add.py -------------------------------------------------------------------------------- /tests/sdk/test_archive.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/tests/sdk/test_archive.py -------------------------------------------------------------------------------- /tests/sdk/test_cancel.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/tests/sdk/test_cancel.py -------------------------------------------------------------------------------- /tests/sdk/test_client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/tests/sdk/test_client.py -------------------------------------------------------------------------------- /tests/sdk/test_describe.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/tests/sdk/test_describe.py -------------------------------------------------------------------------------- /tests/sdk/test_download.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/tests/sdk/test_download.py -------------------------------------------------------------------------------- /tests/sdk/test_get.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/tests/sdk/test_get.py -------------------------------------------------------------------------------- /tests/sdk/test_graph.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/tests/sdk/test_graph.py -------------------------------------------------------------------------------- /tests/sdk/test_list.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/tests/sdk/test_list.py -------------------------------------------------------------------------------- /tests/sdk/test_rest_client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/tests/sdk/test_rest_client.py -------------------------------------------------------------------------------- /tests/sdk/test_schemas.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/tests/sdk/test_schemas.py -------------------------------------------------------------------------------- /tests/sdk/test_subprocess.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/tests/sdk/test_subprocess.py -------------------------------------------------------------------------------- /tests/sdk/test_update.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/tests/sdk/test_update.py -------------------------------------------------------------------------------- /tests/sdk/test_wait.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/tests/sdk/test_wait.py -------------------------------------------------------------------------------- /tests/test_request_formatter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/tests/test_request_formatter.py -------------------------------------------------------------------------------- /tests/test_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/tests/test_utils.py -------------------------------------------------------------------------------- /tests/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Substra/substra/HEAD/tests/utils.py --------------------------------------------------------------------------------