Data Editors

analyze.editor.add_label(project_id, editor_id, label)

Sets a label on a data editor

Parameters
  • project_id (str) – Unique project identifier

  • editor_id (str) – Unique data editor identifier

  • label (str) – The label unique name

Returns

None

analyze.editor.add_path(project_id, editor_id, path)

Adds a data editor reference path in the hierarchy

Parameters
  • project_id (str) – Unique project identifier

  • editor_id (str) – Unique editor identifier

  • path (str) – Object rollup path using unix style forward slashes

Returns

None

analyze.editor.add_paths(project_id, additions)

Adds multiple editor reference paths in the hierarchy

Parameters
  • project_id (str) – Unique project identifier

  • additions (list) – List of moves, containing: - editor_id (str): Unique editor identifier - to_path (str): New path

Returns

None

analyze.editor.copy(project_id, editor_id, version_id, rollup_id, after_position)

Copies a data editor

Parameters
  • project_id (str) – Unique project identifier

  • editor_id (str) – Unique data editor identifier

  • rollup_id (str) – Unique rollup identifier

  • after_position (int) – Position within the object rollup the object should be placed after

Returns

dict with the following properties
  • project_id (str): Unique project identifier

  • id (str): Unique editor identifier

  • name (str): Unique editor identifier

  • memo (str): Description of editor

  • paths (list): List of hierarchy paths that reference the editor

  • labels (list): List of labels assigned to editor

  • update_time (str): Date and time data was updated as ISO 8601 compliant time

  • updated_by (int): User ID of last updater

  • view_manager (bool): Editor is visible to Manager roles if True

  • view_explorer (bool): Editor is visible to Explorer roles if True

  • source_kind (str): Where the source data is pulled (table or udf)

  • source (str): Name of source

  • target_kind (str): Where the results are sent (table or udf)

  • target (str): Name of target

  • target_mode (str): ‘append’ or ‘replace’

  • ids (list): List of column identifiers

  • names (list): List of column names

  • controls (list): List of column data entry controls

  • enabled (bool): True if the editor is enabled

  • record_updated_by (bool): True if recording user who edited values

  • record_update_time (bool): True if recording the time when values are edited

  • record_updated_by_id (str): Column ID to record the user who edited the values

  • record_update_time_id (str): Column ID to record the time the values were edited

Return type

dict

analyze.editor.copy_directory(project_id, from_path, to_path)

Copies a folder and all paths in the hierarchy but does not duplicate referenced objects

Parameters
  • project_id (str) – Unique project identifier

  • from_path (str) – Original directory path

  • to_path (str) – Destination directory path

Returns

None

analyze.editor.create(project, path, name, memo)

Creates a table

Parameters
  • project_id (str) – Unique project identifier

  • path (str) – Path to place the table in the hierarchy

  • name (str) – The object name

  • memo (str) – The object description

Returns

dict with the following properties
  • project_id (str): Unique project identifier

  • id (str): Unique editor identifier

  • name (str): Unique editor identifier

  • memo (str): Description of editor

  • paths (list): List of hierarchy paths that reference the editor

  • labels (list): List of labels assigned to editor

  • update_time (str): Date and time data was updated as ISO 8601 compliant time

  • updated_by (int): User ID of last updater

  • view_manager (bool): Editor is visible to Manager roles if True

  • view_explorer (bool): Editor is visible to Explorer roles if True

  • source_kind (str): Where the source data is pulled (table or udf)

  • source (str): Name of source

  • target_kind (str): Where the results are sent (table or udf)

  • target (str): Name of target

  • target_mode (str): ‘append’ or ‘replace’

  • ids (list): List of column identifiers

  • names (list): List of column names

  • controls (list): List of column data entry controls

  • enabled (bool): True if the editor is enabled

  • record_updated_by (bool): True if recording user who edited values

  • record_update_time (bool): True if recording the time when values are edited

  • record_updated_by_id (str): Column ID to record the user who edited the values

  • record_update_time_id (str): Column ID to record the time the values were edited

Return type

dict

analyze.editor.create_directory(project_id, path)

Creates a folder in the data editor hierarchy

Parameters
  • project_id (str) – Unique project identifier

  • path (str) – Path to directory

Returns

None

analyze.editor.delete(project_id, editor_id)

Deletes a data editor

Parameters
  • project_id (str) – Unique project identifier

  • editor_id (str) – Unique data editor identifier

