Registered models

class datarobot.models.RegisteredModel

A registered model is a logical grouping of model packages (versions) that are related to each other.

Variables:
  • id (str) – The ID of the registered model.

  • name (str) – The name of the registered model.

  • description (str) – The description of the registered model.

  • created_at (str) – The creation time of the registered model.

  • modified_at (str) – The last modification time for the registered model.

  • modified_by (datarobot.models.model_registry.common.UserMetadata) – Information on the user who last modified the registered model.

  • target (Target) – Information on the target variable.

  • created_by (datarobot.models.model_registry.common.UserMetadata) – Information on the creator of the registered model.

  • last_version_num (int) – The latest version number associated to this registered model.

  • is_archived (bool) – Determines whether the registered model is archived.

classmethod get(registered_model_id)

Get a registered model by ID.

Parameters:

registered_model_id (str) – ID of the registered model to retrieve

Returns:

registered_model – Registered Model Object

Return type:

RegisteredModel

Examples

from datarobot import RegisteredModel
registered_model = RegisteredModel.get(registered_model_id='5c939e08962d741e34f609f0')
registered_model.id
>>>'5c939e08962d741e34f609f0'
registered_model.name
>>>'My Registered Model'
classmethod list(limit=100, offset=None, sort_key=None, sort_direction=None, search=None, filters=None)

List all registered models a user can view.

Parameters:
  • limit (Optional[int]) – Maximum number of registered models to return

  • offset (Optional[int]) – Number of registered models to skip before returning results

  • sort_key (RegisteredModelSortKey, optional) – Key to order result by

  • sort_direction (RegisteredModelSortDirection, optional) – Sort direction

  • search (Optional[str]) – A term to search for in registered model name, description, or target name

  • filters (RegisteredModelListFilters, optional) – An object containing all filters that you’d like to apply to the resulting list of registered models.

Returns:

registered_models – A list of registered models user can view.

Return type:

List[RegisteredModel]

Examples

from datarobot import RegisteredModel
registered_models = RegisteredModel.list()
>>> [RegisteredModel('My Registered Model'), RegisteredModel('My Other Registered Model')]
from datarobot import RegisteredModel
from datarobot.models.model_registry import RegisteredModelListFilters
from datarobot.enums import RegisteredModelSortKey, RegisteredModelSortDirection
filters = RegisteredModelListFilters(target_type='Regression')
registered_models = RegisteredModel.list(
    filters=filters,
    sort_key=RegisteredModelSortKey.NAME.value,
    sort_direction=RegisteredModelSortDirection.DESC.value
    search='other')
>>> [RegisteredModel('My Other Registered Model')]
classmethod archive(registered_model_id)

Permanently archive a registered model and all of its versions.

Parameters:

registered_model_id (str) – ID of the registered model to be archived

Return type:

None

classmethod update(registered_model_id, name)

Update the name of a registered model.

Parameters:
  • registered_model_id (str) – ID of the registered model to be updated

  • name (str) – New name for the registered model

Returns:

registered_model – Updated registered model object

Return type:

RegisteredModel

get_shared_roles(offset=None, limit=None, id=None)

Retrieve access control information for this registered model.

Parameters:
  • offset (Optional[int]) – The number of records to skip over. Optional. Default is 0.

  • limit (Optional[int]) – The number of records to return. Optional. Default is 100.

  • id (Optional[str]) – Return the access control information for a user with this user ID. Optional.

Return type:

List[SharingRole]

share(roles)

Share this registered model or remove access from one or more user(s).

Parameters:

roles (List[SharingRole]) – A list of SharingRole instances, each of which references a user and a role to be assigned.

Return type:

None

Examples

>>> from datarobot import RegisteredModel, SharingRole
>>> from datarobot.enums import SHARING_ROLE, SHARING_RECIPIENT_TYPE
>>> registered_model = RegisteredModel.get('5c939e08962d741e34f609f0')
>>> sharing_role = SharingRole(
...    role=SHARING_ROLE.CONSUMER,
...    recipient_type=SHARING_RECIPIENT_TYPE.USER,
...    id='5c939e08962d741e34f609f0',
...    can_share=True,
...    )
>>> registered_model.share(roles=[sharing_role])
get_version(version_id)

