Compliance Documentation

Automated documentation

class datarobot.models.automated_documentation.AutomatedDocument

An automated documentation object.

Added in version v2.24.

Variables:
  • document_type (str or None) – Type of automated document. You can specify: MODEL_COMPLIANCE, AUTOPILOT_SUMMARY depending on your account settings. Required for document generation.

  • entity_id (str or None) – ID of the entity to generate the document for. It can be model ID or project ID. Required for document generation.

  • output_format (str or None) – Format of the generate document, either docx or html. Required for document generation.

  • locale (str or None) – Localization of the document, dependent on your account settings. Default setting is EN_US.

  • template_id (str or None) – Template ID to use for the document outline. Defaults to standard DataRobot template. See the documentation for ComplianceDocTemplate for more information.

  • id (str or None) – ID of the document. Required to download or delete a document.

  • filepath (str or None) – Path to save a downloaded document to. Either include a file path and name or the file will be saved to the directory from which the script is launched.

  • created_at (datetime or None) – Document creation timestamp.

classmethod list_available_document_types(cls)

Get a list of all available document types and locales. This method is deprecated.

Returns:

{“data”: List of dicts}

Return type:

List[DocumentOption]

Examples

import datarobot as dr

dr.Client(token=my_token, endpoint=endpoint)
doc_types = dr.AutomatedDocument.list_available_document_types()
classmethod list_all_available_document_types()

Get a list of all available document types and locales. This method is direct replacement of list_available_document_types().

Return type:

List of dicts

Examples

import datarobot as dr

dr.Client(token=my_token, endpoint=endpoint)
doc_types = dr.AutomatedDocument.list_all_available_document_types()
property is_model_compliance_initialized: Tuple[bool, str]

Check if model compliance documentation pre-processing is initialized. Model compliance documentation pre-processing must be initialized before generating documentation for a custom model.

Returns:

  • boolean flag is whether model compliance documentation pre-processing is initialized

  • string value is the initialization status

Return type:

Tuple of (boolean, string)

initialize_model_compliance()

Initialize model compliance documentation pre-processing. Must be called before generating documentation for a custom model.

Returns:

  • boolean flag is whether model compliance documentation pre-processing is initialized

  • string value is the initialization status

Return type:

Tuple of (boolean, string)

Examples

import datarobot as dr

dr.Client(token=my_token, endpoint=endpoint)

# NOTE: entity_id is either a model id or a model package (version) id
doc = dr.AutomatedDocument(
        document_type="MODEL_COMPLIANCE",
        entity_id="6f50cdb77cc4f8d1560c3ed5",
        output_format="docx",
        locale="EN_US")

doc.initialize_model_compliance()
generate(max_wait=600)

Request generation of an automated document.

Required attributes to request document generation: document_type, entity_id, and output_format.

Return type:

requests.models.Response

Examples

import datarobot as dr

dr.Client(token=my_token, endpoint=endpoint)

doc = dr.AutomatedDocument(
        document_type="MODEL_COMPLIANCE",
        entity_id="6f50cdb77cc4f8d1560c3ed5",
        output_format="docx",
        locale="EN_US",
        template_id="50efc9db8aff6c81a374aeec",
        filepath="/Users/username/Documents/example.docx"
        )

doc.generate()
doc.download()
download()

Download a generated Automated Document. Document ID is required to download a file.

Return type:

requests.models.Response

Examples

Generating and downloading the generated document:

import datarobot as dr

dr.Client(token=my_token, endpoint=endpoint)

doc = dr.AutomatedDocument(
        document_type="AUTOPILOT_SUMMARY",
        entity_id="6050d07d9da9053ebb002ef7",
        output_format="docx",
        filepath="/Users/username/Documents/Project_Report_1.docx"
        )

doc.generate()
doc.download()

Downloading an earlier generated document when you know the document ID:

import datarobot as dr

