Skip to main content

class MQLClient:

Query Functions:

# Make a synchronous query with Transform and returns a pandas dataframe of the result
query(
metrics, dimensions, model_key_id=None, where=None, time_constraint=None,
time_granularity=None, order=None, limit=None, cache_mode=None, as_table=None,
allow_dynamic_cache=True, timeout=None
) -> pandas.Dataframe

# Make an asynchronous query with Transform and returns a query status response object
create_query(
metrics, dimensions, model_key_id=None, where=None, time_constraint=None,
time_granularity=None, order=None, limit=None, cache_mode=None, as_table=None,
allow_dynamic_cache=True
) -> MqlQueryStatusResp

Parameters:

  • metrics (List[str]) - list of metric names to query for
  • dimensions (List[str]) - list of dimension names to group by
  • model_key_id (Optional[int]) - provide model key to perform action on a specific config
  • where (Optional[str]) - SQL-like where statement provided as a string
  • time_constraint (Optional[str]) - set a time constraint on the query
  • time_granularity (Optional[str]) - modify the primary dimension time to a certain granularity (supported granularities: day/week/month/quarter/year)
  • order (Optional[str]) - columns to order by ("-" in front of a column means descending)
  • limit (Optional[str]) - Limit the number of rows out (Default: 100) using an int or 'inf' for no limit
  • cache_mode (Optional[str]) - set a cache option (supported inputs: r/rw/w/i)
  • as_table (Optional[str]) - write the results to a specific table
  • allow_dynamic_cache (bool) - 'False' to only allow for retrieving results from cache
  • timeout (int) - set a timeout value for max time to poll for completion (0 for no timeout)

Materialization Functions:

# Asynchronous function for creating a materialization
create_materialization(
materialization_name, start_time, end_time, model_key_id=None,
output_table=None, force=False
) -> MqlMaterializeResp

# Synchronous function for creating a materialization
materialize(
materialization_name, start_time, end_time, model_key_id=None,
output_table=None, force=False, timeout=None
) -> MqlMaterializeResp

# Asynchronous function for dropping a materialization
drop_materialization(
materialization_name, start_time, end_time, model_key_id=None,
output_table=None
) -> MqlMaterializeResp

Parameters:

  • materialization_name (str) - name of materialization to materialize
  • start_time (Optional[str]) - iso8601 timestamp to materialize from
  • end_time (Optional[str]) - iso8601 timestamp to materialize to
  • model_key_id (Optional[int]) - SQL-like where statement provided as a string
  • output_table (Optional[str]) - Write materialized result to specified table of format '{schema}.{table_name}'
  • timeout (Optional[int]) - set a timeout value for max time to poll for completion (0 for no timeout)
  • force (bool) - 'True' to ignore the current cache state and rerun the materialization

Observation Functions:

list_queries(active_only, limit=None) -> Dict[str, Any]

Parameters:

  • active_only (bool) - 'True' to return active queries only
  • limit (Optional[int]) - max number of queries to return
# Returns a list of all metrics in a form of {<metric_name>: <Metric object>}
list_metrics(model_key_id=None) -> Dict[str, Metric]

Parameters:

  • model_key_id (Optional[int]) - provide model key to perform action on a specific config
# Returns a single Metric object given a metric name
get_metric(metric_name, model_key_id=None) -> Metric

Parameters:

  • metric_name (str)
  • model_key_id (Optional[int]) - provide model key to perform action on a specific config
# Returns a list of all MQL servers within the organization
list_servers() -> List[MQLServer]

Parameters:

  • No parameters required
# Returns a unique list of all dimension
list_dimensions(model_key_id=None) -> Dict[str, Dimension]

Parameters:

  • model_key_id (Optional[int]) - provide model key to perform action on a specific config
# Returns a list of all unique dimension values given a metric/dimension pair
get_dimension_values(metric_name, dimension_name, model_key_id=None) -> List[str]

Parameters:

  • metric_name (str) - name of metric that has the dimension desired
  • dimension_name (str) - name of dimension to query values for
  • model_key_id (Optional[int]) - provide model key to perform action on a specific config
# Returns details on the latest MQL server image
latest_mql_image() -> MQLServerImage

Parameters:

  • No parameters required
# Returns a UserState object that describes the authenticated user
identify() -> UserState

Parameters:

  • No parameters required
# Returns a response from pinging the selected MQL server
ping() -> requests.Response

Parameters:

  • No parameters required
# Returns a detailed health report of each MQL server in the organization
health_report() -> List[ServerHealthReport]

Parameters:

  • No parameters required

Config Functions:

# Commit yaml configs found in specified config directory
commit_configs(config_dir) -> ModelKey

Parameters:

  • config_dir (str) - path to directory containing Transform yaml models
# Validate yaml configs found in specified config directory
validate_configs(config_dir) -> Tuple[str, str, str]

Parameters:

  • config_dir (str) - path to directory containing Transform yaml models

Misc. Functions:

# Drop the MQL cache. Only necessary if there is evidence cache corruption
drop_cache()

Parameters:

  • No parameters required