Releases: IndicoDataSolutions/indico-client-python
5.1.2
5.1
What's Changed
This release adds support for some changes in version 5.1, including an updated query for adding labels, the ability to select v3 results file versions, and some new workflow audit information.
- [CAT-203] Add v3 results file by @goatrocks in #157
- [CAT-196] Add Labels v2 for 5.1 by @goatrocks in #158
- [CAT-207][CAT-197] Add workflow audit information to workflow object in client by @nkassis in #151
Full Changelog: 5.0.1...5.1.0
5.0.1 - minor bugfix
Fixes a bug with RetrieveStorageObject that might make fetching certain images fail.
5.0.0 - Workflow Components
5.0 deprecates the existing method of creating models and questionnaires and unifies them under the AddModelGroupComponent call. This release requires a minimum platform version of 5.0. It will not work with lower platform versions. Find out more about these new changes by checking the documentation on workflows and components here
In 5.0, a component is akin to a step in the workflow process that can be linked with other components in sequence. Now, CreateModelGroup and CreateQuestionnaire redirect to the new AddModelGroupComponent call and are marked deprecated, however both now require the additional parameter of workflow_id and after_component_id. These define the workflow to create the component in, and the workflow component that the new Model Group or Questionnaire should follow. Previously, the creation of a workflow was implicit with CreateModelGroup, but now it has to be explicitly created prior to creating a model group, either through the UI or by using CreateWorkflow(self, dataset_id: int, name: str). Users should migrate as soon as feasible to the new pattern as both CreateModelGroup and CreateQuestionnaire will be removed in a future release.
You can find the id of a component by querying for the Workflow and either iterating through the components list or by using component_by_type()or model_group_by_name() on the Workflow object.
Calling CreateModelGroup now looks something like this:
after_component = airlines_workflow.component_by_type("INPUT_OCR_EXTRACTION")
mg: ModelGroup = client.call(
CreateModelGroup(
name=name,
workflow_id=airlines_workflow.id,
dataset_id=airlines_dataset.id,
after_component_id=after_component.id,
source_column_id=airlines_dataset.datacolumn_by_name("Text").id,
labelset_id=airlines_dataset.labelset_by_name("Target_1").id,
)
)Calling AddModelGroup looks like this:
after_component_id = new_workflow.component_by_type("INPUT_OCR_EXTRACTION").id
modelgroupreq = AddModelGroupComponent(
name=workflow_name,
dataset_id=dataset.id,
after_component_id=after_component_id,
source_column_id=dataset.datacolumn_by_name(datacolumn).id,
labelset_column_id=dataset.labelset_by_name(labelset_name).id,
workflow_id=new_workflow.id
)
workflow: Workflow = client.call(modelgroupreq)
# workflow has the model_group in a component.AddModelGroupComponent does not have a wait parameter currently, users can define now they want to wait by doing something like:
model_group = updated_workflow.model_group_by_name("my_classification_model")
status = client.call(GetModelGroupSelectedModelStatus(id=model_group.id))
while status not in ["FAILED", "COMPLETE", "NOT_ENOUGH_DATA"]:
status = client.call(GetModelGroupSelectedModelStatus(id=model_group.id))5.0 RC1
Release candidate 1 of the new 5.0 client
Adds get_ipa_version() to client
Adds the ability to get IPA version in the client to check what version of the platform
5.0.0-alpha5
5.0.0-a5 use enums, add extra examples
5.0.0-alpha4
5.0.0-a4 handle model_training_options correctly
5.0.0-alpha3
5.0.0-a3 refactor for adding different components
5.0.0-alpha2
5.0.0-a2 fix tests and also deprecte an option we don't use