Retrieve a registered model version.

Parameters:

version_id (str) – The ID of the registered model version to retrieve.

Returns:

registered_model_version – A registered model version object.

Return type:

RegisteredModelVersion

Examples

from datarobot import RegisteredModel
registered_model = RegisteredModel.get('5c939e08962d741e34f609f0')
registered_model_version = registered_model.get_version('5c939e08962d741e34f609f0')
>>> RegisteredModelVersion('My Registered Model Version')
list_versions(filters=None, search=None, sort_key=None, sort_direction=None, limit=None, offset=None)

Retrieve a list of registered model versions.

Parameters:
  • filters (Optional[RegisteredModelVersionsListFilters]) – A RegisteredModelVersionsListFilters instance used to filter the list of registered model versions returned.

  • search (Optional[str]) – A search string used to filter the list of registered model versions returned.

  • sort_key (Optional[RegisteredModelVersionSortKey]) – The key to use to sort the list of registered model versions returned.

  • sort_direction (Optional[RegisteredModelSortDirection]) – The direction to use to sort the list of registered model versions returned.

  • limit (Optional[int]) – The maximum number of registered model versions to return. Default is 100.

  • offset (Optional[int]) – The number of registered model versions to skip over. Default is 0.

Returns:

registered_model_versions – A list of registered model version objects.

Return type:

List[RegisteredModelVersion]

Examples

from datarobot import RegisteredModel
from datarobot.models.model_registry import RegisteredModelVersionsListFilters
from datarobot.enums import RegisteredModelSortKey, RegisteredModelSortDirection
registered_model = RegisteredModel.get('5c939e08962d741e34f609f0')
filters = RegisteredModelVersionsListFilters(tags=['tag1', 'tag2'])
registered_model_versions = registered_model.list_versions(filters=filters)
>>> [RegisteredModelVersion('My Registered Model Version')]
list_associated_deployments(search=None, sort_key=None, sort_direction=None, limit=None, offset=None)

Retrieve a list of deployments associated with this registered model.

Parameters:
  • search (Optional[str])

  • sort_key (Optional[RegisteredModelDeploymentSortKey])

  • sort_direction (Optional[RegisteredModelSortDirection])

  • limit (Optional[int])

  • offset (Optional[int])

Returns:

deployments – A list of deployments associated with this registered model.

Return type:

List[VersionAssociatedDeployment]

class datarobot.models.RegisteredModelVersion

Represents a version of a registered model.