Returns

None

analyze.editor.delete_directory(project_id, path)

Deletes a folder and removes path from all objects in that directory

Parameters
  • project_id (str) – Unique project identifier

  • path (str) – Path to directory

Returns

None

analyze.editor.editor(project_id, editor_id)

Provides detailed data editor information

Parameters
  • project_id (str) – Unique project identifier

  • editor_id (str) – Unique table identifier

Returns

dict with the following properties
  • project_id (str): Unique project identifier

  • id (str): Unique editor identifier

  • name (str): Unique editor identifier

  • memo (str): Description of editor

  • paths (list): List of hierarchy paths that reference the editor

  • labels (list): List of labels assigned to editor

  • update_time (str): Date and time data was updated as ISO 8601 compliant time

  • updated_by (int): User ID of last updater

  • view_manager (bool): Editor is visible to Manager roles if True

  • view_explorer (bool): Editor is visible to Explorer roles if True

  • source_kind (str): Where the source data is pulled (table or udf)

  • source (str): Name of source

  • target_kind (str): Where the results are sent (table or udf)

  • target (str): Name of target

  • target_mode (str): ‘append’ or ‘replace’

  • ids (list): List of column identifiers

  • names (list): List of column names

  • controls (list): List of column data entry controls

  • enabled (bool): True if the editor is enabled

  • record_updated_by (bool): True if recording user who edited values

  • record_update_time (bool): True if recording the time when values are edited

  • record_updated_by_id (str): Column ID to record the user who edited the values

  • record_update_time_id (str): Column ID to record the time the values were edited

Return type

dict

analyze.editor.editors(project_id, id_filter=None, sort=None, keys=None, member_details=False)

Returns the list of data editors in the specified project

Parameters
  • project_id (str) – Unique project identifier

  • id_filter (list, optional) – List of identifiers to which to limit the results. If None or empty, don’t filter

  • sort (list, optional) – List of sort tuples using syntax (key, reverse). e.g. [(‘name’, False)]

  • keys (list, optional) – List of keys to return. Defaults to all.

  • member_details (bool, optional) – If True then returns member info relating to updated_by

Returns

result list of dicts with the following properties
  • project_id (str): Unique project identifier

  • id (str): Unique editor identifier

  • name (str): Unique editor identifier

  • memo (str): Description of editor

  • paths (list): List of hierarchy paths that reference the editor

  • labels (list): List of labels assigned to editor

  • update_time (str): Date and time data was updated as ISO 8601 compliant time

  • updated_by (int): User ID of last updater

  • view_manager (bool): Editor is visible to Manager roles if True

  • view_explorer (bool): Editor is visible to Explorer roles if True

  • source_kind (str): Where the source data is pulled (table or udf)

  • source (str): Name of source

  • target_kind (str): Where the results are sent (table or udf)

  • target (str): Name of target

  • target_mode (str): ‘append’ or ‘replace’

  • ids (list): List of column identifiers

  • names (list): List of column names

  • controls (list): List of column data entry controls

  • enabled (bool): True if the editor is enabled

  • record_updated_by (bool): True if recording user who edited values

  • record_update_time (bool): True if recording the time when values are edited

  • record_updated_by_id (str): Column ID to record the user who edited the values

  • record_update_time_id (str): Column ID to record the time the values were edited

If member_details is set to True, the dict will also contain:
  • updated_by_full_name (str): The User Name of the user that last updated the project

  • updated_by_user_id (int): The id of the user that last updated the project

  • updated_by_gravatar_hash (str): Unique hash to pull gravatar for the user.

Return type

list

analyze.editor.editors_from_path(project_id, path, sort=None, keys=None)

Provides list of data editors based on a path fragment. Path fragment can be to parent level.

Parameters
  • project_id (str) – Unique project identifier

  • path (str) – Object rollup path using unix style forward slashes

  • sort (list) – List of sort tuples using syntax (key, reverse). e.g. [(‘name’, False)]

  • keys (list) – List of keys to return. Defaults to all.

Returns