dr.Client(token=my_token, endpoint=endpoint)
doc = dr.AutomatedDocument(id='5e8b6a34d2426053ab9a39ed')
doc.download()

Notice that filepath was not set for this document. In this case, the file is saved to the directory from which the script was launched.

Downloading a document chosen from a list of earlier generated documents:

import datarobot as dr

dr.Client(token=my_token, endpoint=endpoint)

model_id = "6f5ed3de855962e0a72a96fe"
docs = dr.AutomatedDocument.list_generated_documents(entity_ids=[model_id])
doc = docs[0]
doc.filepath = "/Users/me/Desktop/Recommended_model_doc.docx"
doc.download()
delete()

Delete a document using its ID.

Return type:

requests.models.Response

Examples

import datarobot as dr

dr.Client(token=my_token, endpoint=endpoint)
doc = dr.AutomatedDocument(id="5e8b6a34d2426053ab9a39ed")
doc.delete()

If you don’t know the document ID, you can follow the same workflow to get the ID as in the examples for the AutomatedDocument.download method.

classmethod list_generated_documents(document_types=None, entity_ids=None, output_formats=None, locales=None, offset=None, limit=None)

Get information about all previously generated documents available for your account. The information includes document ID and type, ID of the entity it was generated for, time of creation, and other information.

Parameters:
  • document_types (List of str or None) – Query for one or more document types.

  • entity_ids (List of str or None) – Query generated documents by one or more entity IDs.

  • output_formats (List of str or None) – Query for one or more output formats.

  • locales (List of str or None) – Query generated documents by one or more locales.

  • offset (int or None) – Number of items to skip. Defaults to 0 if not provided.

  • limit (int or None) – Number of items to return, maximum number of items is 1000.

Return type:

List[AutomatedDocument]

Returns:

  • List of AutomatedDocument objects, where each object contains attributes described in

  • AutomatedDocument

Examples

To get a list of all generated documents:

import datarobot as dr

dr.Client(token=my_token, endpoint=endpoint)
docs = AutomatedDocument.list_generated_documents()

To get a list of all AUTOPILOT_SUMMARY documents:

import datarobot as dr

dr.Client(token=my_token, endpoint=endpoint)
docs = AutomatedDocument.list_generated_documents(document_types=["AUTOPILOT_SUMMARY"])

To get a list of 5 recently created automated documents in html format:

import datarobot as dr

dr.Client(token=my_token, endpoint=endpoint)
docs = AutomatedDocument.list_generated_documents(output_formats=["html"], limit=5)

To get a list of automated documents created for specific entities (projects or models):

import datarobot as dr

dr.Client(token=my_token, endpoint=endpoint)
docs = AutomatedDocument.list_generated_documents(
    entity_ids=["6051d3dbef875eb3be1be036",
                "6051d3e1fbe65cd7a5f6fde6",
                "6051d3e7f86c04486c2f9584"]
    )

Note, that the list of results contains AutomatedDocument objects, which means that you can execute class-related methods on them. Here’s how you can list, download, and then delete from the server all automated documents related to a certain entity:

import datarobot as dr

dr.Client(token=my_token, endpoint=endpoint)

ids = ["6051d3dbef875eb3be1be036", "5fe1d3d55cd810ebdb60c517f"]
docs = AutomatedDocument.list_generated_documents(entity_ids=ids)
for doc in docs:
    doc.download()
    doc.delete()
class datarobot.models.automated_documentation.DocumentOption

Compliance documentation templates

class datarobot.models.compliance_doc_template.ComplianceDocTemplate

A compliance documentation template. Templates are used to customize contents of AutomatedDocument.

Added in version v2.14.

Notes

Each section dictionary has the following schema:

  • title : title of the section

  • type : type of section. Must be one of “datarobot”, “user” or “table_of_contents”.

Each type of section has a different set of attributes described bellow.