Parameters:
  • id (str) – The ID of the registered model version.

  • registered_model_id (str) – The ID of the parent registered model.

  • registered_model_version (int) – The version of the registered model.

  • name (str) – The name of the registered model version.

  • model_id (str) – The ID of the model.

  • model_execution_type (str) – Type of model package (version). dedicated (native DataRobot models) and custom_inference_model` (user added inference models) both execute on DataRobot prediction servers, external do not

  • is_archived (bool) –

    Whether the model package (version) is permanently archived (cannot be used in deployment or

    replacement)

  • import_meta (ImportMeta) – Information from when this Model Package (version) was first saved.

  • source_meta (SourceMeta) – Meta information from where this model was generated

  • model_kind (ModelKind) – Model attribute information.

  • target (Target) – Target information for the registered model version.

  • model_description (ModelDescription) – Model description information.

  • datasets (Dataset) – Dataset information for the registered model version.

  • timeseries (Timeseries) – Timeseries information for the registered model version.

  • bias_and_fairness (BiasAndFairness) – Bias and fairness information for the registered model version.

  • is_deprecated (bool) –

    Whether the model package (version) is deprecated (cannot be used in deployment or

    replacement)

  • permissions (List[str]) – Permissions for the registered model version.

  • active_deployment_count (int or None) – Number of the active deployments associated with the registered model version.

  • build_status (str or None) – Model package (version) build status. One of complete, inProgress, failed.

  • user_provided_id (str or None) – User provided ID for the registered model version.

  • updated_at (str or None) – The time the registered model version was last updated.

  • updated_by (UserMetadata or None) – The user who last updated the registered model version.

  • tags (List[TagWithId] or None) – The tags associated with the registered model version.

  • mlpkg_file_contents (str or None) – The contents of the model package file.

classmethod create_for_leaderboard_item(model_id, name=None, prediction_threshold=None, distribution_prediction_model_id=None, description=None, compute_all_ts_intervals=None, registered_model_name=None, registered_model_id=None, tags=None, registered_model_tags=None, registered_model_description=None)
Parameters:
  • model_id (str) – ID of the DataRobot model.

  • name (str or None) – Name of the version (model package).

  • prediction_threshold (float or None) – Threshold used for binary classification in predictions.

  • distribution_prediction_model_id (str or None) – ID of the DataRobot distribution prediction model trained on predictions from the DataRobot model.

  • description (str or None) – Description of the version (model package).

  • compute_all_ts_intervals (bool or None) – Whether to compute all time series prediction intervals (1-100 percentiles).

  • registered_model_name (Optional[str]) – Name of the new registered model that will be created from this model package (version). The model package (version) will be created as version 1 of the created registered model. If neither registeredModelName nor registeredModelId is provided, it defaults to the model package (version) name. Mutually exclusive with registeredModelId.

  • registered_model_id (Optional[str]) – Creates a model package (version) as a new version for the provided registered model ID. Mutually exclusive with registeredModelName.

  • tags (Optional[List[Tag]]) – Tags for the registered model version.

  • registered_model_tags (Optional[List[Tag]]) – Tags for the registered model.

  • registered_model_description (Optional[str]) – Description for the registered model.

Returns:

regitered_model_version – A new registered model version object.

Return type:

RegisteredModelVersion

classmethod create_for_external(name, target, model_id=None, model_description=None, datasets=None, timeseries=None, registered_model_name=None, registered_model_id=None, tags=None, registered_model_tags=None, registered_model_description=None)

Create a new registered model version from an external model.

Parameters:
  • name (str) – Name of the registered model version.

  • target (ExternalTarget) – Target information for the registered model version.

  • model_id (Optional[str]) – Model ID of the registered model version.

  • model_description (Optional[ModelDescription]) – Information about the model.

  • datasets (Optional[ExternalDatasets]) – Dataset information for the registered model version.

  • timeseries (Optional[Timeseries]) – Timeseries properties for the registered model version.

  • registered_model_name (Optional[str]) – Name of the new registered model that will be created from this model package (version). The model package (version) will be created as version 1 of the created registered model. If neither registeredModelName nor registeredModelId is provided, it defaults to the model package (version) name. Mutually exclusive with registeredModelId.

  • registered_model_id (Optional[str]) – Creates a model package (version) as a new version for the provided registered model ID. Mutually exclusive with registeredModelName.

  • tags (Optional[List[Tag]]) – Tags for the registered model version.

  • registered_model_tags (Optional[List[Tag]]) – Tags for the registered model.

  • registered_model_description (Optional[str]) – Description for the registered model.

Returns:

registered_model_version – A new registered model version object.

Return type:

RegisteredModelVersion

classmethod create_for_custom_model_version(custom_model_version_id, name=None, description=None, registered_model_name=None, registered_model_id=None, tags=None, registered_model_tags=None, registered_model_description=None)

Create a new registered model version from a custom model version.

Parameters:
  • custom_model_version_id (str) – ID of the custom model version.

  • name (Optional[str]) – Name of the registered model version.

  • description (Optional[str]) – Description of the registered model version.

  • registered_model_name (Optional[str]) – Name of the new registered model that will be created from this model package (version). The model package (version) will be created as version 1 of the created registered model. If neither registeredModelName nor registeredModelId is provided, it defaults to the model package (version) name. Mutually exclusive with registeredModelId.

  • registered_model_id (Optional[str]) – Creates a model package (version) as a new version for the provided registered model ID. Mutually exclusive with registeredModelName.

  • tags (Optional[List[Tag]]) – Tags for the registered model version.

  • registered_model_tags (Optional[List[Tag]]) – Tags for the registered model.

  • registered_model_description (Optional[str]) – Description for the registered model.

Returns:

registered_model_version – A new registered model version object.

Return type:

RegisteredModelVersion

list_associated_deployments(search=None, sort_key=None, sort_direction=None, limit=None, offset=None)

Retrieve a list of deployments associated with this registered model version.

Parameters:
  • search (Optional[str])

  • sort_key (Optional[RegisteredModelDeploymentSortKey])

  • sort_direction (Optional[RegisteredModelSortDirection])

  • limit (Optional[int])

  • offset (Optional[int])

Returns:

deployments – A list of deployments associated with this registered model version.

Return type:

List[VersionAssociatedDeployment]

class datarobot.models.model_registry.deployment.VersionAssociatedDeployment

Represents a deployment associated with a registered model version.

Parameters:
  • id (str) – The ID of the deployment.

  • currently_deployed (bool) – Whether this version is currently deployed.

  • registered_model_version (int) – The version of the registered model associated with this deployment.

  • is_challenger (bool) – Whether the version associated with this deployment is a challenger.

  • status (str) – The status of the deployment.

  • label (Optional[str]) – The label of the deployment.

  • first_deployed_at (datetime.datetime, optional) – The time the version was first deployed.

  • first_deployed_by (UserMetadata, optional) – The user who first deployed the version.

  • created_by (UserMetadata, optional) – The user who created the deployment.

  • prediction_environment (DeploymentPredictionEnvironment, optional) – The prediction environment of the deployment.

class datarobot.models.model_registry.RegisteredModelVersionsListFilters

Filters for listing of registered model versions.

Parameters:
  • target_name (str or None) – Name of the target to filter by.

  • target_type (str or None) – Type of the target to filter by.

  • compatible_with_leaderboard_model_id (str or None.) – If specified, limit results to versions (model packages) of the Leaderboard model with the specified ID.

  • compatible_with_model_package_id (str or None.) – Returns versions compatible with the given model package (version) ID. If used, it will only return versions that match target.name, target.type, target.classNames (for classification models), modelKind.isTimeSeries and modelKind.isMultiseries for the specified model package (version).

  • for_challenger (bool or None) – Can be used with compatibleWithModelPackageId to request similar versions that can be used as challenger models; for external model packages (versions), instead of returning similar external model packages (versions), similar DataRobot and Custom model packages (versions) will be retrieved.

  • prediction_threshold (float or None) – Return versions with the specified prediction threshold used for binary classification models.

  • imported (bool or None) – If specified, return either imported (true) or non-imported (false) versions (model packages).

  • prediction_environment_id (str or None) – Can be used to filter versions (model packages) by what is supported by the prediction environment

  • model_kind (str or None) – Can be used to filter versions (model packages) by model kind.

  • build_status (str or None) – If specified, filter versions by the build status.

class datarobot.models.model_registry.RegisteredModelListFilters

Filters for listing registered models.

Parameters:
  • created_at_start (datetime.datetime) – Registered models created on or after this timestamp.

  • created_at_end (datetime.datetime) – Registered models created before this timestamp. Defaults to the current time.

  • modified_at_start (datetime.datetime) – Registered models modified on or after this timestamp.

  • modified_at_end (datetime.datetime) – Registered models modified before this timestamp. Defaults to the current time.

  • target_name (str) – Name of the target to filter by.

  • target_type (str) – Type of the target to filter by.

  • created_by (str) – Email of the user that created registered model to filter by.

  • compatible_with_leaderboard_model_id (str) – If specified, limit results to registered models containing versions (model packages) for the leaderboard model with the specified ID.

  • compatible_with_model_package_id (str) – Return registered models that have versions (model packages) compatible with given model package (version) ID. If used, will only return registered models which have versions that match target.name, target.type, target.classNames (for classification models), modelKind.isTimeSeries, and modelKind.isMultiseries of the specified model package (version).

  • for_challenger (bool) – Can be used with compatibleWithModelPackageId to request similar registered models that contain versions (model packages) that can be used as challenger models; for external model packages (versions), instead of returning similar external model packages (versions), similar DataRobot and Custom model packages will be retrieved.

  • prediction_threshold (float) – If specified, return any registered models containing one or more versions matching the prediction threshold used for binary classification models.

  • imported (bool) – If specified, return any registered models that contain either imported (true) or non-imported (false) versions (model packages).

  • prediction_environment_id (str) – Can be used to filter registered models by what is supported by the prediction environment.

  • model_kind (str) – Return models that contain versions matching a specific format.

  • build_status (str) – If specified, only return models that have versions with specified build status.