result list of dicts with the following properties
  • project_id (str): Unique project identifier

  • id (str): Unique editor identifier

  • name (str): Unique editor identifier

  • memo (str): Description of editor

  • paths (list): List of hierarchy paths that reference the editor

  • labels (list): List of labels assigned to editor

  • update_time (str): Date and time data was updated as ISO 8601 compliant time

  • updated_by (int): User ID of last updater

  • view_manager (bool): Editor is visible to Manager roles if True

  • view_explorer (bool): Editor is visible to Explorer roles if True

  • source_kind (str): Where the source data is pulled (table or udf)

  • source (str): Name of source

  • target_kind (str): Where the results are sent (table or udf)

  • target (str): Name of target

  • target_mode (str): ‘append’ or ‘replace’

  • ids (list): List of column identifiers

  • names (list): List of column names

  • controls (list): List of column data entry controls

  • enabled (bool): True if the editor is enabled

  • record_updated_by (bool): True if recording user who edited values

  • record_update_time (bool): True if recording the time when values are edited

  • record_updated_by_id (str): Column ID to record the user who edited the values

  • record_update_time_id (str): Column ID to record the time the values were edited

Return type

list

analyze.editor.flashback_backup(project_id, editor_id)

Schedules a backup of the editor

Parameters
  • project_id (str) – Unique project identifier

  • editor_id (str) – Unique editor identifier

Returns

None

analyze.editor.flashback_editors(project_id)

Provides list of editors stored in flashback

Parameters

project_id (str) – Unique project identifier

Returns

List of editors

Return type

list

analyze.editor.flashback_hold(project_id, editor_id, version_id)

Puts a hold on a version to prevent lifecycle cleanup after retention period

Parameters
  • project_id (str) – Unique project identifier

  • editor_id (str) – Unique editor identifier

  • version_id (str) – Version of the editor to hold

Returns

None

analyze.editor.flashback_release(project_id, editor_id, version_id)

Releases a hold on a version to allow lifecycle cleanup after retention period

Parameters
  • project_id (str) – Unique project identifier

  • editor_id (str) – Unique editor identifier

  • version_id (str) – Version of the editor to release

Returns

None

analyze.editor.flashback_restore(project_id, editor_id, version_id, target_editor_id)

Restores editor data to the target editor specified

Parameters
  • project_id (str) – Unique project identifier

  • editor_id (str) – Unique editor identifier

  • version_id (str) – Version of the editor to restore

  • target_editor_id (str) – Target editor UUID

Returns

None

analyze.editor.flashback_restore_project(project_id)

Schedules a restore of all editors in the project to their latest version stored

Parameters

project_id (str) – Unique project identifier

Returns

None

analyze.editor.flashback_versions(project_id, editor_id)

Provides list of versions of the editor

Parameters
  • project_id (str) – Unique project identifier

  • editor_id (str) – Unique editor identifier

Returns

List of editor versions

Return type

list

analyze.editor.get_data(project_id, editor_id)

Gets the data to populate a data editor table

Parameters
  • project_id (str) – Unique project identifier

  • editor_id (str) – Unique data editor identifier

Returns

list of lists representing row data in column order

Return type

list

analyze.editor.ids_from_path(project_id, path)

Provides the canonical id for the from a provided path

Parameters
  • project_id (str) – Unique project identifier

  • path (str) – Object rollup path using unix style forward slashes

Returns

id (str): Data editor unique identifier

Return type

list

analyze.editor.labels(project_id, editor_id)

Provides a list of labels for the data editor

Parameters
  • project_id (str) – Unique project identifier

  • editor_id (str) – Unique table identifier

Returns

list of labels associated with data editor

Return type

list

analyze.editor.lookup_by_full_path(project_id, path)

Returns ID for path provided

Parameters
  • project_id (str) – Unique project identifier

  • path (str) – Object rollup path using unix style forward slashes

Returns

Editor unique identifier

Return type

str

analyze.editor.lookup_by_name(project_id, name)

Returns ID for path provided

Parameters
  • project_id (str) – Unique project identifier

  • name (str) – Unique editor name

Returns

Editor unique identifier

Return type

str

analyze.editor.move_directory(project_id, from_path, to_path)

Updates a folder name in the hierarchy

Parameters
  • project_id (str) – Unique project identifier

  • from_path (str) – Original directory path

  • to_path (str) – Destination directory path

Returns

None

analyze.editor.move_path(project_id, editor_id, from_path, to_path)

Moves a data editor reference path in the hierarchy

Parameters
  • project_id (str) – Unique project identifier

  • editor_id (str) – Unique editor identifier

  • from_path (str) – Original path

  • to_path (str) – Destination path

Returns

