Python client changelog
3.10.0b1
New features
Enhancements
Bugfixes
API changes
Deprecation summary
Configuration changes
Documentation changes
Experimental changes
3.10.0b0
This was an experimental release and is subsumed by 3.10.0b1.
3.9.1
New features
Added
CustomApplicationto manage custom applications with detailed resource information and operational controls.Added
CustomApplicationSourceto manage custom application sources (templates for creating custom applications).Added optional parameter
version_id=NonetoFiles.downloadandFiles.list_contained_filesto allow non-blocking upload.Promoted
FilesStageout of experimental.Added
Files.clone,Files.create_stage,Files.apply_stageandFiles.copy, which were previously experimental.Added
DataRobotAppFrameworkBaseSettingsas a Pydantic Settings class for managing configurations for agentic workflows and applications.
Enhancements
Improved the string representation of
RESTClientObjectto include endpoint and client version.
3.9.0
New features
Added
OtelMetricConfigto manage and control the display of OpenTelemetry metric configurations for an entity.Added
OtelLogEntryto list the OpenTelemetry logs associated with an entity.Added
OtelMetricSummaryto list the reported OpenTelemetry metrics associated with an entity.Added
OtelMetricValueto list the OpenTelemetry metric values associated with an entity.Added
LLMGatewayCatalogto get available LLMs from the LLM Gateway.Added
ResourceBundleto list defined resource bundles.
Enhancements
Added
CustomTemplate.createto allow users to create a newCustomTemplate.Updated
CustomTemplate.listto accept additional parameters forpublisher,category, andshow_hiddenfor improved queries.Updated
CustomTemplate.updateto accept additional parameters forfile,enabled, andis_hiddento set additional fields.Added
is_hiddenmember toCustomTemplateto align with server data.Added
custom_metric_metadatamember toTemplateMetadatato allow creating custom-metric templates using APIObjects.Added
CustomTemplate.download_contentto allow users to download content associated with anitemsfile.Added new attribute
spark_instance_sizetoRecipeSettings.Added
set_default_credentialtoDataStore.testto set the provided credential as default when the connection test is successful.Added optional parameter
data_typetoConnector.listto list connectors which support specified data type.Added optional parameter
data_typetoDataStore.listto list data stores which support specified data type.Added optional parameters
retrieval_modeandmaximal_marginal_relevance_lambdatoVectorDatabaseSettingsto select the retrieval mode.Added optional parameter
wait_for_completion=TruetoFiles.uploadandFiles.create_from_urlto allow non-blocking upload.Added support for
filetoUseCase.addandUseCase.remove.Added
GridSearchArgumentswithGridSearchArguments.to_api_payloadfor creating grid search arguments for advanced tuning jobs.Added
GridSearchSearchType. An enum to define supported grid search types.Added
GridSearchAlgorithm. An enum to define supported grid search algorithms.Added optional parameters
include_agentic,is_agentic,for_playground, andfor_productiontoModerationTemplate.listto include/filter for agentic templates and to fetch templates specific to playground or production.Improved equality comparison for
APIObjectto only look at API related fields.Added optional parameters
tag_keysandtag_valuestoDeployment.listto filter search results by tags.
Bugfixes
Fixed validator errors in
EvaluationDatasetMetricAggregation.Fixed
Files.download()to download a correct file from the files container.Fixed the enum values of
ModerationGuardOotbType.Fixed a bug where
ModerationTemplate.findwas unable to find a template when given a name.Fixed a bug where
OverallModerationConfig.findwas unable to find a given entity’s overall moderation config.
Documentation changes
Added OCREngineSpecificParameters, DataRobotOCREngineType and DataRobotArynOutputFormat to OCR job resources section
3.8.0
This release adds support for Notebooks and Codespaces and unstructured data in the Data Registry, and the Chunking Service v2. There are improvements related to playgrounds, vector databases, agentic workflows, incremental learning, and datasets. This release focuses heavily on file management capabilities.
There are two new package extras: auth and auth-authlib. The auth extra provides OAuth2 support, while the auth-authlib extra provides OAuth2 support using the Authlib library.
New features
GenAI
Added
AGENTIC_WORKFLOWtarget type.Added
VectorDatabase.send_to_custom_model_workshopto create a new custom model from a vector database.Added
VectorDatabase.deployto create a new deployment from a vector database.Added optional parameters
vector_database_default_prediction_server_id,vector_database_prediction_environment_id,vector_database_maximum_memory,vector_database_resource_bundle_id,vector_database_replicas, andvector_database_network_egress_policytoLLMBlueprint.register_custom_modelto allow specifying resources in cases where we automatically deploy a vector database when this function is called.Added
ReferenceToolCallfor creating tool calls in the evaluation dataset.Added
ReferenceToolCallsto represent a list of tool calls in the evaluation dataset.Added
VectorDatabase.update_connectedto add a dataset and optional additional metadata to a connected vector database.
Notebooks and Codespaces
The Notebook and Codespace APIs are now GA and the related classes have been promoted to the stable client.
Changed name of the
Notebookrun()method to beNotebook.run_as_job.Added support for Codespaces to the
Notebook.is_finished_executingmethod.Added the
NotebookKernel.getmethod.Added the
NotebookScheduledJob.cancelmethod.Added the
NotebookScheduledJob.listmethod.Added the
Notebook.list_schedulesmethod.
Unstructured Data
The client now supports unstructured data in the Data Registry.
Added the
Filesclass to manage files on the DataRobot platform. The class supports file metadata including the description, creation date, and creator information.Use
Files.getto retrieve file information.Use
Files.uploadas a convenient facade method to upload files from URLs, file paths, or file objects (does not support DataFrames).Use
Files.create_from_urlto upload a new file from a URL.Use
Files.create_from_fileto upload a new file from a local file or file-like object.Use
Files.create_from_data_sourceto create a new file from a DataSource.Use
Files.list_filesto retrieve all individual files contained within a Files object. This is useful forFilesobjects ingested from archives that contain multiple files.Use
Files.downloadto download a file’s contents.Use
Files.modifyto update a file’s name, description, and/or tags.Use
Files.updateto refresh a file object with the latest information from the server.Use
Files.deleteto soft-delete a file.Use
Files.un_deleteto restore a previously deleted file.Use
Files.search_catalogto search for files in the catalog based on name, tags, or other criteria.
Added the
FilesCatalogSearchclass to represent file catalog search results with metadata such as catalog name, creator, and tags.Added the
Fileclass to represent individual files within a Files archive. The class provides information about individual files such as name, size, and path within the archive.
OAuth
The client provides better support for OAuth2 authorization workflows in applications using the DataRobot platform. These features are available in the datarobot.auth module.
Added the methods
set_authorization_contextandget_authorization_contextto handle context needed for OAuth access token management.Added the decorator
datarobot_tool_authto inject OAuth access tokens into the agent tool functions.
Other Features
Introduced support for Chunking Service V2. The
chunking_service_v2classes have been moved out of the experimental directory and are now available to all users.Added
Model.continue_incremental_learning_from_incremental_modelto continue training of the incremental learning model.Added optional parameter
chunk_definition_idinModel.start_incremental_learning_from_sampleto begin training using new chunking service.Added a new attribute
snapshot_policytodatarobot.models.RecipeDatasetInputto specify the snapshot policy to use.Added a new attribute
dataset_idtodatarobot.models.JDBCTableDataSourceInputto specify the exact dataset ID to use.Added
Dataset.create_version_from_recipeto create a new dataset version based on the Recipe.
Enhancements
Added the
use_tcp_keepaliveparameter toClientto enable TCP keep-alive packets when connections are timing out, enabled by default.Enabled
Playgroundto create agentic playgrounds via input paramplayground_type=PlaygroundType.AGENTIC.Extended
PlaygroundOOTBMetricConfiguration.createwith additional reference column names for agentic metrics.Updated
CustomTemplate.listto return all custom templates when no offset is specified.Extended
MetricInsights.listwith the option to passllm_blueprint_ids.Extended
OOTBMetricConfigurationRequestandOOTBMetricConfigurationResponsewith support forextra_metric_settings, which provides an additional configuration option for the Tool Call Accuracy metric.Extended
VectorDatabase.createto support creation of connected vector databases via input paramexternal_vector_database_connection.Extended
VectorDatabase.createto support an additional metadata dataset via input paramsmetadata_dataset_idandmetadata_combination_strategy.Extended
VectorDatabase.updateto support updating the credential used to access a connected vector database via input paramcredential_id.Extended
VectorDatabase.download_text_and_embeddings_assetto support downloading additional files via input parampart.Added a new attribute
engine_specific_parameterstodatarobot.models.OCRJobResourceto specify OCR engine specific parameters.Added
docker_image_uritodatarobot.ExecutionEnvironmentVersion.Added optional parameter
docker_image_uritoExecutionEnvironmentVersion.create.Changed parameter
docker_context_pathinExecutionEnvironmentVersion.createto be optional.Added a new attribute
image_idtodatarobot.ExecutionEnvironmentVersion.
Bugfixes
Fixed
PlaygroundOOTBMetricConfiguration.createby using the right payload forcustomModelLLMValidationIdinstead ofcustomModelLlmValidationId.Fixed
datarobot.models.RecipeDatasetInputto use correct fields forto_api.Fixed
EvaluationDatasetConfiguration.createto use the correct payload foris_synthetic_dataset.
Deprecation summary
Remove unreleased Insight configuration routes. These were replaced with the new
MetricInsightsclass, and insight specific configurations.Deployment.create_from_learning_model <datarobot.models.deployment.Deployment.create_from_learning_model>method is deprecated. Please first register the leaderboard model withRegisteredModelVersion.create_for_leaderboard_item <datarobot.models.model_registry.registered_model_version.RegisteredModelVersion.create_for_leaderboard_item>, then create a deployment withDeployment.create_from_registered_model_version <datarobot.models.deployment.Deployment.create_from_registered_model_version>.
Documentation changes
Updated the example for GenAI to show creation of a metric aggregation job.
Experimental changes
Added
VectorDatabasewith a new attributeexternal_vector_database_connectionadded to theVectorDatabase.create()method.Added attribute
versiontoDatasetInfoto identify the analysis version.Added attribute
dataset_definition_info_versiontoChunkDefinitionto identify the analysis information version.Added a
versionquery parameter to theDatasetDefinitionclass, allowing users to specify the analysis version in thegetmethod.Added
DatasetDefinitionInfoHistorywith theDatasetDefinitionInfoHistory.listmethod to retrieve a list of dataset information history records.Added the
DatasetDefinitionInfoHistory.list_versionsmethod to retrieve a list of dataset information records.
3.7.0
New features
The DataRobot Python Client now supports Python 3.12 and Python 3.13.
Added
Deployment.get_retraining_settingsto retrieve retraining settings.Added
Deployment.update_retraining_settingsto update retraining settings.Updated
RESTClientObjectto retry requests when the server returns a 104 connection reset error.Added support for
datasphereas an intake and output type in batch predictions.Added
Deployment.get_accuracy_metrics_settingsto retrieve accuracy metrics settings.Added
Deployment.update_accuracy_metrics_settingsto update accuracy metrics settings.Added
CustomMetricValuesOverSpaceto retrieve custom metric values over space.Added
CustomMetric.get_values_over_spaceto retrieve custom metric values over space.Created
ComplianceDocTemplateProjectType, an enum to define project type supported by the compliance documentation custom template.Added attribute
project_typetoComplianceDocTemplateto identify the template supported project type.Added optional parameter
project_typeinComplianceDocTemplate.get_defaultto retrieve the project type’s default template.Added optional parameter
project_typeinComplianceDocTemplate.createto specify the project type supported by the template to create.Added optional parameter
project_typeinComplianceDocTemplate.create_from_json_fileto specify the project type supported by the template to create.Added optional parameter
project_typeinComplianceDocTemplate.updateto allow updating an existing template’s project type.Added optional parameter
project_typeinComplianceDocTemplate.listto allow to filtering/searching by template’s project type.Added
ShapMatrix.get_as_csvto retrieve SHAP matrix results as a CSV file.Added
ShapMatrix.get_as_dataframeto retrieve SHAP matrix results as a dataframe.Added a new class
LiftChartto interact with lift chart insights.Added a new class
RocCurveto interact with ROC curve insights.Added a new class
Residualsto interact with residuals insights.Added
Project.create_from_recipeto create Feature Discovery projects using recipes.Added an optional parameter
recipe_typetodatarobot.models.Recipe.from_dataset()to create Wrangling recipes.Added an optional parameter
recipe_typetodatarobot.models.Recipe.from_data_store()to create Wrangling recipes.Added
Recipe.set_recipe_metadatato update recipe metadata.Added an optional parameter
snapshot_policytodatarobot.models.Recipe.from_dataset()to specify the snapshot policy to use.Added new attributes
prediction_point,relationships_configuration_idandfeature_discovery_supervised_feature_reductiontoRecipeSettings.Added several optional parameters to
ExecutionEnvironmentforlist,createandupdatemethods.Added optional parameter
metadata_filtertoComparisonPrompt.create.Added
CustomInferenceModel.shareto update access control settings for a custom model.Added
CustomInferenceModel.get_access_listto retrieve access control settings for a custom model.Added new attribute
latest_successful_versiontoExecutionEnvironment.Added
Dataset.create_from_projectto create datasets from project data.Added
ExecutionEnvironment.shareto update access control settings for an execution environment.Added
ExecutionEnvironment.get_access_listto retrieve access control settings an execution environment.Created
ModerationTemplateto interact with LLM moderation templates.Created
ModerationConfigurationto interact with LLM moderation configuration.Created
CustomTemplateto interact with custom-templates elements.Extended the advanced options available when setting a target to include parameter: ‘feature_engineering_prediction_point’(part of the AdvancedOptions object).
Added optional parameter
substitute_url_parameterstoDataStore <datarobot.models.DataStoreforlistandgetmethods.Added
Model.start_incremental_learning_from_sampleto initialize the incremental learning model and begin training using the chunking service. Requires the “Project Creation from a Dataset Sample” feature flag.Added
NonChatAwareCustomModelValidationas the base class forCustomModelVectorDatabaseValidationandCustomModelEmbeddingValidation. In contrast,CustomModelLLMValidationnow implements thecreateandupdatemethods differently to interact with the deployments that support the chat completion API.Added optional parameter
chat_model_idtoCustomModelLLMValidation.createandCustomModelLLMValidation.updateto allow adding deployed LLMs that support the chat completion API.Fixed
ComparisonPromptnot being able to load errored comparison prompt results.Added optional parameters
retirement_date,is_deprecated, andis_activetoLLMDefinitionand added an optional parameterllm_is_deprecatedto theMetricMetadatato expose LLM deprecation and retirement-related information.
Enhancements
Added
Deployment.shareas an alias forDeployment.update_shared_roles.Internally use the existing input argument
max_waitinCustomModelVersion.clean_create <datarobot.CustomModelVersion.create_clean>, to set the READ request timeout.
Bugfixes
Made
user_idandusernamefields inmanagement_metaoptional forPredictionEnvironmentto support API responses without these fields.Fixed the enum values of
ComplianceDocTemplateType.Fixed the enum values of
WranglingOperations.Fixed the enum values of
DataWranglingDialect.Playground id parameter is no longer optional in
EvaluationDatasetConfiguration.listCopy insights path fixed in
MetricInsights.copy_to_playgroundMissing fields for prompt_type and warning were added to
PromptTrace.Fixed a query parameter name in
SidecarModelMetricValidation.list.Fix typo in attribute
VectorDatabase:metadata_columnswhich wasmetada_columnsDo not camelCase
metadata_filterdict inChatPrompt.createFixed a Use Case query parameter name in
CustomModelLLMValidation.list,CustomModelEmbeddingValidation.list, andCustomModelVectorDatabaseValidation.list.Fixed
featureDiscoverySettingsparameter name inRelationshipsConfiguration.createandRelationshipsConfiguration.replace.
API changes
Method
CustomModelLLMValidation.createno longer requires theprompt_column_nameandtarget_column_nameparameters, and can accept an optionalchat_model_idparameter. The parameter order has changed. If the custom model LLM deployment supports the chat completion API, it is recommended to usechat_model_idnow instead of (or in addition to) specifying the column names.
Deprecation summary
Removed the deprecated
capabilitiesattribute ofDeployment.Method
Model.request_lift_chartis deprecated and will be removed in favor ofLiftChart.compute.Method
Model.get_lift_chartis deprecated and will be removed in favor ofLiftChart.get.Method
Model.get_all_lift_chartsis deprecated and will be removed in favor ofLiftChart.list.Method
Model.request_roc_curveis deprecated and will be removed in favor ofRocCurve.compute.Method
Model.get_roc_curveis deprecated and will be removed in favor ofRocCurve.get.Method
Model.get_all_roc_curvesis deprecated and will be removed in favor ofRocCurve.list.Method
Model.request_residuals_chartis deprecated and will be removed in favor ofResiduals.compute.Method
Model.get_residuals_chartis deprecated and will be removed in favor ofResiduals.get.Method
Model.get_all_residuals_chartsis deprecated and will be removed in favor ofResiduals.list.
Documentation changes
Starting with this release, Python client documentation will be available at https://docs.datarobot.com/ as well as on ReadTheDocs. Content has been reorganized to support this change.
Removed
numpydocas a dependency. Docstring parsing has been handled bysphinx.ext.napoleonsince 3.6.0.Fix issues with how the Table of Contents is rendered on ReadTheDocs.
sphinx-external-tocis now a dev dependency.Fix minor issues with formatting across the ReadTheDocs site.
Updated docs on Anomaly Assessment objects to remove duplicate information.
Experimental changes
Added
use_caseanddeployment_idproperties toRetrainingPolicyclass.Added
createandupdate_use_casemethods toRetrainingPolicyclass.Renamed the method ‘train_first_incremental_from_sample’ to ‘start_incremental_learning_from_sample’. Added new parameters : ‘early_stopping_rounds’ and ‘first_iteration_only’.
Added the
credentials_idparameter to thecreatemethod inChunkDefinition.Bugfix the
next_run_timeproperty of theNotebookScheduledJobclass to be nullable.Added the
highlight_whitespaceproperty to theNotebookSettings.Create new directory specifically for notebooks in the experimental portion of the client.
Added methods to the
Notebookclass to work with session:start_session(),stop_session(),get_session_status(),is_running().Added methods to the
Notebookin order to execute and check related execution status:execute(),get_execution_status(),is_finished_executing().Added
Notebook.create_revisionto the Notebook class in order to create revisions.Moved
ModerationTemplateclass toModerationTemplate.Moved
ModerationConfigurationclass toModerationConfigurationto interact with LLM moderation configuration.Updates to
Notebook.runmethod in the Notebook class in order to encourage proper usage as well as add more descriptive TypedDict as annotation.Added
NotebookScheduledJob.get_most_recent_runto the NotebookScheduledJob class to aid in more idiomatic code when dealing with manual runs.Updates to
Notebook.runmethod in the Notebook class in order to support Codespace Notebook execution as well as multiple related new classes and methods to expand API coverage which is needed for the underlying execution.Added
ExecutionEnvironment.assign_environmentto the ExecutionEnvironment class, which gives the ability to assign or update a notebook’s environment.Removed deprecated experimental method
Model.get_incremental_learning_metadata.Removed deprecated experimental method
Model.start_incremental_learning.
3.6.0
New features
Added
OCRJobResourcefor running OCR jobs.Added new Jina V2 embedding model in VectorDatabaseEmbeddingModel.
Added new Small MultiLingual Embedding Model in VectorDatabaseEmbeddingModel.
Added
Deployment.get_segment_attributesto retrieve segment attributes.Added
Deployment.get_segment_valuesto retrieve segment values.Added
AutomatedDocument.list_all_available_document_typesto return a list of document types.Added
Model.request_per_class_fairness_insightsto return per-class bias & fairness insights.Added
MLOpsEventto report MLOps Events. Currently supportingmoderationMLOps events onlyAdded
Deployment.get_moderation_eventsto retrieve moderation events for that deployment.Extended the advanced options available when setting a target to include new parameter: ‘number_of_incremental_learning_iterations_before_best_model_selection’(part of the AdvancedOptions object). This parameter allows you to specify how long top 5 models will run for prior to best model selection.
Add support for ‘connector_type’ in :meth:` Connector.create <datarobot.models.Connector.create>`.
Deprecate file_path for :meth:` Connector.create <datarobot.models.Connector.create>` and :meth:` Connector.update <datarobot.models.Connector.update>`.
Added
DataQualityExportandDeployment.list_data_quality_exportsto retrieve a list of data quality records.Added secure config support for Azure Service Principal credentials.
Added support for categorical custom metrics in
CustomMetric.Added
NemoConfigurationto manage Nemo configurations.Added
NemoConfiguration.createto create or update a Nemo configuration.Added
NemoConfiguration.getto retrieve a Nemo configuration.Added a new class
ShapDistributionsto interact with SHAP distribution insights.Added the
MODEL_COMPLIANCE_GEN_AIvalue to the attributedocument_typefromDocumentOptionto generate compliance documentation for LLMs in the Registry.Added new attribute
prompts_counttoChat.Added
Recipemodules for Data Wrangling.Added :class:
RecipeOperation <datarobot.models.recipe_operation.RecipeOperation>and a set of subclasses to represent a singleRecipe.operationsoperation.Added new attribute
similarity_scoretoCitation.Added new attributes
retrieverandadd_neighbor_chunkstoVectorDatabaseSettings.Added new attribute
metadatatoCitation.Added new attribute
metadata_filtertoChatPrompt.Added new attribute
metadata_filtertoComparisonPrompt.Added new attribute
custom_chunkingtoChunkingParameters.Added new attribute
custom_chunkingtoVectorDatabase.Added a new class
LLMTestConfigurationfor LLM test configurations.LLMTestConfiguration.getto retrieve a hosted LLM test configuration.LLMTestConfiguration.listto list hosted LLM test configurations.LLMTestConfiguration.createto create an LLM test configuration.LLMTestConfiguration.updateto update an LLM test configuration.LLMTestConfiguration.deleteto delete an LLM test configuration.Added a new class
LLMTestConfigurationSupportedInsightsfor LLM test configuration supported insights.LLMTestConfigurationSupportedInsights.listto list hosted LLM test configuration supported insights.Added a new class
LLMTestResultfor LLM test results.LLMTestResult.getto retrieve a hosted LLM test result.LLMTestResult.listto list hosted LLM test results.LLMTestResult.createto create an LLM test result.LLMTestResult.deleteto delete an LLM test result.Added new attribute
dataset_nametoOOTBDatasetDict.Added new attribute
rows_counttoOOTBDatasetDict.Added new attribute
max_num_promptstoDatasetEvaluationDict.Added new attribute
prompt_sampling_strategytoDatasetEvaluationDict.Added a new class
DatasetEvaluationRequestDictfor Dataset Evaluations in create/edit requests.Added new attribute
evaluation_dataset_nametoInsightEvaluationResult.Added new attribute
chat_nametoInsightEvaluationResult.Added new attribute
llm_test_configuration_nametoLLMTestResult.Added new attribute
creation_user_nametoLLMTestResult.Added new attribute
pass_percentagetoLLMTestResult.Added new attribute
evaluation_dataset_nametoDatasetEvaluation.Added new attribute
datasets_compatibilitytoLLMTestConfigurationSupportedInsights.Added a new class
NonOOTBDatasetfor non out-of-the-box (OOTB) dataset entities.NonOOTBDataset.listto retrieve non OOTB datasets for compliance testing.Added a new class
OOTBDatasetfor OOTB dataset entities.OOTBDataset.listto retrieve OOTB datasets for compliance testing.Added a new class
TraceMetadatato retrieve trace metadata.Add new attributes to
VectorDatabase:parent_id,family_id,metadata_columns,added_dataset_ids,added_dataset_names, and`version`.VectorDatabase.get_supported_retrieval_settingsto retrieve supported retrieval settings.VectorDatabase.submit_export_dataset_jobto submit the vector database as dataset to the AI catalog.Updated the method
VectorDatabase.createto create a new vector database version.Added a new class
SupportedRetrievalSettingsfor supported vector database retrieval settings.Added a new class
SupportedRetrievalSettingfor supported vector database retrieval setting.Added a new class
VectorDatabaseDatasetExportJobfor vector database dataset export jobs.Added new attribute
playground_idtoCostMetricConfiguration.Added new attribute
nametoCostMetricConfiguration.- Added a new class
SupportedInsightsto support lists. SupportedInsights.listto list supported insights.
- Added a new class
- Added a new class
MetricInsightsfor the new metric insights routes. MetricInsights.listto list metric insights.MetricInsights.copy_to_playgroundto copy metrics to another playground.
- Added a new class
Added a new class
PlaygroundOOTBMetricConfigurationfor OOTB metric configurations.Updated the schema for
EvaluationDatasetMetricAggregationto include the new attributesootb_dataset_name,dataset_idanddataset_name.Updated the method
EvaluationDatasetMetricAggregation.listwith additional optional filter parameters.Added new attribute
warningtoOOTBDataset.Added new attribute
warningtoOOTBDatasetDict.Added new attribute
warningstoLLMTestConfiguration.Added a new parameter
playground_idtoSidecarModelMetricValidation.createto support sidecar model metrics transition to playground.Updated the schema for
NemoConfigurationto include the new attributesprompt_pipeline_template_idandresponse_pipeline_template_id.Added new attributes to
EvaluationDatasetConfiguration:rows_count,playground_id.Fix retrieving
shap_remaining_totalwhen requesting predictions with SHAP insights. This should return the remaining shap values when present.
API changes
Updated
ServerError’sexc_messageto be constructed with a request ID to help with debugging.Added method
Deployment.get_capabilitiesto retrieve a list of :class:Capability <datarobot.models.deployment.Capability>objects containing capability details.Advanced options parameters:
modelGroupId,modelRegimeId, andmodelBaselineswere renamed intoseriesId,forecastDistance, andforecastOffsets.Added the parameter
use_sample_from_datasetfromProject.create_from_dataset. This parameter, when set, uses the EDA sample of the dataset to start the project.Added the parameter
quick_computeto functions in the classesShapMatrix,ShapImpact, andShapPreview.Added the parameter
copy_insightstoPlayground.createto copy the insights from existing Playground to the new one.Added the parameter
llm_test_configuration_ids,LLMBlueprint.register_custom_model, to run LLM compliance tests when a blueprint is sent to the custom model workshop.
Enhancements
Added standard pagination parameters (e.g.
limit,offset) toDeployment.list, allowing you to get deployment data in smaller chunks.Added the parameter
base_pathtoget_encoded_file_contents_from_pathsandget_encoded_image_contents_from_paths, allowing you to better control script behavior when using relative file paths.
Bugfixes
Fixed field in
CustomTaskVersionfor controlling network policies. This is changed fromoutgoing_network_policytooutbound_network_policy. When performing aGETaction, this field was incorrect and always resolved toNone. When attempting aPOSTorPATCHaction, the incorrect field would result in a 422. Also changed the name ofdatarobot.enums.CustomTaskOutgoingNetworkPolicytodatarobot.enums.CustomTaskOutboundNetworkPolicyto reflect the proper field name.Fixed schema for
DataSliceSizeInfo, so it now allows an empty list for themessagesfield.
Deprecation summary
Removed the parameter
in_usefromImageAugmentationList.create. This parameter was deprecated in v3.1.0.Deprecated
AutomatedDocument.list_available_document_types. Please useAutomatedDocument.list_all_available_document_typesinstead.Deprecated
Model.request_fairness_insights. Please useModel.request_per_class_fairness_insightsinstead, to returnStatusCheckJobinstead ofstatus_id.Deprecated
Model.get_prime_eligibility. Prime models are no longer supported.eligibleForPrimefield will no longer be returned fromModel.get_supported_capabilitiesand will be removed after version 3.8 is released.Deprecated the property
ShapImpact.row_count <datarobot.insights.ShapImpact.row_count>and it will be removed after version 3.7 is released.Advanced options parameters:
modelGroupId,modelRegimeId, andmodelBaselineswere renamed intoseriesId,forecastDistance, andforecastOffsetsand are deprecated and they will be removed after version 3.6 is released.Renamed
datarobot.enums.CustomTaskOutgoingNetworkPolicytodatarobot.enums.CustomTaskOutboundNetworkPolicyto reflect bug fix changes. The original enum was unusable.Removed parameter
user_agent_suffixindatarobot.Client. Please usetrace_contextinstead.Removed deprecated method
DataStore.get_access_list. Please useDataStore.get_shared_rolesinstead.Removed support for
SharingAccessinstances inDataStore.update_access_list. Please useSharingRoleinstances instead.
Configuration changes
Removed upper bound pin on
urllib3package to allow versions 2.0.2 and above.Upgraded the
Pillowlibrary to version 10.3.0. Users installing DataRobot with the “images” extra (pip install datarobot[images]) should note that this is a required library.
Documentation changes
The API Reference page has been split into multiple sections for better usability.
Fixed docs for
Project.refreshto clarify that it does not return a value.Fixed code example for
ExternalScores.Added copy button to code examples in ReadTheDocs documentation, for convenience.
Removed the outdated ‘examples’ section from the documentation. Please refer to DataRobot’s API Documentation Home for more examples.
Removed the duplicate ‘getting started’ section from the documentation.
Updated to Sphinx RTD Theme v3.
Updated the description for the parameter: ‘number_of_incremental_learning_iterations_before_best_model_selection’ (part of the AdvancedOptions object).
Experimental changes
Added the
force_updateparameter to theupdatemethod inChunkDefinition.Removed attribute
select_columnsfromChunkDefinitionAdded initial experimental support for Chunking Service V2 -
DatasetDefinition-DatasetProps-DatasetInfo-DynamicDatasetProps-RowsChunkDefinition-FeaturesChunkDefinition-ChunkDefinitionStats-ChunkDefinitionAdded new method
updateto {class}`ChunkDefinition <datarobot._experimental.models.chunking_service_v2.ChunkDefinition>Added experimental support for time series wrangling, including usage template:
datarobot._experimental.models.time_series_wrangling_template.user_flow_templateExperimental changes offer automated time series feature engineering for the data in Snowflake or Postgres.
Added the ability to use the Spark dialect when creating a recipe, allowing data wrangling support for files.
Added new attribute
warningtoChat.Moved all modules from
datarobot._experimental.models.genaitodatarobot.models.genai.Added a new method ‘Model.train_first_incremental_from_sample’ that will train first incremental learning iteration from existing sample model. Requires “Project Creation from a Dataset Sample” feature flag.
3.5.0
New features
Added support for BYO LLMs using serverless predictions in
CustomModelLLMValidation.Added attribute
creation_user_nametoLLMBlueprint.Added a new class
HostedCustomMetricTemplatefor hosted custom metrics templates.HostedCustomMetricTemplate.getto retrieve a hosted custom metric template.HostedCustomMetricTemplate.listto list hosted custom metric templates.Added
Job.create_from_custom_metric_gallery_templateto create a job from a custom metric gallery template.- Added a new class
HostedCustomMetricTemplatefor hosted custom metrics. HostedCustomMetric.listto list hosted custom metrics.HostedCustomMetric.updateto update a hosted custom metrics.HostedCustomMetric.deleteto delete a hosted custom metric.HostedCustomMetric.create_from_custom_jobto create a hosted custom metric from existing custom job.HostedCustomMetric.create_from_templateto create hosted custom metric from template.
- Added a new class
- Added a new class
datarobot.models.deployment.custom_metrics.HostedCustomMetricBlueprintfor hosted custom metric blueprints. HostedCustomMetricBlueprint.getto get a hosted custom metric blueprint.HostedCustomMetricBlueprint.createto create a hosted custom metric blueprint.HostedCustomMetricBlueprint.updateto update a hosted custom metric blueprint.
- Added a new class
Added
Job.list_schedulesto list job schedules.- Added a new class
JobSchedulefor the registry job schedule. JobSchedule.createto create a job schedule.JobSchedule.updateto update a job schedule.JobSchedule.deleteto delete a job schedule.
- Added a new class
Added attribute
credential_typetoRuntimeParameter.Added a new class
EvaluationDatasetConfiguration <datarobot._experimental.models.genai.evaluation_dataset_configuration.EvaluationDatasetConfiguration>for configuration of evaluation datasets.EvaluationDatasetConfiguration.get <datarobot._experimental.models.genai.evaluation_dataset_configuration.EvaluationDatasetConfiguration.get>to get an evaluation dataset configuration.EvaluationDatasetConfiguration.list <datarobot._experimental.models.genai.evaluation_dataset_configuration.EvaluationDatasetConfiguration.list>to list the evaluation dataset configurations for a Use Case.EvaluationDatasetConfiguration.create <datarobot._experimental.models.genai.evaluation_dataset_configuration.EvaluationDatasetConfiguration.create>to create an evaluation dataset configuration.EvaluationDatasetConfiguration.update <datarobot._experimental.models.genai.evaluation_dataset_configuration.EvaluationDatasetConfiguration.update>to update an evaluation dataset configuration.EvaluationDatasetConfiguration.delete <datarobot._experimental.models.genai.evaluation_dataset_configuration.EvaluationDatasetConfiguration.delete>to delete an evaluation dataset configuration.Added a new class
EvaluationDatasetMetricAggregation <datarobot._experimental.models.genai.evaluation_dataset_metric_aggregation.EvaluationDatasetMetricAggregation>for metric aggregation results.EvaluationDatasetMetricAggregation.list <datarobot._experimental.models.genai.evaluation_dataset_metric_aggregation.EvaluationDatasetMetricAggregation.list>to get the metric aggregation results.EvaluationDatasetMetricAggregation.create <datarobot._experimental.models.genai.evaluation_dataset_metric_aggregation.EvaluationDatasetMetricAggregation.create>to create the metric aggregation job.EvaluationDatasetMetricAggregation.delete <datarobot._experimental.models.genai.evaluation_dataset_metric_aggregation.EvaluationDatasetMetricAggregation.delete>to delete metric aggregation results.Added a new class
SyntheticEvaluationDataset <datarobot._experimental.models.genai.synthetic_evaluation_dataset_generation.SyntheticEvaluationDataset>for synthetic dataset generation. UseSyntheticEvaluationDataset.create <datarobot._experimental.models.genai.synthetic_evaluation_dataset_generation.SyntheticEvaluationDataset.create>to create a synthetic evaluation dataset.Added a new class
SidecarModelMetricValidation <datarobot._experimental.models.genai.sidecar_model_metric.SidecarModelMetricValidation>for sidecar model metric validations.SidecarModelMetricValidation.create <datarobot._experimental.models.genai.sidecar_model_metric.SidecarModelMetricValidation.create>to create a sidecar model metric validation.SidecarModelMetricValidation.list <datarobot._experimental.models.genai.sidecar_model_metric.SidecarModelMetricValidation.list>to list sidecar model metric validations.SidecarModelMetricValidation.get <datarobot._experimental.models.genai.sidecar_model_metric.SidecarModelMetricValidation.get>to get a sidecar model metric validation.SidecarModelMetricValidation.revalidate <datarobot._experimental.models.genai.sidecar_model_metric.SidecarModelMetricValidation.revalidate>to rerun a sidecar model metric validation.SidecarModelMetricValidation.update <datarobot._experimental.models.genai.sidecar_model_metric.SidecarModelMetricValidation.update>to update a sidecar model metric validation.SidecarModelMetricValidation.delete <datarobot._experimental.models.genai.sidecar_model_metric.SidecarModelMetricValidation.delete>to delete a sidecar model metric validation.Added experimental support for Chunking Service:
Added a new attribute,
is_descending_orderto:
Bugfixes
Updated the trafaret column
predictionfromTrainingPredictionsIteratorfor supporting extra list of strings.
Configuration changes
Updated black version to 23.1.0.
Removes dependency on package mock, since it is part of the standard library.
Documentation changes
Removed incorrect can_share parameters in Use Case sharing example
Added usage of
external_llm_context_sizeinllm_settingsingenai_example.rst.Updated doc string for
llm_settingsto include attributeexternal_llm_context_sizefor external LLMs.Updated
genai_example.rstto link to DataRobot doc pages for external vector database and external LLM deployment creation.
API changes
Remove
ImportedModelobject since it was API for SSE (standalone scoring engine) which is not part of DataRobot anymore.Added
number_of_clustersparameter toProject.get_model_recordsto filter models by number of clusters in unsupervised clustering projects.Remove an unsupported
NETWORK_EGRESS_POLICY.DR_API_ACCESSvalue for custom models. This value was used by a feature that was never released as a GA and is not supported in the current API.Implemented support for
dr-connector-v1toDataStore <datarobot.models.DataStore>andDataSource <datarobot.models.DataStore>.Added a new parameter
nametoDataStore.listfor searching data stores by name.Added a new parameter
entity_typeto thecomputeandcreatemethods of the classesShapMatrix,ShapImpact,ShapPreview. Insights can be computed for custom models if the parameterentity_type="customModel"is passed. See also the User Guide: :ref:SHAP insights overview<shap_insights_overview>.
Experimental changes
Added experimental api support for Data Wrangling. See
Recipe.Recipe.from_data_storeto create a Recipe from data store.Recipe.retrieve_previewto get a sample of the data after recipe is applied.Recipe.set_inputsto set inputs to the recipe.Recipe.set_operationsto set operations to the recipe.Added new experimental
DataStorethat addsget_spark_sessionfor Databricksdatabricks-v1data stores to get a Spark session.Added attribute
chunking_typetoDatasetChunkDefinition.Added OTV attributes to
DatasourceDefinition.Added
DatasetChunkDefinition.patch_validation_datesto patch validation dates of OTV datasource definitions after sampling job.
3.4.1
New features
Enhancements
Bugfixes
Updated the validation logic of
RelationshipsConfigurationto work with native database connections
API changes
Deprecation summary
Configuration changes
Documentation changes
Experimental changes
3.4.0
New features
Added the following classes for generative AI. Importing these from
datarobot._experimental.models.genaiis deprecated and will be removed by the release of DataRobot 10.1 and API Client 3.5. -Playgroundto manage generative AI playgrounds. -LLMDefinitionto get information about supported LLMs. -LLMBlueprintto manage LLM blueprints. -Chatto manage chats for LLM blueprints. -ChatPromptto submit prompts within a chat. -ComparisonChatto manage comparison chats across multiple LLM blueprints within a playground. -ComparisonPromptto submit a prompt to multiple LLM blueprints within a comparison chat. -VectorDatabaseto create vector databases from datasets in the AI Catalog for retrieval augmented generation with an LLM blueprint. -CustomModelVectorDatabaseValidationto validate a deployment for use as a vector database. -CustomModelLLMValidationto validate a deployment for use as an LLM. -UserLimitsto get counts of vector databases and LLM requests for a user.Extended the advanced options available when setting a target to include new parameter:
incrementalLearningEarlyStoppingRounds(part of the AdvancedOptions object). This parameter allows you to specify when to stop for incremental learning automation.Added experimental support for Chunking Service:
DatasetChunkDefinitionfor defining how chunks are created from a data source.DatasetChunkDefinition.createto create a new dataset chunk definition.DatasetChunkDefinition.getto get a specific dataset chunk definition.DatasetChunkDefinition.listto list all dataset chunk definitions.DatasetChunkDefinition.get_datasource_definitionto retrieve the data source definition.DatasetChunkDefinition.get_chunkto get specific chunk metadata belonging to a dataset chunk definition.DatasetChunkDefinition.list_chunksto list all chunk metadata belonging to a dataset chunk definition.DatasetChunkDefinition.create_chunkto submit a job to retrieve the data from the origin data source.DatasetChunkDefinition.create_chunk_by_indexto submit a job to retrieve data from the origin data source by index.
OriginStorageTypeChunkStorageTypeDatasourceAICatalogInfoto define the datasource AI catalog information to create a new dataset chunk definition.DatasourceDataWarehouseInfoto define the datasource data warehouse (snowflake, big query, etc) information to create a new dataset chunk definition.RuntimeParameterfor retrieving runtime parameters assigned toCustomModelVersion.RuntimeParameterValueto define runtime parameter override value, to be assigned toCustomModelVersion.
Added Snowflake Key Pair authentication for uploading datasets from Snowflake or creating a project from Snowflake data
Added
Project.get_model_recordsto retrieve models. MethodProject.get_modelsis deprecated and will be removed soon in favour ofProject.get_model_records.Extended the advanced options available when setting a target to include new parameter:
chunkDefinitionId(part of the AdvancedOptions object). This parameter allows you to specify the chunking definition needed for incremental learning automation.Extended the advanced options available when setting a target to include new Autopilot parameters:
incrementalLearningOnlyModeandincrementalLearningOnBestModel(part of the AdvancedOptions object). These parameters allow you to specify how Autopilot is performed with the chunking service.Added a new method
DatetimeModel.request_lift_chartto support Lift Chart calculations for datetime partitioned projects with support of Sliced Insights.Added a new method
DatetimeModel.get_lift_chartto support Lift chart retrieval for datetime partitioned projects with support of Sliced Insights.Added a new method
DatetimeModel.request_roc_curveto support ROC curve calculation for datetime partitioned projects with support of Sliced Insights.Added a new method
DatetimeModel.get_roc_curveto support ROC curve retrieval for datetime partitioned projects with support of Sliced Insights.Update method
DatetimeModel.request_feature_impactto support use of Sliced Insights.Update method
DatetimeModel.get_feature_impactto support use of Sliced Insights.Update method
DatetimeModel.get_or_request_feature_impactto support use of Sliced Insights.Update method
DatetimeModel.request_feature_effectto support use of Sliced Insights.Update method
DatetimeModel.get_feature_effectto support use of Sliced Insights.Update method
DatetimeModel.get_or_request_feature_effectto support use of Sliced Insights.Added a new method
FeatureAssociationMatrix.createto support the creation of FeatureAssociationMatricies for Featurelists.Introduced a new method
Deployment.perform_model_replaceas a replacement forDeployment.replace_model.Introduced a new property,
model_package, which provides an overview of the currently used model package indatarobot.models.Deployment.Added new parameter
prediction_thresholdtoBatchPredictionJob.score_with_leaderboard_modelandBatchPredictionJob.scorethat automatically assigns the positive class label to any prediction exceeding the threshold.Added two new enum values to :class:
datarobot.models.data_slice.DataSlicesOperators, “BETWEEN” and “NOT_BETWEEN”, which are used to allow slicing.Added a new class
Challengerfor interacting with DataRobot challengers to support the following methods:Challenger.getto retrieve challenger objects by ID.Challenger.listto list all challengers.Challenger.createto create a new challenger.Challenger.updateto update a challenger.Challenger.deleteto delete a challenger.Added a new method
Deployment.get_challenger_replay_settingsto retrieve the challenger replay settings of a deployment.Added a new method
Deployment.list_challengersto retrieve the challengers of a deployment.Added a new method
Deployment.get_champion_model_packageto retrieve the champion model package from a deployment.Added a new method
Deployment.list_prediction_data_exportsto retrieve deployment prediction data exports.Added a new method
Deployment.list_actuals_data_exportsto retrieve deployment actuals data exports.Added a new method
Deployment.list_training_data_exportsto retrieve deployment training data exports.Manage deployment health settings with the following methods: - Get health settings
Deployment.get_health_settings- Update health settingsDeployment.update_health_settings- Get default health settingsDeployment.get_default_health_settingsAdded new enum value to
datarobot.enums._SHARED_TARGET_TYPEto support Text Generation use case.Added new enum value
datarobotServerlesstodatarobot.enums.PredictionEnvironmentPlatformto support DataRobot Serverless prediction environments.Added new enum value
notApplicabletodatarobot.enums.PredictionEnvironmentHealthTypeto support new health status from DataRobot API.Added new enum value to
datarobot.enums.TARGET_TYPEanddatarobot.enums.CUSTOM_MODEL_TARGET_TYPEto support text generation custom inference models.Updated
datarobot.CustomModelto support the creation of text generation custom models.Added a new class
CustomMetricfor interacting with DataRobot custom metrics to support the following methods:CustomMetric.getto retrieve a custom metric object by ID from a given deployment.CustomMetric.listto list all custom metrics from a given deployment.CustomMetric.createto create a new custom metric for a given deployment.CustomMetric.updateto update a custom metric for a given deployment.CustomMetric.deleteto delete a custom metric for a given deployment.CustomMetric.unset_baselineto remove baseline for a given custom metric.CustomMetric.submit_valuesto submit aggregated custom metrics values from code. The provided data should be in the form of a dict or a Pandas DataFrame.CustomMetric.submit_single_valueto submit a single custom metric value.CustomMetric.submit_values_from_catalogto submit aggregated custom metrics values from a dataset via the AI Catalog.CustomMetric.get_values_over_timeto retrieve values of a custom metric over a time period.CustomMetric.get_summaryto retrieve the summary of a custom metric over a time period.CustomMetric.get_values_over_batchto retrieve values of a custom metric over batches.CustomMetric.get_batch_summaryto retrieve the summary of a custom metric over batches.Added
CustomMetricValuesOverTimeto retrieve custom metric over time information.Added
CustomMetricSummaryto retrieve custom metric over time summary.Added
CustomMetricValuesOverBatchto retrieve custom metric over batch information.Added
CustomMetricBatchSummaryto retrieve custom metric batch summary.Added
JobandJobRunto create, read, update, run, and delete jobs in the Registry.Added
KeyValueto create, read, update, and delete key values.Added a new class
PredictionDataExportfor interacting with DataRobot deployment data export to support the following methods:PredictionDataExport.getto retrieve a prediction data export object by ID from a given deployment.PredictionDataExport.listto list all prediction data exports from a given deployment.PredictionDataExport.createto create a new prediction data export for a given deployment.PredictionDataExport.fetch_datato retrieve a prediction export data as a DataRobot dataset.Added a new class
ActualsDataExportfor interacting with DataRobot deployment data export to support the following methods:ActualsDataExport.getto retrieve an actuals data export object by ID from a given deployment.ActualsDataExport.listto list all actuals data exports from a given deployment.ActualsDataExport.createto create a new actuals data export for a given deployment.ActualsDataExport.fetch_datato retrieve an actuals export data as a DataRobot dataset.Added a new class
TrainingDataExportfor interacting with DataRobot deployment data export to support the following methods:TrainingDataExport.getto retrieve a training data export object by ID from a given deployment.TrainingDataExport.listto list all training data exports from a given deployment.TrainingDataExport.createto create a new training data export for a given deployment.TrainingDataExport.fetch_datato retrieve a training export data as a DataRobot dataset.Added a new parameter
base_environment_version_idtoCustomModelVersion.create_cleanfor overriding the default environment version selection behavior.Added a new parameter
base_environment_version_idtoCustomModelVersion.create_from_previousfor overriding the default environment version selection behavior.Added a new class
PromptTrace <datarobot._experimental.models.genai.prompt_trace.PromptTrace>for interacting with DataRobot prompt trace to support the following methods:PromptTrace.list <datarobot._experimental.models.genai.prompt_trace.PromptTrace.list>to list all prompt traces from a given playground.PromptTrace.export_to_ai_catalog <datarobot._experimental.models.genai.prompt_trace.PromptTrace.export_to_ai_catalog>to export prompt traces for the playground to AI catalog.Added a new class
InsightsConfiguration <datarobot._experimental.models.genai.insights_configuration.InsightsConfiguration>for describing available insights and configured insights for a playground.InsightsConfiguration.list <datarobot._experimental.models.genai.insights_configuration.InsightsConfiguration.list>to list the insights that are available to be configured.Added a new class
Insights <datarobot._experimental.models.genai.insights_configuration.Insights>for configuring insights for a playground.Insights.get <datarobot._experimental.models.genai.insights_configuration.Insights.get>to get the current insights configuration for a playground.Insights.create <datarobot._experimental.models.genai.insights_configuration.Insights.create>to create or update the insights configuration for a playground.Added a new class :class:
CostMetricConfiguration <datarobot._experimental.models.genai.cost_metric_configurations.CostMetricConfiguration>for describing available cost metrics and configured cost metrics for a Use Case.CostMetricConfiguration.get <datarobot._experimental.models.genai.cost_metric_configurations.CostMetricConfiguration.get>to get the cost metric configuration.CostMetricConfiguration.create <datarobot._experimental.models.genai.cost_metric_configurations.CostMetricConfiguration.create>to create a cost metric configuration.CostMetricConfiguration.update <datarobot._experimental.models.genai.cost_metric_configurations.CostMetricConfiguration.update>to update the cost metric configuration.CostMetricConfiguration.delete <datarobot._experimental.models.genai.cost_metric_configurations.CostMetricConfiguration.delete>to delete the cost metric configuration.KeyAdded a new class
LLMCostConfiguration <datarobot._experimental.models.genai.cost_metric_configurations.LLMCostConfiguration>for the cost configuration of a specific llm within a Use Case.Added new classes
ShapMatrix,ShapImpact,ShapPreviewto interact with SHAP-based insights. See also the User Guide: :ref:SHAP insights overview<shap_insights_overview>
API changes
Parameter Overrides: Users can now override most of the previously set configuration values directly through parameters when initializing the Client. Exceptions: The endpoint and token values must be initialized from one source (client params, environment, or config file) and cannot be overridden individually, for security and consistency reasons. The new configuration priority is as follows: 1. Client Params 2. Client config_path param 3. Environment Variables 4. Default to reading YAML config file from
~/.config/datarobot/drconfig.yamlDATAROBOT_API_CONSUMER_TRACKING_ENABLEDnow always defaults toTrue.Added Databricks personal access token and service principal (also shared credentials via secure config) authentication for uploading datasets from Databricks or creating a project from Databricks data.
Added secure config support for AWS long term credentials.
Implemented support for
dr-database-v1toDataStore <datarobot.models.DataStore>,DataSource <datarobot.models.DataStore>, andDataDriver <datarobot.models.DataDriver>.Added enum classes to support the changes.You can retrieve the canonical URI for a Use Case using
UseCase.get_uri.You can open a Use Case in a browser using
UseCase.open_in_browser.
Enhancements
Added a new parameter to
Dataset.create_from_urlto support fast dataset registration: -sample_sizeAdded a new parameter to
Dataset.create_from_data_sourceto support fast dataset registration: -sample_sizeJob.get_result_when_completereturnsdatarobot.models.DatetimeModelinstead of thedatarobot.models.Modelif a datetime model was trained.Dataset.get_as_dataframecan handle downloading parquet files as well as csv files.Implement support for
dr-database-v1inDataStore <datarobot.models.DataStore>Added two new parameters to
BatchPredictionJobDefinition.listfor paginating long job definitions lists: -offset-limitAdded two new parameters to
BatchPredictionJobDefinition.listfor filtering the job definitions: -deployment_id-search_nameAdded new parameter to
Deployment.validate_replacement_modelto support replacement validation based on model package ID: -new_registered_model_version_idAdded support for Native Connectors to
Connector <datarobot.models.Connector>for everything other than :meth:` Connector.create <datarobot.models.Connector.create>` and :meth:` Connector.update <datarobot.models.Connector.update>`
Deprecation summary
Removed
Model.get_leaderboard_ui_permalinkandModel.open_model_browserDeprecated
Project.get_modelsin favour ofProject.get_model_records.BatchPredictionJobDefinition.listwill no longer return all job definitions after version 3.6 is released. To preserve current behavior please pass limit=0.new_model_idparameter inDeployment.validate_replacement_modelwill be removed after version 3.6 is released.Deployment.replace_modelwill be removed after version 3.6 is released. MethodDeployment.perform_model_replaceshould be used instead.CustomInferenceModel.assign_training_datawas marked as deprecated in v3.2. The deprecation period has been extended, and the feature will now be removed in v3.5. UseCustomModelVersion.create_cleanandCustomModelVersion.create_from_previousinstead.
Documentation changes
Updated
genai_example.rstto utilize latest genAI features and methods introduced most recently in the API client.
Experimental changes
Added new attribute,
prediction_timeouttoCustomModelValidation.Added new attributes,
feedback_result,metrics, andfinal_prompttoResultMetadata <datarobot._experimental.models.genai.chat_prompt.ResultMetadata>.Added
use_case_idtoCustomModelValidation.Added
llm_blueprints_countanduser_nametoPlayground.Added
custom_model_embedding_validationstoSupportedEmbeddings <datarobot._experimental.models.genai.vector_database.SupportedEmbeddings>.Added
embedding_validation_idandis_separator_regextoVectorDatabase <datarobot._experimental.models.genai.vector_database.VectorDatabase>.Added optional parameters,
use_case,name, andmodeltoCustomModelValidation.create.Added a method
CustomModelValidation.list, to list custom model validations available to a user with several optional parameters to filter the results.Added a method
CustomModelValidation.update, to update a custom model validation.Added an optional parameter,
use_case, toLLMDefinition.list, to include in the returned LLMs the external LLMs available for the specifieduse_caseas well.Added optional parameter,
playgroundtoVectorDatabase.listto list vector databases by playground.Added optional parameter,
comparison_chat, toComparisonPrompt.list, to list comparison prompts by comparison chat.Added optional parameter,
comparison_chat, toComparisonPrompt.create, to specify the comparison chat to create the comparison prompt in.Added optional parameter,
feedback_result, toComparisonPrompt.update <datarobot._experimental.models.genai.comparison_prompt.ComparisonPrompt.update>, to update a comparison prompt with feedback.Added optional parameters,
is_starredtoLLMBlueprint.updateto update the LLM blueprint’s starred status.Added optional parameters,
is_starredtoLLMBlueprint.listto filter the returned LLM blueprints to those matchingis_starred.Added a new enum PromptType,
PromptTypeto identify the LLMBlueprint’s prompting type.Added optional parameters,
prompt_typetoLLMBlueprint.create, to specify the LLM blueprint’s prompting type. This can be set withPromptType.Added optional parameters,
prompt_typetoLLMBlueprint.update, to specify the updated LLM blueprint’s prompting type. This can be set withPromptType.Added a new class,
ComparisonChat, for interacting with DataRobot generative AI comparison chats.ComparisonChat.getretrieves a comparison chat object by ID.ComparisonChat.listlists all comparison chats available to the user.ComparisonChat.createcreates a new comparison chat.ComparisonChat.updateupdates the name of a comparison chat.ComparisonChat.deletedeletes a single comparison chat.Added optional parameters,
playgroundandchattoChatPrompt.list, to list chat prompts by playground and chat.Added optional parameter,
chattoChatPrompt.create, to specify the chat to create the chat prompt in.Added a new method,
ChatPrompt.update <datarobot._experimental.models.genai.chat_prompt.ChatPrompt.update>, to update a chat prompt with custom metrics and feedback.Added a new class,
Chat, for interacting with DataRobot generative AI chats.Chat.getretrieves a chat object by ID.Chat.listlists all chats available to the user.Chat.createcreates a new chat.Chat.updateupdates the name of a chat.Chat.deletedeletes a single chat.Removed the
model_packagemodule. UseRegisteredModelVersioninstead.Added new class
UserLimits- Added support to get the count of users’ LLM API requests.UserLimits.get_llm_requests_count- Added support to get the count of users’ vector databases.UserLimits.get_vector_database_countAdded new methods to the class
Notebookwhich includesNotebook.runandNotebook.download_revision. See the documentation for example usage.Added new class
NotebookScheduledJob.Added new class
NotebookScheduledRun.Added a new method
Model.get_incremental_learning_metadatathat retrieves incremental learning metadata for a model.Added a new method
Model.start_incremental_learningthat starts incremental learning for a model.Updated the API endpoint prefix for all GenerativeAI routes to align with the publicly documented routes.
Bugfixes
Fixed how async url is build in
Model.get_or_request_feature_impactFixed setting ssl_verify by env variables.
Resolved a problem related to tilde-based paths in the Client’s ‘config_path’ attribute.
Changed the force_size default of
ImageOptionsto apply the same transformations by default, which are applied when image archive datasets are uploaded to DataRobot.
3.3.0
New features
Added support for Python 3.11.
Added new library
strenumto addStrEnumsupport while maintaining backwards compatibility with Python 3.7-3.10. DataRobot does not use the nativeStrEnumclass in Python 3.11.Added a new class
PredictionEnvironmentfor interacting with DataRobot Prediction environments.Extended the advanced options available when setting a target to include new parameters:
modelGroupId,modelRegimeId, andmodelBaselines(part of the AdvancedOptions object). These parameters allow you to specify the user columns required to run time series models without feature derivation in OTV projects.Added a new method
PredictionExplanations.create_on_training_data, for computing prediction explanation on training data.Added a new class
RegisteredModelfor interacting with DataRobot registered models to support the following methods:RegisteredModel.getto retrieve RegisteredModel object by ID.RegisteredModel.listto list all registered models.RegisteredModel.archiveto permanently archive registered model.RegisteredModel.updateto update registered model.RegisteredModel.get_shared_rolesto retrieve access control information for registered model.RegisteredModel.shareto share a registered model.RegisteredModel.get_versionto retrieve RegisteredModelVersion object by ID.RegisteredModel.list_versionsto list registered model versions.RegisteredModel.list_associated_deploymentsto list deployments associated with a registered model.Added a new class
RegisteredModelVersionfor interacting with DataRobot registered model versions (also known as model packages) to support the following methods:RegisteredModelVersion.create_for_externalto create a new registered model version from an external model.RegisteredModelVersion.list_associated_deploymentsto list deployments associated with a registered model version.RegisteredModelVersion.create_for_leaderboard_itemto create a new registered model version from a Leaderboard model.RegisteredModelVersion.create_for_custom_model_versionto create a new registered model version from a custom model version.Added a new method
Deployment.create_from_registered_model_versionto support creating deployments from registered model version.Added a new method
Deployment.download_model_package_fileto support downloading model package files (.mlpkg) of the currently deployed model.Added support for retrieving document thumbnails: -
DocumentThumbnail-DocumentPageFileAdded support to retrieve document text extraction samples using: -
DocumentTextExtractionSample-DocumentTextExtractionSamplePage-DocumentTextExtractionSampleDocumentAdded new fields to
CustomTaskVersionfor controlling network policies. The new fields were also added to the response. This can be set withdatarobot.enums.CustomTaskOutgoingNetworkPolicy.Added a new method
BatchPredictionJob.score_with_leaderboard_modelto run batch predictions using a Leaderboard model instead of a deployment.Set
IntakeSettingsandOutputSettingsto useIntakeAdaptersandOutputAdaptersenum values respectively for the propertytype.Added method meth:
Deployment.get_predictions_vs_actuals_over_time <datarobot.models.Deployment.get_predictions_vs_actuals_over_time>to retrieve a deployment’s predictions vs actuals over time data.
Bugfixes
Payload property
subsetrenamed tosourceinModel.request_feature_effectFixed an issue where Context.trace_context was not being set from environment variables or DR config files.
Project.refreshno longer setsProject.advanced_optionsto a dictionary.Fixed
Dataset.modifyto clarify behavior of when to preserve or clear categories.Fixed an issue with enums in f-strings resulting in the enum class and property being printed instead of the enum property’s value in Python 3.11 environments.
Deprecation summary
Project.refreshwill no longer setProject.advanced_optionsto a dictionary after version 3.5 is released.All interactions with
Project.advanced_optionsshould be expected to be through theAdvancedOptionsclass.
Experimental changes
Added a new class,
VectorDatabase, for interacting with DataRobot vector databases.VectorDatabase.getretrieves a VectorDatabase object by ID.VectorDatabase.listlists all VectorDatabases available to the user.VectorDatabase.createcreates a new VectorDatabase.VectorDatabase.createallows you to use a validated deployment of a custom model as your own Vector Database.VectorDatabase.updateupdates the name of a VectorDatabase.VectorDatabase.deletedeletes a single VectorDatabase.VectorDatabase.get_supported_embeddingsretrieves all supported embedding models.VectorDatabase.get_supported_text_chunkingsretrieves all supported text chunking configurations.VectorDatabase.download_text_and_embeddings_assetdownload a parquet file with internal vector database data.Added a new class,
CustomModelVectorDatabaseValidation, for validating custom model deployments for use as a vector database.CustomModelVectorDatabaseValidation.getretrieves a CustomModelVectorDatabaseValidation object by ID.CustomModelVectorDatabaseValidation.get_by_valuesretrieves a CustomModelVectorDatabaseValidation object by field values.CustomModelVectorDatabaseValidation.createstarts validation of the deployment.CustomModelVectorDatabaseValidation.revalidaterepairs an unlinked external vector database.Added a new class,
Playground, for interacting with DataRobot generative AI playgrounds.Playground.getretrieves a playground object by ID.Playground.listlists all playgrounds available to the user.Playground.createcreates a new playground.Playground.updateupdates the name and description of a playground.Playground.deletedeletes a single playground.Added a new class,
LLMDefinition, for interacting with DataRobot generative AI LLMs.LLMDefinition.listlists all LLMs available to the user.Added a new class,
LLMBlueprint, for interacting with DataRobot generative AI LLM blueprints.LLMBlueprint.getretrieves an LLM blueprint object by ID.LLMBlueprint.listlists all LLM blueprints available to the user.LLMBlueprint.createcreates a new LLM blueprint.LLMBlueprint.create_from_llm_blueprintcreates a new LLM blueprint from an existing one.LLMBlueprint.updateupdates an LLM blueprint.LLMBlueprint.deletedeletes a single LLM blueprint.Added a new class,
ChatPrompt, for interacting with DataRobot generative AI chat prompts.ChatPrompt.getretrieves a chat prompt object by ID.ChatPrompt.listlists all chat prompts available to the user.ChatPrompt.createcreates a new chat prompt.ChatPrompt.deletedeletes a single chat prompt.Added a new class,
CustomModelLLMValidation, for validating custom model deployments for use as a custom model LLM.CustomModelLLMValidation.getretrieves a CustomModelLLMValidation object by ID.CustomModelLLMValidation.get_by_valuesretrieves a CustomModelLLMValidation object by field values.CustomModelLLMValidation.createstarts validation of the deployment.CustomModelLLMValidation.revalidaterepairs an unlinked external custom model LLM.Added a new class,
ComparisonPrompt, for interacting with DataRobot generative AI comparison prompts.ComparisonPrompt.getretrieves a comparison prompt object by ID.ComparisonPrompt.listlists all comparison prompts available to the user.ComparisonPrompt.createcreates a new comparison prompt.ComparisonPrompt.updateupdates a comparison prompt.ComparisonPrompt.deletedeletes a single comparison prompt.Extended
UseCase, adding two new fields to represent the count of vector databases and playgrounds.Added a new method,
ChatPrompt.create_llm_blueprint, to create an LLM blueprint from a chat prompt.Added a new method,
CustomModelLLMValidation.delete, to delete a custom model LLM validation record.Added a new method,
LLMBlueprint.register_custom_model, for registering a custom model from a generative AI LLM blueprint.
3.2.0
New features
Added new methods to trigger batch monitoring jobs without providing a job definition.
BatchMonitoringJob.runBatchMonitoringJob.get_statusBatchMonitoringJob.cancelBatchMonitoringJob.downloadAdded
Deployment.submit_actuals_from_catalog_asyncto submit actuals from the AI Catalog.Added a new class
StatusCheckJobwhich represents a job for a status check of submitted async jobs.Added a new class
JobStatusResultrepresents the result for a status check job of a submitted async task.Added
DatetimePartitioning.datetime_partitioning_log_retrieveto download the datetime partitioning log.Added method
DatetimePartitioning.datetime_partitioning_log_listto list the datetime partitioning log.Added
DatetimePartitioning.get_input_datato retrieve the input data used to create an optimized datetime partitioning.Added
DatetimePartitioningId, which can be passed as apartitioning_methodtoProject.analyze_and_model.Added the ability to share deployments. See :ref:
deployment sharing <deployment_sharing>for more information on sharing deployments.Added new methods get_bias_and_fairness_settings and update_bias_and_fairness_settings to retrieve or update bias and fairness settings.
Deployment.get_bias_and_fairness_settingsDeployment.update_bias_and_fairness_settingsAdded a new class
UseCasefor interacting with the DataRobot Use Cases API.Added a new class
Applicationfor retrieving DataRobot Applications available to the user.Added a new class
SharingRoleto hold user or organization access rights.Added a new class
BatchMonitoringJobfor interacting with batch monitoring jobs.Added a new class
BatchMonitoringJobDefinitionfor interacting with batch monitoring jobs definitions.Added a new methods for handling monitoring job definitions: list, get, create, update, delete, run_on_schedule and run_once
BatchMonitoringJobDefinition.listBatchMonitoringJobDefinition.getBatchMonitoringJobDefinition.createBatchMonitoringJobDefinition.updateBatchMonitoringJobDefinition.deleteBatchMonitoringJobDefinition.run_on_scheduleBatchMonitoringJobDefinition.run_onceAdded a new method to retrieve a monitoring job
BatchMonitoringJob.getAdded the ability to filter return objects by a Use Case ID passed to the following methods:
Dataset.listProject.listAdded the ability to automatically add a newly created dataset or project to a Use Case by passing a UseCase, list of UseCase objects, UseCase ID or list of UseCase IDs using the keyword argument
use_casesto the following methods:Dataset.create_from_fileDataset.create_from_in_memory_dataDataset.create_from_urlDataset.create_from_data_sourceDataset.create_from_query_generatorDataset.create_projectProject.createProject.create_from_data_sourceProject.create_from_datasetProject.create_segmented_project_from_clustering_modelProject.startAdded the ability to set a default
UseCasefor requests. It can be set in several ways.If the user configures the client via
Client(...), then invokeClient(..., default_use_case = <id>).If the user configures the client via dr.config.yaml, then add the property
default_use_case: <id>.If the user configures the client via env vars, then set the env var
DATAROBOT_DEFAULT_USE_CASE.The default use case can also be set programmatically as a context manager via
with UseCase.get(<id>):.
Added the ability to configure the collection of client usage metrics to send to DataRobot. Note that this feature only tracks which DataRobot package methods are called and does not collect any user data. You can configure collection with the following settings:
If the user configures the client via
Client(...), then invokeClient(..., enable_api_consumer_tracking = <True/False>).If the user configures the client via dr.config.yaml, then add the property
enable_api_consumer_tracking: <True/False>.If the user configures the client via env vars, then set the env var
DATAROBOT_API_CONSUMER_TRACKING_ENABLED.
Currently the default value for
enable_api_consumer_trackingisTrue.Added method meth:
Deployment.get_predictions_over_time <datarobot.models.Deployment.get_predictions_over_time>to retrieve deployment predictions over time data.Added a new class
FairnessScoresOverTimeto retrieve fairness over time information.Added a new method
Deployment.get_fairness_scores_over_timeto retrieve fairness scores over time of a deployment.Added a new
use_gpuparameter to the methodProject.analyze_and_modelto set whether the project should allow usage of GPUAdded a new
use_gpuparameter to the classProjectwith information whether project allows usage of GPUAdded a new class
TrainingDatafor retrieving TrainingData assigned toCustomModelVersion.Added a new class
HoldoutDatafor retrieving HoldoutData assigned toCustomModelVersion.Added the ability to retrieve the model and blueprint json using the following methods:
Model.get_model_blueprint_jsonBlueprint.get_jsonAdded
Credential.updatewhich allows you to update existing credential resources.Added a new optional parameter
trace_contexttodatarobot.Clientto provide additional information on the DataRobot code being run. This parameter defaults toNone.Updated methods in
Modelto support use of Sliced Insights:Model.get_feature_effectModel.request_feature_effectModel.get_or_request_feature_effectModel.get_lift_chartModel.get_all_lift_chartsModel.get_residuals_chartModel.get_all_residuals_chartsModel.request_lift_chartModel.request_residuals_chartModel.get_roc_curveModel.get_feature_impactModel.request_feature_impactModel.get_or_request_feature_impactAdded support for
SharingRoleto the following methods: -DataStore.shareAdded new methods for retrieving
SharingRoleinformation for the following classes: -DataStore.get_shared_rolesAdded new method for calculating sliced roc curve
Model.request_roc_curveAdded new
DataSliceto support the following slices methods:DataSlice.listto retrieve all data slices in a project.DataSlice.createto create a new data slice.DataSlice.deleteto delete the data slice calling this method.DataSlice.request_sizeto submit a request to calculate a data slice size on a source.DataSlice.get_size_infoto get the data slice’s info when applied to a source.DataSlice.getto retrieve a specific data slice.Added new
DataSliceSizeInfoto define the result of a data slice applied to a source.Added new method for retrieving all available feature impacts for the model
Model.get_all_feature_impacts.Added new method for StatusCheckJob to wait and return the completed object once it is generated
datarobot.models.StatusCheckJob.get_result_when_complete()
Enhancements
Improve error message of
SampleImage.listto clarify that a selected parameter cannot be used when a project has not proceeded to the correct stage prior to calling this method.Extended
SampleImage.listby two parameters to filter for a target value range in regression projects.Added text explanations data to
PredictionExplanationsand made sure it is returned in bothdatarobot.PredictionExplanations.get_all_as_dataframe()anddatarobot.PredictionExplanations.get_rows()method.- Added two new parameters to
Project.upload_dataset_from_catalog: credential_idcredential_data
- Added two new parameters to
- Implemented training and holdout data assignment for Custom Model Version creation APIs:
-
- The parameters added to both APIs are:
training_dataset_idpartition_columnholdout_dataset_idkeep_training_holdout_datamax_wait
Extended
CustomInferenceModel.createandCustomInferenceModel.updatewith the parameteris_training_data_for_versions_permanently_enabled.Added value
DR_API_ACCESSto theNETWORK_EGRESS_POLICYenum.Added new parameter
low_memorytoDataset.get_as_dataframeto allow a low memory mode for larger datasets- Added two new parameters to
Project.listfor paginating long project lists: offsetlimit
- Added two new parameters to
Bugfixes
Fixed incompatibilities with Pandas 2.0 in
DatetimePartitioning.to_dataframe.Fixed a crash when using non-“latin-1” characters in Panda’s DataFrame used as prediction data in
BatchPredictionJob.score.Fixed an issue where failed authentication when invoking
datarobot.client.Client()raises a misleading error about client-server compatibility.Fixed incompatibilities with Pandas 2.0 in
AccuracyOverTime.get_as_dataframe. The method will now throw aValueErrorif an empty list is passed to the parametermetrics.
API changes
Added parameter
unsupervised_typeto the classDatetimePartitioning.The sliced insight API endpoint
GET: api/v2/insights/<insight_name>/returns a paginated response. This means that it returns an empty response if no insights data is found, unlikeGET: api/v2/projects/<pid>/models/<lid>/<insight_name>/, which returns 404 NOT FOUND in this case. To maintain backwards-compatibility, all methods that retrieve insights data raise 404 NOT FOUND if the insights API returns an empty response.
Deprecation summary
Model.get_feature_fit_metadatahas been removed. UseModel.get_feature_effect_metadatainstead.DatetimeModel.get_feature_fit_metadatahas been removed. UseDatetimeModel.get_feature_effect_metadatainstead.Model.request_feature_fithas been removed. UseModel.request_feature_effectinstead.DatetimeModel.request_feature_fithas been removed. UseDatetimeModel.request_feature_effectinstead.Model.get_feature_fithas been removed. UseModel.get_feature_effectinstead.DatetimeModel.get_feature_fithas been removed. UseDatetimeModel.get_feature_effectinstead.Model.get_or_request_feature_fithas been removed. UseModel.get_or_request_feature_effectinstead.DatetimeModel.get_or_request_feature_fithas been removed. UseDatetimeModel.get_or_request_feature_effectinstead.Deprecated the use of
SharingAccessin favor ofSharingRolefor sharing in the following classes: -DataStore.shareDeprecated the following methods for retrieving
SharingAccessinformation. -DataStore.get_access_list. Please useDataStore.get_shared_rolesinstead.CustomInferenceModel.assign_training_datawas marked as deprecated and will be removed in v3.4. UseCustomModelVersion.create_cleanandCustomModelVersion.create_from_previousinstead.
Configuration changes
Pins dependency on package urllib3 to be less than version 2.0.0.
Deprecation summary
Deprecated parameter
user_agent_suffixindatarobot.Client.user_agent_suffixwill be removed in v3.4. Please usetrace_contextinstead.
Documentation changes
Fixed in-line documentation of
DataRobotClientConfig.Fixed documentation around client configuration from environment variables or config file.
Experimental changes
Added experimental support for data matching:
Added new method
DataMatchingQuery.get_resultfor returning data matching query results as pandas dataframes toDataMatchingQuery.- Changed behavior for returning results in the
DataMatching. Instead of saving the results as a file, a pandas dataframe will be returned in the following methods:
- Changed behavior for returning results in the
Added experimental support for model lineage:
ModelLineage- Changed behavior for methods that search for the closest data points in
DataMatching. If the index is missing, instead of throwing the error, methods try to create the index and then query it. This is enabled by default, but if this is not the intended behavior it can be changed by passingFalseto the newbuild_indexparameter added to the methods:
- Changed behavior for methods that search for the closest data points in
Added a new class
Notebookfor retrieving DataRobot Notebooks available to the user.Added experimental support for data wrangling:
3.1.1
Configuration changes
Removes dependency on package contextlib2 since the package is Python 3.7+.
Update typing-extensions to be inclusive of versions from 4.3.0 to < 5.0.0.
3.1.0
Enhancements
Added new methods
BatchPredictionJob.apply_time_series_data_prep_and_scoreandBatchPredictionJob.apply_time_series_data_prep_and_score_to_filethat apply time series data prep to a file or dataset and make batch predictions with a deployment.Added new methods
DataEngineQueryGenerator.prepare_prediction_datasetandDataEngineQueryGenerator.prepare_prediction_dataset_from_catalogthat apply time series data prep to a file or catalog dataset and upload the prediction dataset to a project.Added new
max_waitparameter to methodProject.create_from_dataset. Values larger than the default can be specified to avoid timeouts when creating a project from Dataset.Added new method for creating a segmented modeling project from an existing clustering project and model
Project.create_segmented_project_from_clustering_model. Please switch to this function if you are previously using ModelPackage for segmented modeling purposes.Added new method is_unsupervised_clustering_or_multiclass for checking whether the clustering or multiclass parameters are used, quick and efficient without extra API calls.
PredictionExplanations.is_unsupervised_clustering_or_multiclassRetry idempotent requests which result in HTTP 502 and HTTP 504 (in addition to the previous HTTP 413, HTTP 429 and HTTP 503)
Added value PREPARED_FOR_DEPLOYMENT to the RECOMMENDED_MODEL_TYPE enum
Added two new methods to the ImageAugmentationList class:
ImageAugmentationList.list,ImageAugmentationList.update
Bugfixes
Added
formatkey to Batch Prediction intake and output settings for S3, GCP and Azure
API changes
The method
PredictionExplanations.is_multiclassnow adds an additional API call to check for multiclass target validity, which adds a small delay.AdvancedOptionsparameterblend_best_modelsdefaults to falseAdvancedOptionsparameterconsider_blenders_in_recommendationdefaults to falseDatetimePartitioninghas parameterunsupervised_mode
Deprecation summary
Deprecated method
Project.create_from_hdfs.Deprecated method
DatetimePartitioning.generate.Deprecated parameter
in_usefromImageAugmentationList.createas DataRobot will take care of it automatically.Deprecated property
Deployment.capabilitiesfromDeployment.ImageAugmentationSample.computewas removed in v3.1. You can get the same information with the methodImageAugmentationList.compute_samples.sample_idparameter removed fromImageAugmentationSample.list. Please useauglist_idinstead.
Documentation changes
Update the documentation to suggest that setting
use_backtest_start_end_formatofDatetimePartitioning.to_specificationtoTruewill mirror the same behavior as the Web UI.Update the documentation to suggest setting
use_start_end_formatofBacktest.to_specificationtoTruewill mirror the same behavior as the Web UI.
3.0.3
Bugfixes
Fixed an issue affecting backwards compatibility in
datarobot.models.DatetimeModel, where an unexpected keyword from the DataRobot API would break class deserialization.
3.0.2
Bugfixes
Restored
Model.get_leaderboard_ui_permalink,Model.open_model_browser, These methods were accidentally removed instead of deprecated.Fix for ipykernel < 6.0.0 which does not persist contextvars across cells
Deprecation summary
Deprecated method
Model.get_leaderboard_ui_permalink. Please useModel.get_uriinstead.Deprecated method
Model.open_model_browser. Please useModel.open_in_browserinstead.
3.0.1
Bugfixes
Added
typing-extensionsas a required dependency for the DataRobot Python API client.
3.0.0
New features
Version 3.0 of the Python client does not support Python 3.6 and earlier versions. Version 3.0 currently supports Python 3.7+.
The default Autopilot mode for
project.start_autopilothas changed to Quick mode.For datetime-aware models, you can now calculate and retrieve feature impact for backtests other than zero and holdout:
Added a
backtestfield to feature impact metadata:Model.get_or_request_feature_impact. This field is null for non-datetime-aware models and greater than or equal to zero for holdout in datetime-aware models.You can use a new method to retrieve the canonical URI for a project, model, deployment, or dataset:
You can use a new method to open a class in a browser based on their URI (project, model, deployment, or dataset):
Added a new method for opening DataRobot in a browser:
datarobot.rest.RESTClientObject.open_in_browser(). Invoke the method viadr.Client().open_in_browser().Altered method
Project.create_featurelistto accept five new parameters (please see documentation for information about usage):starting_featureliststarting_featurelist_idstarting_featurelist_namefeatures_to_includefeatures_to_exclude
Added a new method to retrieve a feature list by name:
Project.get_featurelist_by_name.Added a new convenience method to create datasets:
Dataset.upload.Altered the method
Model.request_predictionsto accept four new parameters:datasetfilefile_pathdataframeNote that the method already supports the parameter
dataset_idand all data source parameters are mutually exclusive.
Added a new method to
datarobot.models.Dataset,Dataset.get_as_dataframe, which retrieves all the originally uploaded data in a pandas DataFrame.Added a new method to
datarobot.models.Dataset,Dataset.share, which allows the sharing of a dataset with another user.Added new convenience methods to
datarobot.models.Projectfor dealing with partition classes. Both methods should be called beforeProject.analyze_and_model. -Project.set_partitioning_methodintelligently creates the correct partition class for a regular project, based on input arguments. -Project.set_datetime_partitioningcreates the correct partition class for a time series project.Added a new method to
datarobot.models.ProjectProject.get_top_modelwhich returns the highest scoring model for a metric of your choice.Use the new method
Deployment.predict_batchto pass a file, file path, or DataFrame todatarobot.models.Deploymentto easily make batch predictions and return the results as a DataFrame.Added support for passing in a credentials ID or credentials data to
Project.create_from_data_sourceas an alternative to providing a username and password.You can now pass in a
max_waitvalue toAutomatedDocument.generate.Added a new method to
datarobot.models.ProjectProject.get_datasetwhich retrieves the dataset used during creation of a project.Added two new properties to
datarobot.models.Project: -catalog_id-catalog_version_idAdded a new Autopilot method to
datarobot.models.ProjectProject.analyze_and_modelwhich allows you to initiate Autopilot or data analysis against data uploaded to DataRobot.Added a new convenience method to
datarobot.models.ProjectProject.set_optionswhich allows you to saveAdvancedOptionsvalues for use in modeling.Added a new convenience method to
datarobot.models.ProjectProject.get_optionswhich allows you to retrieve saved modeling options.
Enhancements
Refactored the global singleton client connection (
datarobot.client.Client()) to use ContextVar instead of a global variable for better concurrency support.Added support for creating monotonic feature lists for time series projects. Set
skip_datetime_partition_columnto True to create monotonic feature list. For more information seedatarobot.models.Project.create_modeling_featurelist().Added information about vertex to advanced tuning parameters
datarobot.models.Model.get_advanced_tuning_parameters().Added the ability to automatically use saved
AdvancedOptionsset usingProject.set_optionsinProject.analyze_and_model.
Bugfixes
Dataset.listno longer throws errors when listing datasets with no owner.Fixed an issue with the creation of
BatchPredictionJobDefinitionscontaining a schedule.Fixed error handling in
datarobot.helpers.partitioning_methods.get_class.Fixed issue with portions of the payload not using camelCasing in
Project.upload_dataset_from_catalog.
API changes
The Python client now outputs a
DataRobotProjectDeprecationWarningwhen you attempt to access certain resources (projects, models, deployments, etc.) that are deprecated or disabled as a result of the DataRobot platform’s migration to Python 3.The Python client now raises a
TypeErrorwhen you try to retrieve a labelwise ROC on a binary model or a binary ROC on a multilabel model.The method
Dataset.create_from_data_sourcenow raisesInvalidUsageErrorifusernameandpasswordare not passed as a pair together.
Deprecation summary
Model.get_leaderboard_ui_permalinkhas been removed. UseModel.get_uriinstead.Model.open_model_browserhas been removed. UseModel.open_in_browserinstead.Project.get_leaderboard_ui_permalinkhas been removed. UseProject.get_uriinstead.Project.open_leaderboard_browserhas been removed. UseProject.open_in_browserinstead.Enum
VARIABLE_TYPE_TRANSFORM.CATEGORICALhas been removedInstantiation of
Blueprintusing a dict has been removed. UseBlueprint.from_datainstead.Specifying an environment to use for testing with
CustomModelTesthas been removed.CustomModelVersion’srequired_metadataparameter has been removed. Userequired_metadata_valuesinstead.CustomTaskVersion’srequired_metadataparameter has been removed. Userequired_metadata_valuesinstead.Instantiation of
Featureusing a dict has been removed. UseFeature.from_datainstead.Instantiation of
Featurelistusing a dict has been removed. UseFeaturelist.from_datainstead.Instantiation of
Modelusing a dict, tuple, or thedataparameter has been removed. UseModel.from_datainstead.Instantiation of
Projectusing a dict has been removed. UseProject.from_datainstead.Project’squickrunparameter has been removed. PassAUTOPILOT_MODE.QUICKas themodeinstead.Project’sscaleout_max_train_pctandscaleout_max_train_rowsparameters have been removed.ComplianceDocumentationhas been removed. UseAutomatedDocumentinstead.The
Deploymentmethodcreate_from_custom_model_imagewas removed. UseDeployment.create_from_custom_model_versioninstead.PredictJob.createhas been removed. UseModel.request_predictionsinstead.Model.fetch_resource_datahas been removed. UseModel.getinstead.The class
CustomInferenceImagewas removed. UseCustomModelVersionwithbase_environment_idinstead.Project.set_targethas been deprecated. UseProject.analyze_and_modelinstead.
Configuration changes
Added a context manager
client_configurationthat can be used to change the connection configuration temporarily, for use in asynchronous or multithreaded code.Upgraded the
Pillowlibrary to version 9.2.0. Users installing DataRobot with the “images” extra (pip install datarobot[images]) should note that this is a required library.
Experimental changes
Added experimental support for retrieving document thumbnails:
Added experimental support to retrieve document text extraction samples using: -
DocumentTextExtractionSample-DocumentTextExtractionSamplePage-DocumentTextExtractionSampleDocumentAdded experimental deployment improvements: -
RetrainingPolicycan be used to manage retraining policies associated with a deployment.Added an experimental deployment improvement: - Use
RetrainingPolicyRunto manage retraining policies run for a retraining policy associated with a deployment.Added new methods to
RetrainingPolicy: - UseRetrainingPolicy.getto get a retraining policy associated with a deployment. - UseRetrainingPolicy.deleteto delete a retraining policy associated with a deployment.
2.29.0
New features
Added support to pass
max_ngram_explanationsparameter in batch predictions that will trigger the compute of text prediction explanations.Added support to pass calculation mode to prediction explanations (
modeparameter inPredictionExplanations.create) as well as batch scoring (explanations_modeinBatchPredictionJob.score) for multiclass models. Supported modes:Added method
datarobot.CalendarFile.create_calendar_from_dataset()to the calendar file that allows us to create a calendar from a dataset.Added experimental support for
n_clustersparameter inModel.train_datetimeandDatetimeModel.retrainthat allows to specify number of clusters when creating models in Time Series Clustering project.Added new parameter
clonetodatarobot.CombinedModel.set_segment_champion()that allows to set a new champion model in a cloned model instead of the original one, leaving latter unmodified.Added new property
is_active_combined_modeltodatarobot.CombinedModelthat indicates if the selected combined model is currently the active one in the segmented project.Added new
datarobot.models.Project.get_active_combined_model()that allows users to get the currently active combined model in the segmented project.Added new parameters
read_timeoutto methodShapMatrix.get_as_dataframe. Values larger than the default can be specified to avoid timeouts when requesting large files.ShapMatrix.get_as_dataframeAdded support for bias mitigation with the following methods -
Project.get_bias_mitigated_models-Project.apply_bias_mitigation-Project.request_bias_mitigation_feature_info-Project.get_bias_mitigation_feature_infoand by adding new bias mitigation params - bias_mitigation_feature_name - bias_mitigation_technique - include_bias_mitigation_feature_as_predictor_variable to the existing method -Project.startand by adding this enum to supply params to some of the above functionalitydatarobot.enums.BiasMitigationTechniqueAdded new property
statustodatarobot.models.Deploymentthat represents model deployment status.Added new
Deployment.activateandDeployment.deactivatethat allows deployment activation and deactivationAdded new
Deployment.delete_monitoring_datato delete deployment monitoring data.
Enhancements
Added support for specifying custom endpoint URLs for S3 access in batch predictions:
See:
endpoint_urlparameter.Added guide on :ref:
working with binary data <binary_data>Added multithreading support to binary data helper functions.
Binary data helpers image defaults aligned with application’s image preprocessing.
Added the following accuracy metrics to be retrieved for a deployment - TPR, PPV, F1 and MCC :ref:
Deployment monitoring <deployment_monitoring>
Bugfixes
Don’t include holdout start date, end date, or duration in datetime partitioning payload when holdout is disabled.
Removed ICE Plot capabilities from Feature Fit.
Handle undefined calendar_name in CalendarFile.create_calendar_from_dataset
Raise ValueError for submitted calendar names that are not strings
API changes
versionfield is removed fromImportedModelobject
Deprecation summary
Reason Codes objects deprecated in 2.13 version were removed. Please use Prediction Explanations instead.
Configuration changes
The upper version constraint on pandas has been removed.
Documentation changes
Fixed a minor typo in the example for Dataset.create_from_data_source.
Update the documentation to suggest that
feature_derivation_window_endofdatarobot.DatetimePartitioningSpecificationclass should be a negative or zero.
2.28.0
New features
Added new parameter
upload_read_timeouttoBatchPredictionJob.scoreandBatchPredictionJob.score_to_fileto indicate how many seconds to wait until intake dataset uploads to server. Default value 600s.Added the ability to turn off supervised feature reduction for Time Series projects. Option
use_supervised_feature_reductioncan be set inAdvancedOptions.Allow
maximum_memoryto be input for custom tasks versions. This will be used for setting the limit to which a custom task prediction container memory can grow.Added method
datarobot.models.Project.get_multiseries_names()to the project service which will return all the distinct entries in the multiseries columnAdded new
segmentation_task_idattribute todatarobot.models.Project.set_target()that allows to start project as Segmented Modeling project.Added new property
is_segmentedtodatarobot.models.Projectthat indicates if project is a regular one or Segmented Modeling project.Added method
datarobot.models.Project.restart_segment()to the project service that allows to restart single segment that hasn’t reached modeling phase.Added the ability to interact with Combined Models in Segmented Modeling projects. Available with new class:
datarobot.CombinedModel.Added the ability to create and retrieve segmentation tasks used in Segmented Modeling projects. Available with new class:
datarobot.SegmentationTask.Added new class:
datarobot.SegmentInfothat allows to get information on all segments of Segmented modeling projects, i.e. segment project ID, model counts, autopilot status.- Functionality:
Added new methods to base
APIObjectto assist with dictionary and json serialization of child objects.- Functionality:
APIObject.to_dictAPIObject.to_json
Added new methods to
ImageAugmentationListfor interacting with image augmentation samples.- Functionality:
ImageAugmentationList.compute_samplesImageAugmentationList.retrieve_samples
Added the ability to set a prediction threshold when creating a deployment from a learning model.
Added support for governance, owners, predictionEnvironment, and fairnessHealth fields when querying for a Deployment object.
Added helper methods for working with files, images and documents. Methods support conversion of file contents into base64 string representations. Methods for images provide also image resize and transformation support.
Enhancements
Requesting metadata instead of actual data of
datarobot.PredictionExplanationsto reduce the amount of data transfer
Bugfixes
Fix a bug in
Job.get_result_when_completefor Prediction Explanations job type to populate all attribute of ofdatarobot.PredictionExplanationsinstead of just oneFix a bug in
datarobot.models.ShapImpactwhererow_countwas not optionalAllow blank value for schema and catalog in
RelationshipsConfigurationresponse dataFix a bug where credentials were incorrectly formatted in
Project.upload_dataset_from_catalogandProject.upload_dataset_from_data_sourceRejecting downloads of Batch Prediction data that was not written to the localfile output adapter
Fix a bug in
datarobot.models.BatchPredictionJobDefinition.create()whereschedulewas not optional for all cases
API changes
- User can include ICE plots data in the response when requesting Feature Effects/Feature Fit. Extended methods are
Model.get_feature_fit <datarobot.models.Model.get_feature_fit>,DatetimeModel.get_feature_fit <datarobot.models.DatetimeModel.get_feature_fit>.
Deprecation summary
attrslibrary is removed from library dependenciesImageAugmentationSample.computewas marked as deprecated and will be removed in v2.30. You can get the same information with newly introduced methodImageAugmentationList.compute_samplesImageAugmentationSample.listusingsample_idDeprecating scaleout parameters for projects / models. Includes
scaleout_modeling_mode,scaleout_max_train_pct, andscaleout_max_train_rows
Configuration changes
pandasupper version constraint is updated to include version 1.3.5.
Documentation changes
Fixed “from datarobot.enums” import in Unsupervised Clustering example provided in docs.
2.27.0
New features
datarobot.UserBlueprintis now mature with full support of functionality. Users are encouraged to use the Blueprint Workshop instead of this class directly.Added the arguments attribute in
datarobot.CustomTaskVersion.Added the ability to retrieve detected errors in the potentially multicategorical feature types that prevented the feature to be identified as multicategorical.
Project.download_multicategorical_data_format_errors- Added the support of listing/updating user roles on one custom task.
Added a method
datarobot.models.Dataset.create_from_query_generator(). This creates a dataset in the AI catalog from adatarobot.DataEngineQueryGenerator.Added the new functionality of creating a user blueprint with a custom task version id.
datarobot.UserBlueprint.create_from_custom_task_version_id().The DataRobot Python Client is no longer published under the Apache-2.0 software license, but rather under the terms of the DataRobot Tool and Utility Agreement.
Added a new class:
datarobot.DataEngineQueryGenerator. This class generates a Spark SQL query to apply time series data prep to a dataset in the AI catalog.- Functionality:
See the :ref:
time series data prep documentation <time_series_data_prep>for more information.Added the ability to upload a prediction dataset into a project from the AI catalog
Project.upload_dataset_from_catalog.Added the ability to specify the number of training rows to use in SHAP based Feature Impact computation. Extended method:
ShapImpact.create
Added the ability to retrieve and restore features that have been reduced using the time series feature generation and reduction functionality. The functionality comes with a new class:
datarobot.models.restore_discarded_features.DiscardedFeaturesInfo.Added the ability to control class mapping aggregation in multiclass projects via
ClassMappingAggregationSettingspassed as a parameter toProject.set_targetAdded support for :ref:
unsupervised clustering projects<unsupervised_clustering>Added the ability to compute and retrieve Feature Effects for a Multiclass model using
datarobot.models.Model.request_feature_effects_multiclass(),datarobot.models.Model.get_feature_effects_multiclass()ordatarobot.models.Model.get_or_request_feature_effects_multiclass()methods. For datetime models use following methodsdatarobot.models.DatetimeModel.request_feature_effects_multiclass(),datarobot.models.DatetimeModel.get_feature_effects_multiclass()ordatarobot.models.DatetimeModel.get_or_request_feature_effects_multiclass()withbacktest_indexspecifiedAdded the ability to get and update challenger model settings for deployment class:
datarobot.models.DeploymentAdded the ability to get and update segment analysis settings for deployment class:
datarobot.models.DeploymentAdded the ability to get and update predictions by forecast date settings for deployment class:
datarobot.models.DeploymentAdded the ability to specify multiple feature derivation windows when creating a Relationships Configuration using
RelationshipsConfiguration.createAdded the ability to manipulate a legacy conversion for a custom inference model, using the class:
CustomModelVersionConversion
Enhancements
Project.getreturns the query_generator_id used for time series data prep when applicable.Feature Fit & Feature Effects can return
datetimeinstead ofnumericforfeature_typefield for numeric features that are derived from dates.These methods now provide additional field
rowCountin SHAP based Feature Impact results.ShapImpact.createShapImpact.get
- Improved performance when downloading prediction dataframes for Multilabel projects using:
Bugfixes
fix
datarobot.CustomTaskVersionanddatarobot.CustomModelVersionto correctly formatrequired_metadata_valuesbefore sending them via APIFixed response validation that could cause
DataErrorwhen usingdatarobot.models.Datasetfor a dataset with a description that is an empty string.
API changes
RelationshipsConfiguration.createwill include a new keydata_source_idindata_sourcefield when applicable
Deprecation summary
Model.get_all_labelwise_roc_curveshas been removed. You can get the same information with multiple calls ofModel.get_labelwise_roc_curves, one per data source.Model.get_all_multilabel_lift_chartshas been removed. You can get the same information with multiple calls ofModel.get_multilabel_lift_charts, one per data source.
Documentation changes
This release introduces a new documentation organization. The organization has been modified to better reflect the end-to-end modeling workflow. The new “Tutorials” section has 5 major topics that outline the major components of modeling: Data, Modeling, Predictions, MLOps, and Administration.
The Getting Started workflow is now hosted at DataRobot’s API Documentation Home.
Added an example of how to set up optimized datetime partitioning for time series projects.
2.26.0
New features
Added the ability to use external baseline predictions for time series project. External dataset can be validated using
datarobot.models.Project.validate_external_time_series_baseline(). Option can be set inAdvancedOptionsto scale datarobot models’ accuracy performance using external dataset’s accuracy performance. See the :ref:external baseline predictions documentation <external_baseline_predictions>for more information.Added the ability to generate exponentially weighted moving average features for time series project. Option can be set in
AdvancedOptionsand controls the alpha parameter used in exponentially weighted moving average operation.Added the ability to request a specific model be prepared for deployment using
Project.start_prepare_model_for_deployment.Added a new class:
datarobot.CustomTask. This class is a custom task that you can use as part (or all) of your blue print for training models. It needsdatarobot.CustomTaskVersionbefore it can properly be used.- Functionality:
- Create, copy, update or delete:
- list, get and refresh current tasks:
- Download the latest
datarobot.CustomTaskVersionof thedatarobot.CustomTask
- Download the latest
Added a new class:
datarobot.CustomTaskVersion. This class is for management of specific versions of a custom task.- Functionality:
- Create new custom task versions:
- list, get and refresh current available versions:
datarobot.CustomTaskVersion.download()will download a tarball of the files used to create the custom taskdatarobot.CustomTaskVersion.update()updates the metadata for a custom task.
Added the ability compute batch predictions for an in-memory DataFrame using
BatchPredictionJob.scoreAdded the ability to specify feature discovery settings when creating a Relationships Configuration using
RelationshipsConfiguration.create
Enhancements
- Improved performance when downloading prediction dataframes using:
Bugfixes
Model.getwill return aDatetimeModelinstead ofModelwhenever the project is datetime partitioned. This enables theModelRecommendation.get_modelto return aDatetimeModelinstead ofModelwhenever the project is datetime partitioned.Try to read Feature Impact result if existing jobId is None in
Model.get_or_request_feature_impact.Set upper version constraints for pandas.
RelationshipsConfiguration.createwill return acatalogindata_sourcefieldArgument
required_metadata_keyswas not properly being sent in the update and create requests fordatarobot.ExecutionEnvironment.Fix issue with
datarobot.ExecutionEnvironmentcreate method failing when used against older versions of the applicationdatarobot.CustomTaskVersionwas not properly handlingrequired_metadata_valuesfrom the API response
API changes
Updated
Project.startto useAUTOPILOT_MODE.QUICKwhen theautopilot_onparam is set to True. This brings it in line withProject.set_target.Updated
project.start_autopilotto accept the following new GA parameters that are already in the public API:consider_blenders_in_recommendation,run_leakage_removed_feature_list
Deprecation summary
The
required_metadataproperty ofdatarobot.CustomModelVersionhas been deprecated.required_metadata_valuesshould be used instead.The
required_metadataproperty ofdatarobot.CustomTaskVersionhas been deprecated.required_metadata_valuesshould be used instead.
Configuration changes
Now requires dependency on package scikit-learn rather than sklearn. Note: This dependency is only used in example code. See this scikit-learn issue for more information.
Now permits dependency on package attrs to be less than version 21. This fixes compatibility with apache-airflow.
Allow to setup
Authorization: <type> <token>type header for OAuth2 Bearer tokens.
Documentation changes
Update the documentation with respect to the permission that controls AI Catalog dataset snapshot behavior.
2.25.0
New features
There is a new
AnomalyAssessmentRecordobject that implements public API routes to work with anomaly assessment insight. This also adds explanations and predictions preview classes. The insight is available for anomaly detection models in time series unsupervised projects which also support calculation of Shapley values.Functionality:
Initialize an anomaly assessment insight for the specified subset.
Get anomaly assessment records, shap explanations, predictions preview:
DatetimeModel.get_anomaly_assessment_recordslist available recordsAnomalyAssessmentRecord.get_predictions_previewget predictions preview for the recordAnomalyAssessmentRecord.get_latest_explanationsget latest predictions along with shap explanations for the most anomalous records.AnomalyAssessmentRecord.get_explanationsget predictions along with shap explanations for the most anomalous records for the specified range.
Delete anomaly assessment record:
AnomalyAssessmentRecord.deletedelete record
Added an ability to calculate and retrieve Datetime trend plots for
DatetimeModel. This includes Accuracy over Time, Forecast vs Actual, and Anomaly over Time.Plots can be calculated using a common method:
Metadata for plots can be retrieved using the following methods:
Plots can be retrieved using the following methods:
Preview plots can be retrieved using the following methods:
Support for Batch Prediction Job Definitions has now been added through the following class:
BatchPredictionJobDefinition. You can create, update, list and delete definitions using the following methods:
Enhancements
Added a new helper function to create Dataset Definition, Relationship and Secondary Dataset used by Feature Discovery Project. They are accessible via
DatasetDefinitionRelationshipSecondaryDatasetAdded new helper function to projects to retrieve the recommended model.
Project.recommended_modelAdded method to download feature discovery recipe SQLs (limited beta feature).
Project.download_feature_discovery_recipe_sqls.Added
docker_context_sizeanddocker_image_sizetodatarobot.ExecutionEnvironmentVersion
Bugfixes
Remove the deprecation warnings when using with latest versions of urllib3.
FeatureAssociationMatrix.getis now using correct query param name whenfeaturelist_idis specified.Handle scalar values in
shapBaseValuewhile converting a predictions response to a data frame.Ensure that if a configured endpoint ends in a trailing slash, the resulting full URL does not end up with double slashes in the path.
Model.request_frozen_datetime_modelis now implementing correct validation of input parametertraining_start_date.
API changes
Arguments
secondary_datasetsnow acceptSecondaryDatasetto create secondary dataset configurations -SecondaryDatasetConfigurations.createArguments
dataset_definitionsandrelationshipsnow acceptDatasetDefinitionRelationshipto create and replace relationships configuration -RelationshipsConfiguration.createcreates a new relationships configuration between datasets -RelationshipsConfiguration.retrieveretrieve the requested relationships configurationArgument
required_metadata_keyshas been added todatarobot.ExecutionEnvironment. This should be used to define a list ofRequiredMetadataKey.datarobot.CustomModelVersionthat use a base environment withrequired_metadata_keysmust define values for these fields in their respectiverequired_metadataArgument
required_metadatahas been added todatarobot.CustomModelVersion. This should be set with relevant values defined by the base environment’srequired_metadata_keys
2.24.0
New features
Partial history predictions can be made with time series time series multiseries models using the
allow_partial_history_time_series_predictionsattribute of thedatarobot.DatetimePartitioningSpecification. See the :ref:Time Series <time_series>documentation for more info.Multicategorical Histograms are now retrievable. They are accessible via
MulticategoricalHistogramorFeature.get_multicategorical_histogram.Add methods to retrieve per-class lift chart data for multilabel models:
Model.get_multilabel_lift_chartsandModel.get_all_multilabel_lift_charts.Add methods to retrieve labelwise ROC curves for multilabel models:
Model.get_labelwise_roc_curvesandModel.get_all_labelwise_roc_curves.Multicategorical Pairwise Statistics are now retrievable. They are accessible via
PairwiseCorrelations,PairwiseJointProbabilitiesandPairwiseConditionalProbabilitiesorFeature.get_pairwise_correlations,Feature.get_pairwise_joint_probabilitiesandFeature.get_pairwise_conditional_probabilities.- Add methods to retrieve prediction results of a deployment:
Add method to download scoring code of a deployment using
Deployment.download_scoring_code.Added Automated Documentation: now you can automatically generate documentation about various entities within the platform, such as specific models or projects. Check out the
- ref:
Automated Documentation overview<automated_documentation_overview>and also refer to the :ref:API Reference<automated_documentation_api>for more details.
- Create a new Dataset version for a given dataset by uploading from a file, URL or in-memory datasource.
Enhancements
Added a new
statuscalledFAILEDto fromBatchPredictionJobas this is a new status coming to Batch Predictions in an upcoming version of DataRobot.Added
base_environment_version_idtodatarobot.CustomModelVersion.Support for downloading feature discovery training or prediction dataset using
Project.download_feature_discovery_dataset.Added
datarobot.models.FeatureAssociationMatrix,datarobot.models.FeatureAssociationMatrixDetailsanddatarobot.models.FeatureAssociationFeatureliststhat can be used to retrieve feature associations data as an alternative toProject.get_associations,Project.get_association_matrix_detailsandProject.get_association_featurelistsmethods.
Bugfixes
Fixed response validation that could cause
DataErrorwhen usingTrainingPredictions.listandTrainingPredictions.get_all_as_dataframemethods if there are training predictions computed withexplanation_algorithm.
API changes
Remove
desired_memoryparam from the following classes:datarobot.CustomInferenceModel,datarobot.CustomModelVersion,datarobot.CustomModelTestRemove
desired_memoryparam from the following methods:CustomInferenceModel.create,CustomModelVersion.create_clean,CustomModelVersion.create_from_previous,CustomModelTest.createandCustomModelTest.create
Deprecation summary
class
ComplianceDocumentationwill be deprecated in v2.24 and will be removed entirely in v2.27. UseAutomatedDocumentinstead. To start off, see the- ref:
Automated Documentation overview<automated_documentation_overview>for details.
Documentation changes
Remove reference to S3 for
Project.upload_datasetsince it is not supported by the server
2.23.0
New features
Calendars for time series projects can now be automatically generated by providing a country code to the method
CalendarFile.create_calendar_from_country_code. A list of allowed country codes can be retrieved usingCalendarFile.get_allowed_country_codesFor more information, see the :ref:calendar documentation <preloaded_calendar_files>.Added
calculate_all_series`param toDatetimeModel.compute_series_accuracy. This option allows users to compute series accuracy for all available series at once, while by default it is computed for first 1000 series only.Added ability to specify sampling method when setting target of OTV project. Option can be set in
AdvancedOptionsand changes a way training data is defined in autopilot steps.Add support for custom inference model k8s resources management. This new feature enables users to control k8s resources allocation for their executed model in the k8s cluster. It involves in adding the following new parameters:
network_egress_policy,desired_memory,maximum_memory,replicasto the following classes:datarobot.CustomInferenceModel,datarobot.CustomModelVersion,datarobot.CustomModelTestAdd support for multiclass custom inference and training models. This enables users to create classification custom models with more than two class labels. The
datarobot.CustomInferenceModelclass can now usedatarobot.TARGET_TYPE.MULTICLASSfor theirtarget_typeparameter. Class labels for inference models can be set/updated using either a file or as a list of labels.- Support for Listing all the secondary dataset configuration for a given project:
Add support for unstructured custom inference models. The
datarobot.CustomInferenceModelclass can now usedatarobot.TARGET_TYPE.UNSTRUCTUREDfor itstarget_typeparameter.target_nameparameter is optional forUNSTRUCTUREDtarget type.All per-class lift chart data is now available for multiclass models using
Model.get_multiclass_lift_chart.AUTOPILOT_MODE.COMPREHENSIVE, a newmode, has been added toProject.set_target.Add support for anomaly detection custom inference models. The
datarobot.CustomInferenceModelclass can now usedatarobot.TARGET_TYPE.ANOMALYfor itstarget_typeparameter.target_nameparameter is optional forANOMALYtarget type.- Support for Updating and retrieving the secondary dataset configuration for a Feature discovery deployment:
Add support for starting and retrieving Feature Impact information for
datarobot.CustomModelVersion- Search for interaction features and Supervised Feature reduction for feature discovery project can now be specified
in
AdvancedOptions.
Feature discovery projects can now be created using the
Project.startmethod by providingrelationships_configuration_id.Actions applied to input data during automated feature discovery can now be retrieved using
FeatureLineage.getCorresponding feature lineage id is available as a newdatarobot.models.Featurefieldfeature_lineage_id.Lift charts and ROC curves are now calculated for backtests 2+ in time series and OTV models. The data can be retrieved for individual backtests using
Model.get_lift_chartandModel.get_roc_curve.- The following methods now accept a new argument called credential_data, the credentials to authenticate with the database, to use instead of user/password or credential ID:
Add support for DataRobot Connectors,
datarobot.Connectorprovides a simple implementation to interface with connectors.
Enhancements
Running Autopilot on Leakage Removed feature list can now be specified in
AdvancedOptions. By default, Autopilot will always run on Informative Features - Leakage Removed feature list if it exists. If the parameterrun_leakage_removed_feature_listis set to False, then Autopilot will run on Informative Features or available custom feature list.Method
Project.upload_datasetandProject.upload_dataset_from_data_sourcesupport new optional parametersecondary_datasets_config_idfor Feature discovery project.
Bugfixes
added
disable_holdoutparam indatarobot.DatetimePartitioningUsing
Credential.create_gcpproduced an incompatible credentialSampleImage.listnow supports Regression & Multilabel projectsUsing
BatchPredictionJob.scorecould in some circumstances result in a crash from trying to abort the job if it fails to startUsing
BatchPredictionJob.scoreorBatchPredictionJob.scorewould produce incomplete results in case a job was aborted while downloading. This will now raise an exception.
API changes
New
sampling_methodparam inModel.train_datetime,Project.train_datetime,Model.train_datetimeandModel.train_datetime.New
target_typeparam indatarobot.CustomInferenceModel- New arguments
secondary_datasets,name,creator_full_name,creator_user_id,created, featurelist_id,credentials_ids,project_versionandis_defaultindatarobot.models.SecondaryDatasetConfigurations
- New arguments
- New arguments
secondary_datasets,name,featurelist_idto
- New arguments
Class
FeatureEngineeringGraphhas been removed. Usedatarobot.models.RelationshipsConfigurationinstead.Param
feature_engineering_graphsremoved fromProject.set_target.Param
configremoved fromSecondaryDatasetConfigurations.create.
Deprecation summary
supports_binary_classificationandsupports_regressionare deprecatedfor
datarobot.CustomInferenceModeland will be removed in v2.24
- Argument
configandsupports_regressionare deprecated for
datarobot.models.SecondaryDatasetConfigurationsand will be removed in v2.24
- Argument
CustomInferenceImagehas been deprecated and will be removed in v2.24.datarobot.CustomModelVersionwith base_environment_id should be used in their place.
environment_idandenvironment_version_idare deprecated forCustomModelTest.create
Documentation changes
feature_lineage_idis added as a new parameter in the response for retrieval of adatarobot.models.Featurecreated by automated feature discovery or time series feature derivation. This id is required to retrieve adatarobot.models.FeatureLineageinstance.
2.22.1
New features
Batch Prediction jobs now support :ref:
dataset <batch_predictions-intake-types-dataset>as intake settings forBatchPredictionJob.score.Create a Dataset from DataSource:
Added support for Custom Model Dependency Management. Please see :ref:
custom model documentation<custom_models>. New features added:Added new argument
base_environment_idto methodsCustomModelVersion.create_cleanandCustomModelVersion.create_from_previousNew fields
base_environment_idanddependenciesto classdatarobot.CustomModelVersionNew class
datarobot.CustomModelVersionDependencyBuildto prepare custom model versions with dependencies.Made argument
environment_idofCustomModelTest.createoptional to enable using custom model versions with dependenciesNew field
image_typeadded to classdatarobot.CustomModelTestDeployment.create_from_custom_model_versioncan be used to create a deployment from a custom model version.
Added new parameters for starting and re-running Autopilot with customizable settings within
Project.start_autopilot.Added a new method to trigger Feature Impact calculation for a Custom Inference Image:
CustomInferenceImage.calculate_feature_impactAdded new method to retrieve number of iterations trained for early stopping models. Currently supports only tree-based models.
Model.get_num_iterations_trained.
Enhancements
A description can now be added or updated for a project.
Project.set_project_description.Added new parameters
read_timeoutandmax_waitto methodDataset.create_from_file. Values larger than the default can be specified for both to avoid timeouts when uploading large files.Added new parameter
metrictodatarobot.models.deployment.TargetDrift,datarobot.models.deployment.FeatureDrift,Deployment.get_target_driftandDeployment.get_feature_drift.Added new parameter
timeouttoBatchPredictionJob.downloadto indicate how many seconds to wait for the download to start (in case the job doesn’t start processing immediately). Set to-1to disable. This parameter can also be sent asdownload_timeouttoBatchPredictionJob.scoreandBatchPredictionJob.score. If the timeout occurs, the pending job will be aborted.Added new parameter
read_timeouttoBatchPredictionJob.downloadto indicate how many seconds to wait between each downloaded chunk. This parameter can also be sent asdownload_read_timeouttoBatchPredictionJob.scoreandBatchPredictionJob.score.Added parameter
catalogtoBatchPredictionJobto both intake and output adapters for typejdbc.Consider blenders in recommendation can now be specified in
AdvancedOptions. Blenders will be included when autopilot chooses a model to prepare and recommend for deployment.Added optional parameter
max_waittoDeployment.replace_modelto indicate the maximum time to wait for model replacement job to complete before erroring.
Bugfixes
Handle
nullvalues inpredictionExplanationMetadata["shapRemainingTotal"]while converting a predictions response to a data frame.Handle
nullvalues incustomModel["latestVersion"]Removed an extra column
statusfromBatchPredictionJobas it caused issues with never version of Trafaret validation.Make
predicted_vs_actualoptional in Feature Effects data because a feature may have insufficient qualified samples.Make
jdbc_urloptional in Data Store data because some data stores will not have it.The method
Project.get_datetime_modelsnow correctly returns allDatetimeModelobjects for the project, instead of just the first 100.Fixed a documentation error related to snake_case vs camelCase in the JDBC settings payload.
Make trafaret validator for datasets use a syntax that works properly with a wider range of trafaret versions.
Handle extra keys in CustomModelTests and CustomModelVersions
ImageEmbeddingandImageActivationMapnow supports regression projects.
API changes
The default value for the
modeparam inProject.set_targethas been changed fromAUTOPILOT_MODE.FULL_AUTOtoAUTOPILOT_MODE.QUICK
Documentation changes
Added links to classes with duration parameters such as
validation_durationandholdout_durationto provide duration string examples to users.The :ref:
models documentation <models>has been revised to include section on how to train a new model and how to run cross-validation or backtesting for a model.
2.21.0
New features
Added new arguments
explanation_algorithmandmax_explanationsto methodModel.request_training_predictions. New fieldsexplanation_algorithm,max_explanationsandshap_warningshave been added to classTrainingPredictions. New fieldsprediction_explanationsandshap_metadatahave been added to classTrainingPredictionsIteratorthat is returned by methodTrainingPredictions.iterate_rows.Added new arguments
explanation_algorithmandmax_explanationsto methodModel.request_predictions. New fieldsexplanation_algorithm,max_explanationsandshap_warningshave been added to classPredictions. MethodPredictions.get_all_as_dataframehas new argumentserializerthat specifies the retrieval and results validation method (jsonorcsv) for the predictions.Added possibility to compute
ShapImpact.createand requestShapImpact.getSHAP impact scores for features in a model.Added support for accessing Visual AI images and insights. See the DataRobot Python Package documentation, Visual AI Projects, section for details.
User can specify custom row count when requesting Feature Effects. Extended methods are
Model.request_feature_effectandModel.get_or_request_feature_effect.Users can request SHAP based predictions explanations for a models that support SHAP scores using
ShapMatrix.create.Added two new methods to
Datasetto lazily retrieve paginated responses.Dataset.iteratereturns an iterator of the datasets that a user can view.Dataset.iterate_all_featuresreturns an iterator of the features of a dataset.
It’s possible to create an Interaction feature by combining two categorical features together using
Project.create_interaction_feature. Operation result represented bymodels.InteractionFeature.. Specific information about an interaction feature may be retrieved by its name usingmodels.InteractionFeature.getAdded the
DatasetFeaturelistclass to support featurelists on datasets in the AI Catalog. DatasetFeaturelists can be updated or deleted. Two new methods were also added toDatasetto interact with DatasetFeaturelists. These areDataset.get_featurelistsandDataset.create_featurelistwhich list existing featurelists and create new featurelists on a dataset, respectively.Added
model_splitstoDatetimePartitioningSpecificationand toDatetimePartitioning. This will allow users to control the jobs per model used when building models. A higher number ofmodel_splitswill result in less downsampling, allowing the use of more post-processed data.Added support for :ref:
unsupervised projects<unsupervised_anomaly>.Added support for external test set. Please see :ref:
testset documentation<external_testset>A new workflow is available for assessing models on external test sets in time series unsupervised projects. More information can be found in the :ref:
documentation<unsupervised_external_dataset>.Project.upload_datasetandModel.request_predictionsnow acceptactual_value_column- name of the actual value column, can be passed only with date range.PredictionDatasetobjects now contain the following new fields:actual_value_column: Actual value column which was selected for this dataset.detected_actual_value_column: A list of detected actual value column info.
New warning is added to
data_quality_warningsofdatarobot.models.PredictionDataset:single_class_actual_value_column.Scores and insights on external test sets can be retrieved using
ExternalScores,ExternalLiftChart,ExternalRocCurve.
Users can create payoff matrices for generating profit curves for binary classification projects using
PayoffMatrix.create.Deployment Improvements:
datarobot.models.deployment.TargetDriftcan be used to retrieve target drift information.datarobot.models.deployment.FeatureDriftcan be used to retrieve feature drift information.Deployment.submit_actualswill submit actuals in batches if the total number of actuals exceeds the limit of one single request.Deployment.create_from_custom_model_imagecan be used to create a deployment from a custom model image.Deployments now support predictions data collection that enables prediction requests and results to be saved in Predictions Data Storage. See
Deployment.get_predictions_data_collection_settingsandDeployment.update_predictions_data_collection_settingsfor usage.
New arguments
send_notificationandinclude_feature_discovery_entitiesare added toProject.share.Now it is possible to specify the number of training rows to use in feature impact computation on supported project types (that is everything except unsupervised, multi-class, time-series). This does not affect SHAP based feature impact. Extended methods:
A new class
FeatureImpactJobis added to retrieve Feature Impact records with metadata. The regularJobstill works as before.Added support for custom models. Please see :ref:
custom model documentation<custom_models>. Classes added:datarobot.ExecutionEnvironmentanddatarobot.ExecutionEnvironmentVersionto create and manage custom model executions environmentsdatarobot.CustomInferenceModelanddatarobot.CustomModelVersionto create and manage custom inference modelsdatarobot.CustomModelTestto perform testing of custom models
Batch Prediction jobs now support forecast and historical Time Series predictions using the new argument
timeseries_settingsforBatchPredictionJob.score.Batch Prediction jobs now support scoring to Azure and Google Cloud Storage with methods
BatchPredictionJob.score_azureandBatchPredictionJob.score_gcp.- Now it’s possible to create Relationships Configurations to introduce secondary datasets to projects. A configuration specifies additional datasets to be included to a project and how these datasets are related to each other, and the primary dataset. When a relationships configuration is specified for a project, Feature Discovery will create features automatically from these datasets.
RelationshipsConfiguration.createcreates a new relationships configuration between datasetsRelationshipsConfiguration.retrieveretrieve the requested relationships configurationRelationshipsConfiguration.replacereplace the relationships configuration details with new oneRelationshipsConfiguration.deletedelete the relationships configuration
Enhancements
Made creating projects from a dataset easier through the new
Dataset.create_project.These methods now provide additional metadata fields in Feature Impact results if called with
with_metadata=True. Fields added:rowCount,shapBased,ranRedundancyDetection,count.Secondary dataset configuration retrieve and deletion is easier now though new
SecondaryDatasetConfigurations.deletesoft deletes a Secondary dataset configuration.SecondaryDatasetConfigurations.getretrieve a Secondary dataset configuration.Retrieve relationships configuration which is applied on the given feature discovery project using
Project.get_relationships_configuration.
Bugfixes
An issue with input validation of the Batch Prediction module
parent_model_id was not visible for all frozen models
Batch Prediction jobs that used other output types than
local_filefailed when using.wait_for_completion()A race condition in the Batch Prediction file scoring logic
API changes
Three new fields were added to the
Datasetobject. This reflects the updated fields in the public API routes atapi/v2/datasets/. The added fields are:processing_state: Current ingestion process state of the dataset
row_count: The number of rows in the dataset.
size: The size of the dataset as a CSV in bytes.
Deprecation summary
datarobot.enums.VARIABLE_TYPE_TRANSFORM.CATEGORICALfor is deprecated for the following and will be removed in v2.22.meth:
Project.batch_features_type_transformmeth:
Project.create_type_transform_feature
2.20.0
New features
There is a new
Datasetobject that implements some of the public API routes atapi/v2/datasets/. This also adds two new feature classes and a details class.Functionality:
Create a Dataset by uploading from a file, URL or in-memory datasource.
Get Datasets or elements of Dataset with:
Dataset.listlists available DatasetsDataset.getgets a specified DatasetDataset.updateupdates the Dataset with the latest server information.Dataset.get_detailsgets the DatasetDetails of the Dataset.Dataset.get_all_featuresgets a list of the Dataset’s Features.Dataset.get_filedownloads the Dataset as a csv file.Dataset.get_projectsgets a list of Projects that use the Dataset.
Modify, delete or un-delete a Dataset:
Dataset.modifyChanges the name and categories of the DatasetDataset.deletesoft deletes a Dataset.Dataset.un_deleteun-deletes the Dataset. You cannot retrieve the IDs of deleted Datasets, so if you want to un-delete a Dataset, you need to store its ID before deletion.
You can also create a Project using a
Datasetwith:
It is possible to create an alternative configuration for the secondary dataset which can be used during the prediction
SecondaryDatasetConfigurations.createallow to create secondary dataset configuration
You can now filter the deployments returned by the
Deployment.listcommand. You can do this by passing an instance of theDeploymentListFiltersclass to thefilterskeyword argument. The currently supported filters are:roleservice_healthmodel_healthaccuracy_healthexecution_environment_typemateriality
A new workflow is available for making predictions in time series projects. To that end,
PredictionDatasetobjects now contain the following new fields:forecast_point_range: The start and end date of the range of dates available for use as the forecast point, detected based on the uploaded prediction datasetdata_start_date: A datestring representing the minimum primary date of the prediction datasetdata_end_date: A datestring representing the maximum primary date of the prediction datasetmax_forecast_date: A datestring representing the maximum forecast date of this prediction dataset
Additionally, users no longer need to specify a
forecast_pointorpredictions_start_dateandpredictions_end_datewhen uploading datasets for predictions in time series projects. More information can be found in the :ref:time series predictions<new_pred_ux>documentation.Per-class lift chart data is now available for multiclass models using
Model.get_multiclass_lift_chart.Unsupervised projects can now be created using the
Project.startandProject.set_targetmethods by providingunsupervised_mode=True, provided that the user has access to unsupervised machine learning functionality. Contact support for more information.A new boolean attribute
unsupervised_modewas added todatarobot.DatetimePartitioningSpecification. When it is set to True, datetime partitioning for unsupervised time series projects will be constructed for nowcasting:forecast_window_start=forecast_window_end=0.Users can now configure the start and end of the training partition as well as the end of the validation partition for backtests in a datetime-partitioned project. More information and example usage can be found in the
- ref:
backtesting documentation <backtest_configuration>.
Enhancements
Updated the user agent header to show which python version.
Model.get_frozen_child_modelscan be used to retrieve models that are frozen from a given modelAdded
datarobot.enums.TS_BLENDER_METHODto make it clearer which blender methods are allowed for use in time series projects.
Bugfixes
An issue where uploaded CSV’s would loose quotes during serialization causing issues when columns containing line terminators where loaded in a dataframe, has been fixed
Project.get_association_featurelistsis now using the correct endpoint name, but the old one will continue to workPython API
PredictionServersupports now on-premise format of API response.
2.19.0
New features
Projects can be cloned using
Project.clone_projectCalendars used in time series projects now support having series-specific events, for instance if a holiday only affects some stores. This can be controlled by using new argument of the
CalendarFile.createmethod. If multiseries id columns are not provided, calendar is considered to be single series and all events are applied to all series.We have expanded prediction intervals availability to the following use-cases:
Time series model deployments now support prediction intervals. See
Deployment.get_prediction_intervals_settingsandDeployment.update_prediction_intervals_settingsfor usage.Prediction intervals are now supported for model exports for time series. To that end, a new optional parameter
prediction_intervals_sizehas been added toModel.request_transferable_export <datarobot.models.Model.request_transferable_export>.
More details on prediction intervals can be found in the :ref:
prediction intervals documentation <prediction_intervals>.Allowed pairwise interaction groups can now be specified in
AdvancedOptions. They will be used in GAM models during training.New deployments features:
Update the label and description of a deployment using
Deployment.update.- ref:
Association ID setting<deployment_association_id>can be retrieved and updated.
Regression deployments now support :ref:
prediction warnings<deployment_prediction_warning>.
For multiclass models now it’s possible to get feature impact for each individual target class using
Model.get_multiclass_feature_impactAdded support for new :ref:
Batch Prediction API <batch_predictions>.It is now possible to create and retrieve basic, oauth and s3 credentials with
Credential.It’s now possible to get feature association statuses for featurelists using
Project.get_association_featurelistsYou can also pass a specific featurelist_id into
Project.get_associations
Enhancements
Added documentation to
Project.get_metricsto detail the newascendingfield that indicates how a metric should be sorted.Retraining of a model is processed asynchronously and returns a
ModelJobimmediately.Blender models can be retrained on a different set of data or a different feature list.
Word cloud ngrams now has
variablefield representing the source of the ngram.Method
WordCloud.ngrams_per_classcan be used to split ngrams for better usability in multiclass projects.Method
Project.set_targetsupport new optional parametersfeatureEngineeringGraphsandcredentials.Method
Project.upload_datasetandProject.upload_dataset_from_data_sourcesupport new optional parametercredentials.Series accuracy retrieval methods (
DatetimeModel.get_series_accuracy_as_dataframeandDatetimeModel.download_series_accuracy_as_csv) for multiseries time series projects now support additional parameters for specifying what data to retrieve, including:metric: Which metric to retrieve scores formultiseries_value: Only returns series with a matching multiseries IDorder_by: An attribute by which to sort the results
Bugfixes
An issue when using
Feature.getandModelingFeature.getto retrieve summarized categorical feature has been fixed.
API changes
The datarobot package is now no longer a namespace package.
datarobot.enums.BLENDER_METHOD.FORECAST_DISTANCEis removed (deprecated in 2.18.0).
Documentation changes
Updated :ref:
Residuals charts <residuals_chart>documentation to reflect that the data rows include row numbers from the source dataset for projects created in DataRobot 5.3 and newer.
2.18.0
New features
- ref:
Residuals charts <residuals_chart>can now be retrieved for non-time-aware regression models.
- ref:
Deployment monitoring <deployment_monitoring>can now be used to retrieve service stats, service health, accuracy info, permissions, and feature lists for deployments.
- ref:
Time series <time_series>projects now support the Average by Forecast Distance blender, configured with more than one Forecast Distance. The blender blends the selected models, selecting the best three models based on the backtesting score for each Forecast Distance and averaging their predictions. The new blender methodFORECAST_DISTANCE_AVGhas been added todatarobot.enums.BLENDER_METHOD.
Deployment.submit_actualscan now be used to submit data about actual results from a deployed model, which can be used to calculate accuracy metrics.
Enhancements
Monotonic constraints are now supported for OTV projects. To that end, the parameters
monotonic_increasing_featurelist_idandmonotonic_decreasing_featurelist_idcan be specified in calls toModel.train_datetimeorProject.train_datetime.When
retrieving information about features, information about summarized categorical variables is now available in a newkeySummary.For
Word Cloudsin multiclass projects, values of the target class for corresponding word or ngram can now be passed using the newclassparameter.Listing deployments using
Deployment.listnow support sorting and searching the results using the neworder_byandsearchparameters.You can now get the model associated with a model job by getting the
modelvariable on themodel job object.The
Blueprintclass can now retrieve therecommended_featurelist_id, which indicates which feature list is recommended for this blueprint. If the field is not present, then there is no recommended feature list for this blueprint.The
Modelclass now can be used to retrieve themodel_number.The method
Model.get_supported_capabilitiesnow has an extra fieldsupportsCodeGenerationto explain whether the model supports code generation.Calls to
Project.startandProject.upload_datasetnow support uploading data via S3 URI andpathlib.Pathobjects.Errors upon connecting to DataRobot are now clearer when an incorrect API Token is used.
The datarobot package is now a namespace package.
Deprecation summary
datarobot.enums.BLENDER_METHOD.FORECAST_DISTANCEis deprecated and will be removed in 2.19. UseFORECAST_DISTANCE_ENETinstead.
Documentation changes
Various typo and wording issues have been addressed.
A new notebook showing regression-specific features is now been added to the examples_index.
Documentation for :ref:
Access lists <sharing>has been added.
2.17.0
New features
- ref:
Deployments <deployments_overview>can now be managed via the API by using the newDeploymentclass.
Users can now list available prediction servers using
PredictionServer.list.When
specifying datetime partitioningsettings , :ref:time series <time_series>projects can now mark individual features as excluded from feature derivation using theFeatureSettings.do_not_deriveattribute. Any features not specified will be assigned according to theDatetimePartitioningSpecification.default_to_do_not_derivevalue.Users can now submit multiple feature type transformations in a single batch request using
Project.batch_features_type_transform.- ref:
Advanced Tuning <advanced_tuning>for non-Eureqa models (beta feature) is now enabled by default for all users. As of v2.17, all models are now supported other than blenders, open source, prime, scaleout, baseline and user-created.
Information on feature clustering and the association strength between pairs of numeric or categorical features is now available.
Project.get_associationscan be used to retrieve pairwise feature association statistics andProject.get_association_matrix_detailscan be used to get a sample of the actual values used to measure association strength.
Enhancements
number_of_do_not_derive_featureshas been added to thedatarobot.DatetimePartitioningclass to specify the number of features that are marked as excluded from derivation.Users with PyYAML>=5.1 will no longer receive a warning when using the
datarobotpackageIt is now possible to use files with unicode names for creating projects and prediction jobs.
Users can now embed DataRobot-generated content in a
ComplianceDocTemplateusing keyword tags. :ref:See here <automated_documentation_overview>for more details.The field
calendar_namehas been added todatarobot.DatetimePartitioningto display the name of the calendar used for a project.- ref:
Prediction intervals <prediction_intervals>are now supported for start-end retrained models in a time series project.
Previously, all backtests had to be run before :ref:
prediction intervals <prediction_intervals>for a time series project could be requested with predictions. Now, backtests will be computed automatically if needed when prediction intervals are requested.
Bugfixes
An issue affecting time series project creation for irregularly spaced dates has been fixed.
ComplianceDocTemplatenow supports empty text blocks in user sections.An issue when using
Predictions.getto retrieve predictions metadata has been fixed.
Documentation changes
An overview on working with class
ComplianceDocumentationandComplianceDocTemplatehas been created. :ref:See here <automated_documentation_overview>for more details.
2.16.0
New features
Three new methods for Series Accuracy have been added to the
DatetimeModelclass.Start a request to calculate Series Accuracy with
DatetimeModel.compute_series_accuracyOnce computed, Series Accuracy can be retrieved as a pandas.DataFrame using
DatetimeModel.get_series_accuracy_as_dataframeOr saved as a CSV using
DatetimeModel.download_series_accuracy_as_csv
Users can now access :ref:
prediction intervals <prediction_intervals>data for each prediction with aDatetimeModel. For each model, prediction intervals estimate the range of values DataRobot expects actual values of the target to fall within. They are similar to a confidence interval of a prediction, but are based on the residual errors measured during the backtesting for the selected model.
Enhancements
Information on the effective feature derivation window is now available for :ref:
time series projects <time_series>to specify the full span of historical data required at prediction time. It may be longer than the feature derivation window of the project depending on the differencing settings used.Additionally, more of the project partitioning settings are also available on the
DatetimeModelclass. The new attributes are:effective_feature_derivation_window_starteffective_feature_derivation_window_endforecast_window_startforecast_window_endwindows_basis_unit
Prediction metadata is now included in the return of
Predictions.get
Documentation changes
Various typo and wording issues have been addressed.
The example data that was meant to accompany the Time Series examples has been added to the zip file of the download in the examples_index.
2.15.1
Enhancements
CalendarFile.get_access_listhas been added to theCalendarFileclass to return a list of users with access to a calendar file.A
roleattribute has been added to theCalendarFileclass to indicate the access level a current user has to a calendar file. For more information on the specific access levels, see the :ref:sharing <sharing>documentation.
Bugfixes
Previously, attempting to retrieve the
calendar_idof a project without a set target would result in an error. This has been fixed to returnNoneinstead.
2.15.0
New features
Previously available for only Eureqa models, Advanced Tuning methods and objects, including
Model.start_advanced_tuning_session,Model.get_advanced_tuning_parameters,Model.advanced_tune, andAdvancedTuningSession, now support all models other than blender, open source, and user-created models. Use of Advanced Tuning via API for non-Eureqa models is in beta and not available by default, but can be enabled.Calendar Files for time series projects can now be created and managed through the
CalendarFileclass.
Enhancements
The dataframe returned from
datarobot.PredictionExplanations.get_all_as_dataframe()will now have each class labelclass_Xbe the same from row to row.The client is now more robust to networking issues by default. It will retry on more errors and respects
Retry-Afterheaders in HTTP 413, 429, and 503 responses.Added Forecast Distance blender for Time-Series projects configured with more than one Forecast Distance. It blends the selected models creating separate linear models for each Forecast Distance.
Projectcan now be :ref:shared <sharing>with other users.Project.upload_datasetandProject.upload_dataset_from_data_sourcewill return aPredictionDatasetwithdata_quality_warningsif potential problems exist around the uploaded dataset.relax_known_in_advance_features_checkhas been added toProject.upload_datasetandProject.upload_dataset_from_data_sourceto allow missing values from the known in advance features in the forecast window at prediction time.cross_series_group_by_columnshas been added todatarobot.DatetimePartitioningto allow users the ability to indicate how to further split series into related groups.Information retrieval for
ROC Curvehas been extended to includefraction_predicted_as_positive,fraction_predicted_as_negative,lift_positiveandlift_negative
Bugfixes
Fixes an issue where the client would not be usable if it could not be sure it was compatible with the configured server
API changes
Methods for creating
datarobot.models.Project:create_from_mysql,create_from_oracle, andcreate_from_postgresql, deprecated in 2.11, have now been removed. Usedatarobot.models.Project.create_from_data_source()instead.datarobot.FeatureSettingsattributeapriori, deprecated in 2.11, has been removed. Usedatarobot.FeatureSettings.known_in_advanceinstead.datarobot.DatetimePartitioningattributedefault_to_a_priori, deprecated in 2.11, has been removed. Usedatarobot.DatetimePartitioning.known_in_advanceinstead.datarobot.DatetimePartitioningSpecificationattributedefault_to_a_priori, deprecated in 2.11, has been removed. Usedatarobot.DatetimePartitioningSpecification.known_in_advanceinstead.
Configuration changes
Documentation changes
Advanced model insights notebook extended to contain information on visualization of cumulative gains and lift charts.
2.14.2
Bugfixes
Fixed an issue where searches of the HTML documentation would sometimes hang indefinitely
Documentation changes
Python3 is now the primary interpreter used to build the docs (this does not affect the ability to use the package with Python2)
2.14.1
Documentation changes
Documentation for the Model Deployment interface has been removed after the corresponding interface was removed in 2.13.0.
2.14.0
New features
The new method
Model.get_supported_capabilitiesretrieves a summary of the capabilities supported by a particular model, such as whether it is eligible for Prime and whether it has word cloud data available.New class for working with model compliance documentation feature of DataRobot: class
ComplianceDocumentationNew class for working with compliance documentation templates:
ComplianceDocTemplateNew class
FeatureHistogramhas been added to retrieve feature histograms for a requested maximum bin countTime series projects now support binary classification targets.
Cross series features can now be created within time series multiseries projects using the
use_cross_series_featuresandaggregation_typeattributes of thedatarobot.DatetimePartitioningSpecification. See the :ref:Time Series <time_series>documentation for more info.
Enhancements
Client instantiation now checks the endpoint configuration and provides more informative error messages. It also automatically corrects HTTP to HTTPS if the server responds with a redirect to HTTPS.
Project.upload_datasetandProject.createnow accept an optional parameter ofdataset_filenameto specify a file name for the dataset. This is ignored for url and file path sources.New optional parameter
fallback_to_parent_insightshas been added toModel.get_lift_chart,Model.get_all_lift_charts,Model.get_confusion_chart,Model.get_all_confusion_charts,Model.get_roc_curve, andModel.get_all_roc_curves. WhenTrue, a frozen model with missing insights will attempt to retrieve the missing insight data from its parent model.New
number_of_known_in_advance_featuresattribute has been added to thedatarobot.DatetimePartitioningclass. The attribute specifies number of features that are marked as known in advance.Project.set_worker_countcan now update the worker count on a project to the maximum number available to the user.- ref:
Recommended Models API <recommended_models>can now be used to retrieve model recommendations for datetime partitioned projects
Timeseries projects can now accept feature derivation and forecast windows intervals in terms of number of the rows rather than a fixed time unit.
DatetimePartitioningSpecificationandProject.set_targetsupport new optional parameterwindowsBasisUnit, either ‘ROW’ or detected time unit.Timeseries projects can now accept feature derivation intervals, forecast windows, forecast points and prediction start/end dates in milliseconds.
DataSourcesandDataStorescan now be :ref:shared <sharing>with other users.Training predictions for datetime partitioned projects now support the new data subset
dr.enums.DATA_SUBSET.ALL_BACKTESTSfor requesting the predictions for all backtest validation folds.
API changes
The model recommendation type “Recommended” (deprecated in version 2.13.0) has been removed.
Documentation changes
- Example notebooks have been updated:
Notebooks now work in Python 2 and Python 3
A notebook illustrating time series capability has been added
The financial data example has been replaced with an updated introductory example.
To supplement the embedded Python notebooks in both the PDF and HTML docs bundles, the notebook files and supporting data can now be downloaded from the HTML docs bundle.
Fixed a minor typo in the code sample for
get_or_request_feature_impact
2.13.0
New features
The new method
Model.get_or_request_feature_impactfunctionality will attempt to request feature impact and return the newly created feature impact object or the existing object so two calls are no longer required.New methods and objects, including
Model.start_advanced_tuning_session,Model.get_advanced_tuning_parameters,Model.advanced_tune, andAdvancedTuningSession, were added to support the setting of Advanced Tuning parameters. This is currently supported for Eureqa models only.New
is_starredattribute has been added to theModelclass. The attribute specifies whether a model has been marked as starred by user or not.Model can be marked as starred or being unstarred with
Model.star_modelandModel.unstar_model.When listing models with
Project.get_models, the model list can now be filtered by theis_starredvalue.A custom prediction threshold may now be configured for each model via
Model.set_prediction_threshold. When making predictions in binary classification projects, this value will be used when deciding between the positive and negative classes.Project.check_blendablecan be used to confirm if a particular group of models are eligible for blending as some are not, e.g. scaleout models and datetime models with different training lengths.Individual cross validation scores can be retrieved for new models using
Model.get_cross_validation_scores.
Enhancements
Python 3.7 is now supported.
Feature impact now returns not only the impact score for the features but also whether they were detected to be redundant with other high-impact features.
A new
is_blockedattribute has been added to theJobclass, specifying whether a job is blocked from execution because one or more dependencies are not yet met.The
Featurelistobject now has new attributes reporting its creation time, whether it was created by a user or by DataRobot, and the number of models using the featurelist, as well as a new description field.Featurelists can now be renamed and have their descriptions updated with
Featurelist.updateandModelingFeaturelist.update.Featurelists can now be deleted with
Featurelist.deleteandModelingFeaturelist.delete.ModelRecommendation.getnow accepts an optional parameter of typedatarobot.enums.RECOMMENDED_MODEL_TYPEwhich can be used to get a specific kind of recommendation.Previously computed predictions can now be listed and retrieved with the
Predictionsclass, without requiring a reference to the originalPredictJob.
Bugfixes
The Model Deployment interface which was previously visible in the client has been removed to allow the interface to mature, although the raw API is available as a “beta” API without full backwards compatibility support.
API changes
Added support for retrieving the Pareto Front of a Eureqa model. See
ParetoFront.A new recommendation type “Recommended for Deployment” has been added to
ModelRecommendationwhich is now returns as the default recommended model when available. See :ref:model_recommendation.
Deprecation summary
The feature previously referred to as “Reason Codes” has been renamed to “Prediction Explanations”, to provide increased clarity and accessibility. The old ReasonCodes interface has been deprecated and replaced with
PredictionExplanations.The recommendation type “Recommended” is deprecated and will no longer be returned in v2.14 of the API.
Documentation changes
Added a new documentation section :ref:
model_recommendation.Time series projects support multiseries as well as single series data. They are now documented in the :ref:
Time Series Projects <time_series>documentation.
2.12.0
New features
Some models now have Missing Value reports allowing users with access to uncensored blueprints to retrieve a detailed breakdown of how numeric imputation and categorical converter tasks handled missing values. See the :ref:
documentation <missing_values_report>for more information on the report.
2.11.0
New features
The new
ModelRecommendationclass can be used to retrieve the recommended models for a project.A new helper method cross_validate was added to class Model. This method can be used to request Model’s Cross Validation score.
Training a model with monotonic constraints is now supported. Training with monotonic constraints allows users to force models to learn monotonic relationships with respect to some features and the target. This helps users create accurate models that comply with regulations (e.g. insurance, banking). Currently, only certain blueprints (e.g. xgboost) support this feature, and it is only supported for regression and binary classification projects.
DataRobot now supports “Database Connectivity”, allowing databases to be used as the source of data for projects and prediction datasets. The feature works on top of the JDBC standard, so a variety of databases conforming to that standard are available; a list of databases with tested support for DataRobot is available in the user guide in the web application. See :ref:
Database Connectivity <database_connectivity_overview>for details.Added a new feature to retrieve feature logs for time series projects. Check
datarobot.DatetimePartitioning.feature_log_list()anddatarobot.DatetimePartitioning.feature_log_retrieve()for details.
API changes
New attributes supporting monotonic constraints have been added to the
AdvancedOptions,Project,Model, andBlueprintclasses. See :ref:monotonic constraints<monotonic_constraints>for more information on how to configure monotonic constraints.New parameters
predictions_start_dateandpredictions_end_dateadded toProject.upload_datasetto support bulk predictions upload for time series projects.
Deprecation summary
Methods for creating
datarobot.models.Project:create_from_mysql,create_from_oracle, andcreate_from_postgresql, have been deprecated and will be removed in 2.14. Usedatarobot.models.Project.create_from_data_source()instead.datarobot.FeatureSettingsattributeapriori, has been deprecated and will be removed in 2.14. Usedatarobot.FeatureSettings.known_in_advanceinstead.datarobot.DatetimePartitioningattributedefault_to_a_priori, has been deprecated and will be removed in 2.14.datarobot.DatetimePartitioning.known_in_advanceinstead.datarobot.DatetimePartitioningSpecificationattributedefault_to_a_priori, has been deprecated and will be removed in 2.14. Usedatarobot.DatetimePartitioningSpecification.known_in_advanceinstead.
Configuration changes
Retry settings compatible with those offered by urllib3’s Retry interface can now be configured. By default, we will now retry connection errors that prevented requests from arriving at the server.
Documentation changes
“Advanced Model Insights” example has been updated to properly handle bin weights when rebinning.
2.9.0
New features
New
ModelDeploymentclass can be used to track status and health of models deployed for predictions.
Enhancements
DataRobot API now supports creating 3 new blender types - Random Forest, TensorFlow, LightGBM.
Multiclass projects now support blenders creation for 3 new blender types as well as Average and ENET blenders.
Models can be trained by requesting a particular row count using the new
training_row_countargument withProject.train,Model.trainandModel.request_frozen_modelin non-datetime partitioned projects, as an alternative to the previous option of specifying a desired percentage of the project dataset. Specifying model size by row count is recommended when the float precision ofsample_pctcould be problematic, e.g. when training on a small percentage of the dataset or when training up to partition boundaries.New attributes
max_train_rows,scaleout_max_train_pct, andscaleout_max_train_rowshave been added toProject.max_train_rowsspecified the equivalent value to the existingmax_train_pctas a row count. The scaleout fields can be used to see how far scaleout models can be trained on projects, which for projects taking advantage of scalable ingest may exceed the limits on the data available to non-scaleout blueprints.Individual features can now be marked as a priori or not a priori using the new
feature_settingsattribute when setting the target or specifying datetime partitioning settings on time series projects. Any features not specified in thefeature_settingsparameter will be assigned according to thedefault_to_a_priorivalue.Three new options have been made available in the
datarobot.DatetimePartitioningSpecificationclass to fine-tune how time-series projects derive modeling features.treat_as_exponentialcan control whether data is analyzed as an exponential trend and transformations like log-transform are applied.differencing_methodcan control which differencing method to use for stationary data.periodicitiescan be used to specify periodicities occurring within the data. All are optional and defaults will be chosen automatically if they are unspecified.
API changes
Now
training_row_countis available on non-datetime models as well asrowCountbased datetime models. It reports the number of rows used to train the model (equivalent tosample_pct).Features retrieved from
Feature.getnow includetarget_leakage.
2.8.1
Bugfixes
The documented default connect_timeout will now be correctly set for all configuration mechanisms, so that requests that fail to reach the DataRobot server in a reasonable amount of time will now error instead of hanging indefinitely. If you observe that you have started seeing
ConnectTimeouterrors, please configure your connect_timeout to a larger value.Version of
trafaretlibrary this package depends on is now pinned totrafaret>=0.7,<1.1since versions outside that range are known to be incompatible.
2.8.0
New features
The DataRobot API supports the creation, training, and predicting of multiclass classification projects. DataRobot, by default, handles a dataset with a numeric target column as regression. If your data has a numeric cardinality of fewer than 11 classes, you can override this behavior to instead create a multiclass classification project from the data. To do so, use the set_target function, setting target_type=‘Multiclass’. If DataRobot recognizes your data as categorical, and it has fewer than 11 classes, using multiclass will create a project that classifies which label the data belongs to.
The DataRobot API now includes Rating Tables. A rating table is an exportable csv representation of a model. Users can influence predictions by modifying them and creating a new model with the modified table. See the :ref:
documentation<rating_table>for more information on how to use rating tables.scaleout_modeling_modehas been added to theAdvancedOptionsclass used when setting a project target. It can be used to control whether scaleout models appear in the autopilot and/or available blueprints. Scaleout models are only supported in the Hadoop environment with the corresponding user permission set.A new premium add-on product, Time Series, is now available. New projects can be created as time series projects which automatically derive features from past data and forecast the future. See the
- ref:
time series documentation<time_series>for more information.
The
Featureobject now returns the EDA summary statistics (i.e., mean, median, minimum, maximum, and standard deviation) for features where this is available (e.g., numeric, date, time, currency, and length features). These summary statistics will be formatted in the same format as the data it summarizes.The DataRobot API now supports Training Predictions workflow. Training predictions are made by a model for a subset of data from original dataset. User can start a job which will make those predictions and retrieve them. See the :ref:
documentation<predictions>for more information on how to use training predictions.DataRobot now supports retrieving a :ref:
model blueprint chart<model_blueprint_chart>and a- ref:
model blueprint docs<model_blueprint_doc>.
With the introduction of Multiclass Classification projects, DataRobot needed a better way to explain the performance of a multiclass model so we created a new Confusion Chart. The API now supports retrieving and interacting with confusion charts.
Enhancements
DatetimePartitioningSpecificationnow includes the optionaldisable_holdoutflag that can be used to disable the holdout fold when creating a project with datetime partitioning.When retrieving reason codes on a project using an exposure column, predictions that are adjusted for exposure can be retrieved.
File URIs can now be used as sourcedata when creating a project or uploading a prediction dataset. The file URI must refer to an allowed location on the server, which is configured as described in the user guide documentation.
The advanced options available when setting the target have been extended to include the new parameter ‘events_count’ as a part of the AdvancedOptions object to allow specifying the events count column. See the user guide documentation in the webapp for more information on events count.
PredictJob.get_predictions now returns predicted probability for each class in the dataframe.
PredictJob.get_predictions now accepts prefix parameter to prefix the classes name returned in the predictions dataframe.
API changes
Add
target_typeparameter to set_target() and start(), used to override the project default.
2.7.2
Documentation changes
Updated link to the publicly hosted documentation.
2.7.1
Documentation changes
Online documentation hosting has migrated from PythonHosted to Read The Docs. Minor code changes have been made to support this.
2.7.0
New features
Lift chart data for models can be retrieved using the
Model.get_lift_chartandModel.get_all_lift_chartsmethods.ROC curve data for models in classification projects can be retrieved using the
Model.get_roc_curveandModel.get_all_roc_curvesmethods.Semi-automatic autopilot mode is removed.
Word cloud data for text processing models can be retrieved using
Model.get_word_cloudmethod.Scoring code JAR file can be downloaded for models supporting code generation.
Enhancements
A
__repr__method has been added to thePredictionDatasetclass to improve readability when using the client interactively.Model.get_parametersnow includes an additional key in the derived features it includes, showing the coefficients for individual stages of multistage models (e.g. Frequency-Severity models).When training a
DatetimeModelon a window of data, atime_window_sample_pctcan be specified to take a uniform random sample of the training data instead of using all data within the window.Installing of DataRobot package now has an “Extra Requirements” section that will install all of the dependencies needed to run the example notebooks.
Documentation changes
A new example notebook describing how to visualize some of the newly available model insights including lift charts, ROC curves, and word clouds has been added to the examples section.
A new section for
Common Issueshas been added toGetting Startedto help debug issues related to client installation and usage.
2.6.1
Bugfixes
Fixed a bug with
Model.get_parametersraising an exception on some valid parameter values.
Documentation changes
Fixed sorting order in Feature Impact example code snippet.
2.6.0
New features
A new partitioning method (datetime partitioning) has been added. The recommended workflow is to preview the partitioning by creating a
DatetimePartitioningSpecificationand passing it intoDatetimePartitioning.generate, inspect the results and adjust as needed for the specific project dataset by adjusting theDatetimePartitioningSpecificationand re-generating, and then set the target by passing the finalDatetimePartitioningSpecificationobject to the partitioning_method parameter ofProject.set_target.When interacting with datetime partitioned projects,
DatetimeModelcan be used to access more information specific to models in datetime partitioned projects. See- ref:
the documentation<datetime_modeling_workflow>for more information on differences in the modeling workflow for datetime partitioned projects.
The advanced options available when setting the target have been extended to include the new parameters ‘offset’ and ‘exposure’ (part of the AdvancedOptions object) to allow specifying offset and exposure columns to apply to predictions generated by models within the project. See the user guide documentation in the webapp for more information on offset and exposure columns.
Blueprints can now be retrieved directly by project_id and blueprint_id via
Blueprint.get.Blueprint charts can now be retrieved directly by project_id and blueprint_id via
BlueprintChart.get. If you already have an instance ofBlueprintyou can retrieve its chart usingBlueprint.get_chart.Model parameters can now be retrieved using
ModelParameters.get. If you already have an instance ofModelyou can retrieve its parameters usingModel.get_parameters.Blueprint documentation can now be retrieved using
Blueprint.get_documents. It will contain information about the task, its parameters and (when available) links and references to additional sources.The DataRobot API now includes Reason Codes. You can now compute reason codes for prediction datasets. You are able to specify thresholds on which rows to compute reason codes for to speed up computation by skipping rows based on the predictions they generate. See the reason codes
- ref:
documentation<reason_codes>for more information.
Enhancements
A new parameter has been added to the
AdvancedOptionsused withProject.set_target. By specifyingaccuracyOptimizedMb=Truewhen creatingAdvancedOptions, longer-running models that may have a high accuracy will be included in the autopilot and made available to run manually.A new option for
Project.create_type_transform_featurehas been added which explicitly truncates data when casting numerical data as categorical data.Added 2 new blenders for projects that use MAD or Weighted MAD as a metric. The MAE blender uses BFGS optimization to find linear weights for the blender that minimize mean absolute error (compared to the GLM blender, which finds linear weights that minimize RMSE), and the MAEL1 blender uses BFGS optimization to find linear weights that minimize MAE + a L1 penalty on the coefficients (compared to the ENET blender, which minimizes RMSE + a combination of the L1 and L2 penalty on the coefficients).
Bugfixes
Fixed a bug (affecting Python 2 only) with printing any model (including frozen and prime models) whose model_type is not ascii.
FrozenModels were unable to correctly use methods inherited from Model. This has been fixed.
When calling
get_resultfor a Job, ModelJob, or PredictJob that has errored,AsyncProcessUnsuccessfulErrorwill now be raised instead ofJobNotFinished, consistently with the behavior ofget_result_when_complete.
Deprecation summary
Support for the experimental Recommender Problems projects has been removed. Any code relying on
RecommenderSettingsor therecommender_settingsargument ofProject.set_targetandProject.startwill error.Project.update, deprecated in v2.2.32, has been removed in favor of specific updates:rename,unlock_holdout,set_worker_count.
Documentation changes
The link to Configuration from the Quickstart page has been fixed.
2.5.1
Bugfixes
Fixed a bug (affecting Python 2 only) with printing blueprints whose names are not ascii.
Fixed an issue where the weights column (for weighted projects) did not appear in the
advanced_optionsof aProject.
2.5.0
New features
Methods to work with blender models have been added. Use
Project.blendmethod to create new blenders,Project.get_blendersto get the list of existing blenders andBlenderModel.getto retrieve a model with blender-specific information.Projects created via the API can now use smart downsampling when setting the target by passing
smart_downsampledandmajority_downsampling_rateinto theAdvancedOptionsobject used withProject.set_target. The smart sampling options used with an existing project will be available as part ofProject.advanced_options.Support for frozen models, which use tuning parameters from a parent model for more efficient training, has been added. Use
Model.request_frozen_modelto create a new frozen model,Project.get_frozen_modelsto get the list of existing frozen models andFrozenModel.getto retrieve a particular frozen model.
Enhancements
The inferred date format (e.g. “%Y-%m-%d %H:%M:%S”) is now included in the Feature object. For non-date features, it will be None.
When specifying the API endpoint in the configuration, the client will now behave correctly for endpoints with and without trailing slashes.
2.4.0
New features
The premium add-on product
DataRobot Primehas been added. You can now approximate a model on the leaderboard and download executable code for it. See documentation for further details, or talk to your account representative if the feature is not available on your account.(Only relevant for on-premise users with a Standalone Scoring cluster.) Methods (
request_transferable_exportanddownload_export) have been added to theModelclass for exporting models (which will only work if model export is turned on). There is a new classImportedModelfor managing imported models on a Standalone Scoring cluster.It is now possible to create projects from a WebHDFS, PostgreSQL, Oracle or MySQL data source. For more information see the documentation for the relevant
Projectclassmethods:create_from_hdfs,create_from_postgresql,create_from_oracleandcreate_from_mysql.Job.wait_for_completion, which waits for a job to complete without returning anything, has been added.
Enhancements
The client will now check the API version offered by the server specified in configuration, and give a warning if the client version is newer than the server version. The DataRobot server is always backwards compatible with old clients, but new clients may have functionality that is not implemented on older server versions. This issue mainly affects users with on-premise deployments of DataRobot.
Bugfixes
Fixed an issue where
Model.request_predictionsmight raise an error when predictions finished very quickly instead of returning the job.
API changes
To set the target with quickrun autopilot, call
Project.set_targetwithmode=AUTOPILOT_MODE.QUICKinstead of specifyingquickrun=True.
Deprecation summary
Semi-automatic mode for autopilot has been deprecated and will be removed in 3.0. Use manual or fully automatic instead.
Use of the
quickrunargument inProject.set_targethas been deprecated and will be removed in 3.0. Usemode=AUTOPILOT_MODE.QUICKinstead.
Configuration changes
It is now possible to control the SSL certificate verification by setting the parameter
ssl_verifyin the config file.
Documentation changes
The “Modeling Airline Delay” example notebook has been updated to work with the new 2.3 enhancements.
Documentation for the generic
Jobclass has been added.Class attributes are now documented in the
API Referencesection of the documentation.The changelog now appears in the documentation.
There is a new section dedicated to configuration, which lists all of the configuration options and their meanings.
2.3.0
New features
The DataRobot API now includes Feature Impact, an approach to measuring the relevance of each feature that can be applied to any model. The
Modelclass now includes methodsrequest_feature_impact(which creates and returns a feature impact job) andget_feature_impact(which can retrieve completed feature impact results).A new improved workflow for predictions now supports first uploading a dataset via
Project.upload_dataset, then requesting predictions viaModel.request_predictions. This allows us to better support predictions on larger datasets and non-ascii files.Datasets previously uploaded for predictions (represented by the
PredictionDatasetclass) can be listed fromProject.get_datasetsand retrieve and deleted viaPredictionDataset.getandPredictionDataset.delete.You can now create a new feature by re-interpreting the type of an existing feature in a project by using the
Project.create_type_transform_featuremethod.The
Jobclass now includes agetmethod for retrieving a job and acancelmethod for canceling a job.All of the jobs classes (
Job,ModelJob,PredictJob) now include the following new methods:refresh(for refreshing the data in the job object),get_result(for getting the completed resource resulting from the job), andget_result_when_complete(which waits until the job is complete and returns the results, or times out).A new method
Project.refreshcan be used to updateProjectobjects with the latest state from the server.A new function
datarobot.async.wait_for_async_resolutioncan be used to poll for the resolution of any generic asynchronous operation on the server.
Enhancements
The
JOB_TYPEenum now includesFEATURE_IMPACT.The
QUEUE_STATUSenum now includesABORTEDandCOMPLETED.The
Project.createmethod now has aread_timeoutparameter which can be used to keep open the connection to DataRobot while an uploaded file is being processed. For very large files this time can be substantial. Appropriately raising this value can help avoid timeouts when uploading large files.The method
Project.wait_for_autopilothas been enhanced to error if the project enters a state where autopilot may not finish. This avoids a situation that existed previously where users could wait indefinitely on their project that was not going to finish. However, users are still responsible to make sure a project has more than zero workers, and that the queue is not paused.Feature.get now supports retrieving features by feature name. (For backwards compatibility, feature IDs are still supported until 3.0.)
File paths that have unicode directory names can now be used for creating projects and PredictJobs. The filename itself must still be ascii, but containing directory names can have other encodings.
Now raises more specific JobAlreadyRequested exception when we refuse a model fitting request as a duplicate. Users can explicitly catch this exception if they want it to be ignored.
A
file_nameattribute has been added to theProjectclass, identifying the file name associated with the original project dataset. Note that if the project was created from a data frame, the file name may not be helpful.The connect timeout for establishing a connection to the server can now be set directly. This can be done in the yaml configuration of the client, or directly in the code. The default timeout has been lowered from 60 seconds to 6 seconds, which will make detecting a bad connection happen much quicker.
Bugfixes
Fixed a bug (affecting Python 2 only) with printing features and featurelists whose names are not ascii.
API changes
Job class hierarchy is rearranged to better express the relationship between these objects. See documentation for
datarobot.models.jobfor details.Featurelistobjects now have aproject_idattribute to indicate which project they belong to. Directly accessing theprojectattribute of aFeaturelistobject is now deprecatedSupport INI-style configuration, which was deprecated in v2.1, has been removed. yaml is the only supported configuration format.
The method
Project.get_jobsmethod, which was deprecated in v2.1, has been removed. Users should use theProject.get_model_jobsmethod instead to get the list of model jobs.
Deprecation summary
PredictJob.createhas been deprecated in favor of the alternate workflow usingModel.request_predictions.Feature.converter (used internally for object construction) has been made private.
- Model.fetch_resource_data has been deprecated and will be removed in 3.0. To fetch a model from
its ID, use Model.get.
The ability to use Feature.get with feature IDs (rather than names) is deprecated and will be removed in 3.0.
Instantiating a
Project,Model,Blueprint,Featurelist, orFeatureinstance from adictof data is now deprecated. Please use thefrom_dataclassmethod of these classes instead. Additionally, instantiating aModelfrom a tuple or by using the keyword argumentdatais also deprecated.Use of the attribute
Featurelist.projectis now deprecated. You can use theproject_idattribute of aFeaturelistto instantiate aProjectinstance usingProject.get.Use of the attributes
Model.project,Model.blueprint, andModel.featurelistare all deprecated now to avoid use of partially instantiated objects. Please use the ids of these objects instead.Using a
Projectinstance as an argument inFeaturelist.getis now deprecated. Please use a project_id instead. Similarly, using aProjectinstance inModel.getis also deprecated, and a project_id should be used in its place.
Configuration changes
Previously it was possible (though unintended) that the client configuration could be mixed through environment variables, configuration files, and arguments to
datarobot.Client. This logic is now simpler - please see theGetting Startedsection of the documentation for more information.
2.2.33
Bugfixes
Fixed a bug with non-ascii project names using the package with Python 2.
Fixed an error that occurred when printing projects that had been constructed from an ID only or printing printing models that had been constructed from a tuple (which impacted printing PredictJobs).
Fixed a bug with project creation from non-ascii file names. Project creation from non-ascii file names is not supported, so this now raises a more informative exception. The project name is no longer used as the file name in cases where we do not have a file name, which prevents non-ascii project names from causing problems in those circumstances.
Fixed a bug (affecting Python 2 only) with printing projects, features, and featurelists whose names are not ascii.
2.2.32
New features
Project.get_featuresandFeature.getmethods have been added for feature retrieval.A generic
Jobentity has been added for use in retrieving the entire queue at once. CallingProject.get_all_jobswill retrieve all (appropriately filtered) jobs from the queue. Those can be cancelled directly as generic jobs, or transformed into instances of the specific job class usingModelJob.from_jobandPredictJob.from_job, which allow all functionality previously available via the ModelJob and PredictJob interfaces.Model.trainnow supportsfeaturelist_idandscoring_typeparameters, similar toProject.train.
Enhancements
Deprecation warning filters have been updated. By default, a filter will be added ensuring that usage of deprecated features will display a warning once per new usage location. In order to hide deprecation warnings, a filter like
warnings.filterwarnings('ignore', category=DataRobotDeprecationWarning)can be added to a script so no such warnings are shown. Watching for deprecation warnings to avoid reliance on deprecated features is recommended.If your client is misconfigured and does not specify an endpoint, the cloud production server is no longer used as the default as in many cases this is not the correct default.
This changelog is now included in the distributable of the client.
Bugfixes
Fixed an issue where updating the global client would not affect existing objects with cached clients. Now the global client is used for every API call.
An issue where mistyping a filepath for use in a file upload has been resolved. Now an error will be raised if it looks like the raw string content for modeling or predictions is just one single line.
API changes
Use of username and password to authenticate is no longer supported - use an API token instead.
Usage of
start_timeandfinish_timeparameters inProject.get_modelsis not supported both in filtering and ordering of modelsDefault value of
sample_pctparameter ofModel.trainmethod is nowNoneinstead of100. If the default value is used, models will be trained with all of the available training data based on project configuration, rather than with entire dataset including holdout for the previous default value of100.order_byparameter ofProject.listwhich was deprecated in v2.0 has been removed.recommendation_settingsparameter ofProject.startwhich was deprecated in v0.2 has been removed.Project.statusmethod which was deprecated in v0.2 has been removed.Project.wait_for_aim_stagemethod which was deprecated in v0.2 has been removed.Delay,ConstantDelay,NoDelay,ExponentialBackoffDelay,RetryManagerclasses fromretrymodule which were deprecated in v2.1 were removed.Package renamed to
datarobot.
Deprecation summary
Project.updatedeprecated in favor of specific updates:rename,unlock_holdout,set_worker_count.
Documentation changes
A new use case involving financial data has been added to the
examplesdirectory.Added documentation for the partition methods.
2.1.31
Bugfixes
In Python 2, using a unicode token to instantiate the client will now work correctly.
2.1.30
Bugfixes
The minimum required version of
trafarethas been upgraded to 0.7.1 to get around an incompatibility between it andsetuptools.
2.1.29
Enhancements
Minimal used version of
requests_toolbeltpackage changed from 0.4 to 0.6
2.1.28
New features
Default to reading YAML config file from
~/.config/datarobot/drconfig.yamlAllow
config_pathargument to clientwait_for_autopilotmethod added to Project. This method can be used to block execution until autopilot has finished running on the project.Support for specifying which featurelist to use with initial autopilot in
Project.set_targetProject.get_predict_jobsmethod has been added, which looks up all prediction jobs for a projectProject.start_autopilotmethod has been added, which starts autopilot on specified featurelistThe schema for
PredictJobin DataRobot API v2.1 now includes amessage. This attribute has been added to the PredictJob class.PredictJob.cancelnow exists to cancel prediction jobs, mirroringModelJob.cancelProject.from_asyncis a new classmethod that can be used to wait for an async resolution in project creation. Most users will not need to know about it as it is used behind the scenes inProject.createandProject.set_target, but power users who may run into periodic connection errors will be able to catch the new ProjectAsyncFailureError and decide if they would like to resume waiting for async process to resolve
Enhancements
AUTOPILOT_MODEenum now uses string names for autopilot modes instead of numbers
Deprecation summary
ConstantDelay,NoDelay,ExponentialBackoffDelay, andRetryManagerutils are now deprecatedINI-style config files are now deprecated (in favor of YAML config files)
Several functions in the
utilssubmodule are now deprecated (they are being moved elsewhere and are not considered part of the public interface)Project.get_jobshas been renamedProject.get_model_jobsfor clarity and deprecatedSupport for the experimental date partitioning has been removed in DataRobot API, so it is being removed from the client immediately.
API changes
In several places where
AppPlatformErrorwas being raised, nowTypeError,ValueErrororInputNotUnderstoodErrorare now used. With this change, one can now safely assume that when catching anAppPlatformErrorit is because of an unexpected response from the server.AppPlatformErrorhas gained a two new attributes,status_codewhich is the HTTP status code of the unexpected response from the server, anderror_codewhich is a DataRobot-defined error code.error_codeis not used by any routes in DataRobot API 2.1, but will be in the future. In cases where it is not provided, the instance ofAppPlatformErrorwill have the attributeerror_codeset toNone.Two new subclasses of
AppPlatformErrorhave been introduced,ClientError(for 400-level response status codes) andServerError(for 500-level response status codes). These will make it easier to build automated tooling that can recover from periodic connection issues while polling.If a
ClientErrororServerErroroccurs during a call toProject.from_async, then aProjectAsyncFailureError(a subclass of AsyncFailureError) will be raised. That exception will have the status_code of the unexpected response from the server, and the location that was being polled to wait for the asynchronous process to resolve.
2.0.27
New features
PredictJobclass was added to work with prediction jobswait_for_async_predictionsfunction added topredict_jobmodule
Deprecation summary
The
order_byparameter of theProject.listis now deprecated.
0.2.26
Enhancements
Projet.set_targetwill re-fetch the project data after it succeeds, keeping the client side in sync with the state of the project on the serverProject.create_featurelistnow throwsDuplicateFeaturesErrorexception if passed list of features contains duplicatesProject.get_modelsnow supports snake_case arguments to its order_by keyword
Deprecation summary
Project.wait_for_aim_stageis now deprecated, as the REST Async flow is a more reliable method of determining that project creation has completed successfullyProject.statusis deprecated in favor ofProject.get_statusrecommendation_settingsparameter ofProject.startis deprecated in favor ofrecommender_settings
Bugfixes
Project.wait_for_aim_stagechanged to support Python 3Fixed incorrect value of
SCORING_TYPE.cross_validationModels returned by
Project.get_modelswill now be correctly ordered when the order_by keyword is used
0.2.25
Pinned versions of required libraries
0.2.24
Official release of v0.2
0.1.24
Updated documentation
Renamed parameter
nameofProject.createandProject.starttoproject_nameRemoved
Model.predictmethodwait_for_async_model_creationfunction added tomodeljobmodulewait_for_async_status_serviceofProjectclass renamed to_wait_for_async_status_serviceCan now use auth_token in config file to configure API Client
0.1.23
Fixes a method that pointed to a removed route
0.1.22
Added
featurelist_idattribute toModelJobclass
0.1.21
Removes
modelattribute fromModelJobclass
0.1.20
Project creation raises
AsyncProjectCreationErrorif it was unsuccessfulRemoved
Model.list_prime_rulesetsandModel.get_prime_rulesetmethodsRemoved
Model.predict_batchmethodRemoved
Project.create_prime_modelmethodRemoved
PrimeRuleSetmodelAdds backwards compatibility bridge for ModelJob async
Adds ModelJob.get and ModelJob.get_model
0.1.19
Minor bugfixes in
wait_for_async_status_service
0.1.18
Removes
submit_modelfrom Project until server-side implementation is improvedSwitches training URLs for new resource-based route at /projects/<project_id>/models/
Job renamed to ModelJob, and using modelJobs route
Fixes an inconsistency in argument order for
trainmethods
0.1.17
wait_for_async_status_servicetimeout increased from 60s to 600s
0.1.16
Project.createwill now handle both async/sync project creation
0.1.15
All routes pluralized to sync with changes in API
Project.get_jobswill request all jobs when no param specifieddataframes from
predictmethod will have pythonic namesProject.get_statuscreated,Project.statusnow deprecatedProject.unlock_holdoutcreated.Added
quickrunparameter toProject.set_targetAdded
modelCategoryto Model schemaAdd
permalinksfeature to Project and Model objects.Project.create_prime_modelcreated
0.1.14
Project.set_worker_countfix for compatibility with API change in project update.
0.1.13
Add positive class to
set_target.- Change attributes names of
Project,Model,JobandBlueprint featuresinModel,JobandBlueprintare nowprocessesdataset_idanddataset_namemigrated tofeaturelist_idandfeaturelist_name.samplepct->sample_pct
- Change attributes names of
Modelhas nowblueprint,project, andfeaturlistattributes.Minor bugfixes.
0.1.12
Minor fixes regarding rename
Jobattributes.featuresattributes now namedprocesses,samplepctnow issample_pct.
0.1.11
(May 27, 2015)
Minor fixes regarding migrating API from under_score names to camelCase.
0.1.10
(May 20, 2015)
Remove
Project.upload_file,Project.upload_file_from_urlandProject.attach_filemethods. Moved all logic that uploading file toProject.createmethod.
0.1.9
(May 15, 2015)
Fix uploading file causing a lot of memory usage. Minor bugfixes.