Skip to content

Releases: Substra/substra

0.41.0rc1

19 Dec 09:15
Compare
Choose a tag to compare
0.41.0rc1 Pre-release
Pre-release
release

Signed-off-by: ThibaultFy <50656860+ThibaultFy@users.noreply.github.com>

0.40.0

22 Nov 09:59
26be303
Compare
Choose a tag to compare

0.40.0 - 2022-11-22

Changed

  • BREAKING CHANGE: replace the tasks traintuple, aggregatetuple, predicttuple, testtuple, composite_traintuple with a single task (#299)
task_key = client.add_task(
    substra.schemas.TaskSpec(
        algo_key=algo_key,
        worker=client.organization_info().organization_id,  # org on which the task is executed
        inputs=[
            {
                'identifier': 'datasamples',
                'asset_key': datasample_key
            },
            {
                'identifier': 'opener',
                'asset_key': dataset_key
            }
        ],
        outputs= {
            'example_output': {
                'permissions': {
                    'public': False,
                    'authorized_ids': ['org1'],
                },
                'is_transient': True,
            }
        }
    )
)

task = client.get_task(task_key)
tasks = client.list_task()

# Compute plan changes
compute_plan = client.add_compute_plan(
    substra.schemas.ComputePlanSpec(
        name = 'my compute plan',
        tasks = [
            schemas.ComputePlanTaskSpec(
                task_id=uuid.uuid4(),
                algo_key=algo_key,
                worker=client.organization_info().organization_id,  # org on which the task is executed
                inputs=[
                    {
                        'identifier': 'datasamples',
                        'asset_key': datasample_key
                    },
                    {
                        'identifier': 'opener',
                        'asset_key': dataset_key
                    }
                ],
                outputs= {
                    'example_output': {
                        'permissions': {
                            'public': False,
                            'authorized_ids': ['org1'],
                        },
                        'is_transient': True,
                    }
                }
            )
        ]
    )
)
  • Update substratools Docker image name (#316)

Fixed

  • Remove depreciated pytest-runner from setup.py (#320)
  • link_dataset_with_data_samples return value in remote mode
  • Fix the compute plan rank calculation in local mode (#299)
  • Windows compatibility on pathlib usage for a Docker argument (#317)

Changed

  • Apply changes from algo to function in substratools (#303)
  • Register functions in substratools using decorator @tools.register (#310)
  • Update README image (#318)

0.38.2

07 Oct 15:08
Compare
Choose a tag to compare

Fixed

  • link_dataset_with_data_samples return value in remote mode

0.39.0

04 Oct 12:03
Compare
Choose a tag to compare

0.39.0 - 2022-10-03

Removed

  • BREAKING CHANGE: remove category from substra.schema.AlgoSpec and substra.models.Algo

Added

  • Prevent use of __ in asset metadata keys in local mode
  • docker: add build logs to container image build exception messages
  • At compute plan submission by batch, continue the submission after a timeout error

0.38.1

30 Sep 11:10
fe41258
Compare
Choose a tag to compare

feat: when submitting a CP, continue if there is an already exists error

0.29.2

27 Sep 09:39
Compare
Choose a tag to compare

0.38.0

26 Sep 09:30
Compare
Choose a tag to compare

0.38.0 - 2022-09-26

Tests

  • used openers within the library only exposes get_data and fake_data methods due to breaking changes within
    substra-tools
  • a third argument task_properties (containing the rank of a task) has been added to all algo methods relying on substra-tools
  • substra tools metrics tools.Metrics become tools.MetricAlgo and tools.metrics.execute becomes tools.algo.execute (#290)

Changed

  • Algo categories are not checked anymore in local mode. Validations based on inputs and outputs are sufficient.
  • BREAKING CHANGE: the backend type is now set in the Client, the env variable DEBUG_SPAWNER is not used anymore. Default value is deployed (#287)

API before

export DEBUG_SPAWNER=subprocess
client = substra.Client(debug=True)

API after

client = substra.Client(backend_type=substra.BackendType.LOCAL_SUBPROCESS)
  • Pass substra-tools arguments via a file instead of the command line
  • internal change: the metrics algo CLI is the same as the other algos (#290)

Removed

  • BREAKING CHANGE: Model.category field

0.37.0

19 Sep 09:11
Compare
Choose a tag to compare

0.37.0 - 2022-09-19

Fixed

  • tests: fix algo inputs and task code consistency

Changed

  • BREAKING CHANGE: schemas.ComputePlanSpec clean_models property is now removed, the transient property on tasks outputs should be used instead

0.36.0

12 Sep 13:02
a50bcf6
Compare
Choose a tag to compare

0.36.0 - 2022-09-12

Added

  • input multiplicity within the cli in debug mode
  • list_model to the SDK client

Removed

  • chore: remove the examples section, and references to them

Changed

  • BREAKING CHANGE: opener input identifier must be opener
  • BREAKING CHANGE: datasample input identifier must be datasamples
  • BREAKING CHANGE: chainkeys, opener and datasamples are forbidden identifier for inputs and outputs
    of kind artifact and performance
  • BREAKING CHANGE: pass the algo method to execute under the --method-name argument within the CLI.
    If the interface between substra and the backend is handled via substratools, there are no changes to apply
    within the the substra code but algo and metric Dockerfiles should expose a --method-name argument in
    the ENTRYPOINT (#266)
  • test tasks now have an higher rank than their parent train task
  • chore: remove close source for CHANGELOG, README and cyclic-example
  • chore: rename connect-tools to substra-tools.
  • BREAKING CHANGE: remove the shared local folder of the compute plan
  • feat: download function of the client return the path of downloaded file.

Feature

  • Local mode: add a check, a task output of type performance must have public permissions

Fixes

  • Filters: Fix the filters on status for compute plans and tasks
    This fix also introduces some changes: the value for the filters on status must now be a list (like for other filters, there is a OR condition between elements of the list) and its value must be
    substra.models.ComputePlanStatus.{name of the status}.value for compute plans and substra.models.Status.{name of the status}.value for tasks.
    Example:
# Return all the compute plans that are not finished
client.list_compute_plan(filters={'status':[substra.models.ComputePlanStatus.todo.value, substra.models.ComputePlanStatus.waiting.value, substra.models.ComputePlanStatus.doing.value]})
# Return all the composite traintuples with the status "doing"
client.list_composite_traintuple(filters={"status": [substra.models.Status.doing.value]})

Documentation

  • Add the filters documentation to the references

0.9.0

21 Apr 08:21
200f8bf
Compare
Choose a tag to compare

Changelog

Features

  • Export model and node info
  • Debug mode: in a multi node setup, create one local compute plan folder per node
  • Debug mode: move the chainkeys to the local-worker directory

Fixes

  • client.update_compute_plan: did not accept a substra.sdk.schemas.UpdateComputePlanSpec object as input
  • Patch the order of the y_pred and y_true in the objective, it was wrong when the user did not order the values in the opener get_X and get_y functions
  • Fix on the error parsing: when some errors were thrown, the error parsing threw another exception