None

analyze.editor.move_paths(project_id, moves)

Moves multiple data editor reference paths in the hierarchy

Parameters
  • project_id (str) – Unique project identifier

  • moves (list) – List of moves, containing: - editor_id (str): Unique editor identifier - from_path (str): Original path - to_path (str): Destination path

Returns

None

analyze.editor.paths(project_id, path=None)

Provides a list of paths for all tables and folders

Parameters
  • project_id (str) – Unique project identifier

  • path (str) – Initial path to search

Returns

List of table and directory paths

Return type

list

analyze.editor.paths_from_id(project_id, editor_id)

Provides a list of paths associated with the cannonical id

Parameters
  • project_id (str) – Unique project identifier

  • editor_id (str) – Unique data editor identifier

Returns

List of paths that point to the data editor specified

Return type

list

analyze.editor.remove_label(project_id, editor_id, label)

Removes a label on a table

Parameters
  • project_id (str) – Unique project identifier

  • editor_id (str) – Unique data editor identifier

  • label (str) – The label unique name

Returns

None

analyze.editor.remove_path(project_id, editor_id, path)

Removes a data editor reference path in the hierarchy

Parameters
  • project_id (str) – Unique project identifier

  • editor_id (str) – Unique editor identifier

  • path (str) – Object rollup path using unix style forward slashes

Returns

None

analyze.editor.save_data(project_id, editor_id, data)

Gets the data to populate a data editor table

Parameters
  • project_id (str) – Unique project identifier

  • editor_id (str) – Unique data editor identifier

  • data (list) – List of dicts with values submitted by data editor

Returns

None

analyze.editor.search_by_label(project_id, text, criteria='contains', sort=None, keys=None)

Returns list of data editors that match the search criteria

Parameters
  • project_id (str) – Unique project identifier

  • text (str) – The search text to locate

  • criteria (str) – exact, startswith, endswith, or contains

  • sort (list) – List of sort tuples using syntax (key, reverse). e.g. [(‘name’, False)]

  • keys (list) – List of keys to return. Defaults to all.

Returns

result list of dicts with the following properties
  • project_id (str): Unique project identifier

  • id (str): Unique editor identifier

  • name (str): Unique editor identifier

  • memo (str): Description of editor

  • paths (list): List of hierarchy paths that reference the editor

  • labels (list): List of labels assigned to editor

  • update_time (str): Date and time data was updated as ISO 8601 compliant time

  • updated_by (int): User ID of last updater

  • view_manager (bool): Editor is visible to Manager roles if True

  • view_explorer (bool): Editor is visible to Explorer roles if True

  • source_kind (str): Where the source data is pulled (table or udf)

  • source (str): Name of source

  • target_kind (str): Where the results are sent (table or udf)

  • target (str): Name of target

  • target_mode (str): ‘append’ or ‘replace’

  • ids (list): List of column identifiers

  • names (list): List of column names

  • controls (list): List of column data entry controls

  • enabled (bool): True if the editor is enabled

  • record_updated_by (bool): True if recording user who edited values

  • record_update_time (bool): True if recording the time when values are edited

  • record_updated_by_id (str): Column ID to record the user who edited the values

  • record_update_time_id (str): Column ID to record the time the values were edited

Return type

list

analyze.editor.search_by_name(project_id, text, criteria='contains', sort=None, keys=None)

Returns list of data editors that match the search criteria

Parameters
  • project_id (str) – Unique project identifier

  • text (str) – The search text to locate

  • criteria (str) – The search criteria (contains, exact, startswith, or endswith)

  • keys (list) – List of keys to return. Defaults to all.

Returns

result list of dicts with the following properties
  • project_id (str): Unique project identifier

  • id (str): Unique editor identifier

  • name (str): Unique editor identifier

  • memo (str): Description of editor

  • paths (list): List of hierarchy paths that reference the editor

  • labels (list): List of labels assigned to editor

  • update_time (str): Date and time data was updated as ISO 8601 compliant time

  • updated_by (int): User ID of last updater

  • view_manager (bool): Editor is visible to Manager roles if True

  • view_explorer (bool): Editor is visible to Explorer roles if True

  • source_kind (str): Where the source data is pulled (table or udf)

  • source (str): Name of source

  • target_kind (str): Where the results are sent (table or udf)

  • target (str): Name of target

  • target_mode (str): ‘append’ or ‘replace’

  • ids (list): List of column identifiers

  • names (list): List of column names

  • controls (list): List of column data entry controls

  • enabled (bool): True if the editor is enabled

  • record_updated_by (bool): True if recording user who edited values

  • record_update_time (bool): True if recording the time when values are edited

  • record_updated_by_id (str): Column ID to record the user who edited the values

  • record_update_time_id (str): Column ID to record the time the values were edited

