Compliance Documentation¶
Automated documentation¶
AutomatedDocument¶
An automated documentation object.
Added in version v2.24.
Variables
| Attribute | Type | Description |
|---|---|---|
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. |
list_available_document_types()¶
Get a list of all available document types and locales. This method is deprecated.
Returns
| Returns | Description |
|---|---|
| {“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()
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()
is_model_compliance_initialized¶
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
| Returns | Description |
|---|---|
| - 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
| Returns | Description |
|---|---|
| - 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()¶
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.
list_generated_documents()¶
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
| Parameter | Type | Description |
|---|---|---|
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
| Returns | Description |
|---|---|
* 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()
DocumentOption¶
Compliance documentation templates¶
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 sectiontype: 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 withget_defaultfor 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\nto split paragraphs.highlightedText: highlighted text of the section, optionally separated by\nto 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
| Attribute | Type | Description |
|---|---|---|
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. |
get_default()¶
Get a default DataRobot template. This template is used for generating compliance documentation when no template is specified.
Parameters
| Parameter | Type | Description |
|---|---|---|
template_type |
str or None |
Type of the template. Currently supported values are “normal” and “time_series” |
Returns
| Returns | Description |
|---|---|
| template | the default template object with sections attribute populated with default sections. |
Return type: ComplianceDocTemplate
create_from_json_file()¶
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
| Parameter | Type | Description |
|---|---|---|
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
| Returns | Description |
|---|---|
| template | The created template. |
Return type: ComplianceDocTemplate
create()¶
Create a template with the specified name and sections.
Parameters
| Parameter | Type | Description |
|---|---|---|
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
| Returns | Description |
|---|---|
| template | The created template. |
Return type: ComplianceDocTemplate
get()¶
Retrieve a specific template.
Parameters
| Parameter | Type | Description |
|---|---|---|
template_id |
str |
the ID of the template to retrieve |
Returns
| Returns | Description |
|---|---|
| template | the retrieved template |
Return type: ComplianceDocTemplate
list()¶
Get a paginated list of compliance documentation template objects.
Parameters
| Parameter | Type | Description |
|---|---|---|
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
| Returns | Description |
|---|---|
| templates | The list of template objects. |
Return type: list of ComplianceDocTemplate
sections_to_json_file()¶
Save sections of the template to a json file at the specified path
Parameters
| Parameter | Type | Description |
|---|---|---|
path |
str |
the path to save the file to |
indent |
int |
indentation to use in the json file. |
Return type: None
update()¶
Update the name or sections of an existing doc template.
Note that default or non-existent templates can not be updated.
Parameters
| Parameter | Type | Description |
|---|---|---|
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
ComplianceDocTemplateProjectType¶
The project type supported by the template.
ComplianceDocTemplateType¶
The type of default template and sections to create a template.
to_project_type()¶
Map from template type to project type supported by the template.
Return type: Optional[ComplianceDocTemplateProjectType]