Section of type "datarobot" represent a section owned by DataRobot. DataRobot sections have the following additional attributes:

  • content_id : The identifier of the content in this section. You can get the default template with get_default for a complete list of possible DataRobot section content ids.

  • sections : list of sub-section dicts nested under the parent section.

Section of type "user" represent a section with user-defined content. Those sections may contain text generated by user and have the following additional fields:

  • regularText : regular text of the section, optionally separated by \n to split paragraphs.

  • highlightedText : highlighted text of the section, optionally separated by \n to split paragraphs.

  • sections : list of sub-section dicts nested under the parent section.

Section of type "table_of_contents" represent a table of contents and has no additional attributes.

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

  • name (str) – The name of the template.

  • creator_id (str) – The ID of the user who created the template.

  • creator_username (str) – The username of the user who created the template.

  • org_id (str) – The ID of the organization the template belongs to.

  • sections (list of dicts) – The sections of the template describing the structure of the document. The section schema is described in Notes section, above.

  • project_type (ComplianceDocTemplateProjectType) – The project type of the template.

classmethod get_default(template_type=None)

Get a default DataRobot template. This template is used for generating compliance documentation when no template is specified.

Parameters:

template_type (str or None) – Type of the template. Currently supported values are “normal” and “time_series”

Returns:

template – the default template object with sections attribute populated with default sections.

Return type:

ComplianceDocTemplate

classmethod create_from_json_file(name, path, project_type=None)

Create a template with the specified name and sections in a JSON file.

This is useful when working with sections in a JSON file. Example:

default_template = ComplianceDocTemplate.get_default()
default_template.sections_to_json_file('path/to/example.json')
# ... edit example.json in your editor
my_template = ComplianceDocTemplate.create_from_json_file(
    name='my template',
    path='path/to/example.json'
)
Parameters:
  • name (str) – the name of the template, which must be unique.

  • path (str) – the path to find the JSON file at

  • project_type (ComplianceDocTemplateProjectType) – The project type of the template.

Returns:

template – The created template.

Return type:

ComplianceDocTemplate

classmethod create(name, sections, project_type=None)

Create a template with the specified name and sections.

Parameters:
  • name (str) – The name of the template, which must be unique.

  • sections (list) – List of section objects

  • project_type (ComplianceDocTemplateProjectType) – The project type of the template.

Returns:

template – The created template.

Return type:

ComplianceDocTemplate

classmethod get(template_id)

Retrieve a specific template.

Parameters:

template_id (str) – the id of the template to retrieve

Returns:

template – the retrieved template

Return type:

ComplianceDocTemplate

classmethod list(name_part=None, limit=None, offset=None, project_type=None)

Get a paginated list of compliance documentation template objects.

Parameters:
  • name_part (str or None) – Return only the templates with names matching specified string. The matching is case-insensitive.

  • limit (int) – The number of records to return. The server will use a (possibly finite) default if not specified.

  • offset (int) – The number of records to skip.

  • project_type (ComplianceDocTemplateProjectType) – The project type of the template.

Returns:

templates – The list of template objects.

Return type:

list of ComplianceDocTemplate

sections_to_json_file(path, indent=2)

Save sections of the template to a json file at the specified path

Parameters:
  • path (str) – the path to save the file to

  • indent (int) – indentation to use in the json file.

Return type:

None

update(name=None, sections=None, project_type=None)

Update the name or sections of an existing doc template.

Note that default or non-existent templates can not be updated.

Parameters:
  • name (Optional[str]) – the new name for the template

  • sections (list of dicts) – The list of sections within the template.

  • project_type (ComplianceDocTemplateProjectType) – The project type of the template

Return type:

None

delete()

Delete the compliance documentation template.

Return type:

None

class datarobot.enums.ComplianceDocTemplateProjectType

The project type supported by the template.

class datarobot.enums.ComplianceDocTemplateType

The type of default template and sections to create a template.

classmethod to_project_type(template_type)

Map from template type to project type supported by the template.

Return type:

Optional[ComplianceDocTemplateProjectType]