Return type

list

analyze.editor.shift_down(project_id, editor_ids, path)

Move the node below following node within the same generation If bottom within parent, it moves to the next parent below at the same generation as it’s parent (if there is one)

Parameters
  • project_id (str) – Unique project identifier

  • editor_ids (list) – List of Unique editor identifier

  • path (str) – Current hierarchy path

Returns

New path or None if cannot be moved

Return type

str

analyze.editor.shift_left(project_id, editor_ids, path)

Move the node one generation up (if possible)

Parameters
  • project_id (str) – Unique project identifier

  • editor_ids (list) – List of Unique editor identifier

  • path (str) – Current hierarchy path

Returns

New path or None if cannot be moved

Return type

str

analyze.editor.shift_right(project_id, editor_ids, path)

Move the node one generation down, looking upwards in the hierarchy for a suitable parent (if there is one)

Parameters
  • project_id (str) – Unique project identifier

  • editor_ids (list) – List of Unique editor identifier

  • path (str) – Current hierarchy path

Returns

New path or None if cannot be moved

Return type

str

analyze.editor.shift_up(project_id, editor_ids, path)

Move the node above prior node within the same generation If top within parent, it moves to the next parent above at the same generation as it’s parent (if there is one)

Parameters
  • project_id (str) – Unique project identifier

  • editor_ids (list) – List of Unique editor identifier

  • path (str) – Current hierarchy path

Returns

New path or None if cannot be moved

Return type

str

analyze.editor.update(project_id, editor_id, memo, **kwargs)

Updates the specified data editor

Parameters
  • project_id (str) – Unique project identifier

  • editor_id (str) – Unique data editor identifier

Kwargs:
  • name (str): The table name

  • memo (str): The table description

  • view_manager (bool): Table is visible to Manager roles if True

  • view_explorer (bool): Table is visible to Explorer roles if True

  • source_kind (str): Where the source data is pulled (table or udf)

  • source (str): Name of source

  • target_kind (str): Where the results are sent (table or udf)

  • target (str): Name of target

  • ids (list): List of column identifiers

  • names (list): List of column names

  • controls (list): List of column data entry controls

Returns

dict with the following properties
  • project_id (str): Unique project identifier

  • id (str): Unique editor identifier

  • name (str): Unique editor identifier

  • memo (str): Description of editor

  • paths (list): List of hierarchy paths that reference the editor

  • labels (list): List of labels assigned to editor

  • update_time (str): Date and time data was updated as ISO 8601 compliant time

  • updated_by (int): User ID of last updater

  • view_manager (bool): Editor is visible to Manager roles if True

  • view_explorer (bool): Editor is visible to Explorer roles if True

  • source_kind (str): Where the source data is pulled (table or udf)

  • source (str): Name of source

  • target_kind (str): Where the results are sent (table or udf)

  • target (str): Name of target

  • target_mode (str): ‘append’ or ‘replace’

  • ids (list): List of column identifiers

  • names (list): List of column names

  • controls (list): List of column data entry controls

  • enabled (bool): True if the editor is enabled

  • record_updated_by (bool): True if recording user who edited values

  • record_update_time (bool): True if recording the time when values are edited

  • record_updated_by_id (str): Column ID to record the user who edited the values

  • record_update_time_id (str): Column ID to record the time the values were edited

Return type

dict

analyze.editor.view_explorer(project_id, editor_ids, allowed=True)

Sets View Explorer flag

Parameters
  • project_id (str) – Unique project identifier

  • editor_ids (str) – Unique data editor identifier or list of unique data editor identifiers

  • allowed (bool) – Indicate whether Explorer role can view item

Returns

None

analyze.editor.view_manager(project_id, editor_ids, allowed=True)

Sets View Manager flag

Parameters
  • project_id (str) – Unique project identifier

  • editor_ids (str) – Unique data editor identifier or list of unique data editor identifiers

  • allowed (bool) – Indicate whether Manager role can view item

Returns

None