sdk.analysis_config.create()

elements.sdk.api.analysis_config

Create an Analysis Config.

Creates a configuration of the specified Analysis Version, including concrete values for each Algorithm Config.

Parameters

  • analysis_version_id (str) - Analysis Version to create config for
  • name (str) - name of the Analysis Config
  • description (str) - description of the Analysis Config
  • algorithm_config_nodes (List[AnalysisAlgorithmConfigNode]) - list of per-node Algorithm Configs to apply to the Analysis DAG

Returns

AnalysisConfig

👍

Analysis Builder

See the Analysis Builder section for more details on how to construct an Analysis Config.

Example(s)

# Configure Device Visits node
dv_algo_config = AlgorithmConfiguration()
dv_algo_config.add_data_source(data_type=DataType.PINGS.value, data_source=DataSource.ADSBX)
dv_algo_config.add_algorithm_parameter(key="look_back_time", value=5)
dv_algo_config.add_algorithm_parameter(key="look_forward_time", value=5)
dv_algo_config.grouping_frequency(frequency=Frequency.WEEKLY, value=1)
dv_config = await sdk.algorithm_config.create(
  algorithm_version_id="5ee03b8e-ab45-4553-b5f4-a5029254a9de",
  name="Device Visits",
  description="Produces an initial list of AOI visits per device",
  algorithm_config=dv_algo_config)

# Configure create Device Tracks node
dt_algo_config = AlgorithmConfiguration()
dt_algo_config.add_data_source(data_type=DataType.TRACK_PINGS.value, data_source=DataSource.ADSBX_TRACKS)
dt_algo_config.grouping_frequency(frequency=Frequency.WEEKLY, value=1)
dt_config = await sdk.algorithm_config.create(
  algorithm_version_id="6f7cff18-c2a2-4246-b0d4-21be09673a6b",
  name="Device Tracks",
  description="Queries device tracks before and/or after presence at AOI",
  algorithm_config=dt_algo_config)

# Get node names
analysis = await sdk.analysis_version.get(ids=["c4f5c5db-cd81-403c-a0b3-e486ba47315f"],
                                          include_algorithm_details=True, include_manifest=True)
# The following node names should match the node names specified in the Analysis Version when
# you add to the AnalysisManifest() manifest.add_node()
dv_node_name = 'device-visits'
dt_node_name = 'device-tracks'

# Add nodes to Analysis Config
config = AnalysisConfiguration(analysis_version_id="c4f5c5db-cd81-403c-a0b3-e486ba47315f")
config.add_config_node(name=dv_node_name, algorithm_config_id=dv_config.id)
config.add_config_node(name=dt_node_name, algorithm_config_id=dt_config.id)

# Create Analysis Config
await sdk.analysis_config.create(
  analysis_version_id="c4f5c5db-cd81-403c-a0b3-e486ba47315f",
  algorithm_config_nodes=config.get(),
  name="My Awesome Analysis Config",
  description="Analysis Config with Device Visits and Device Tracks")

# Output (AnalysisConfig)
analysis_version {
}
id: "ac9f25c2-48ba-48b1-b096-ac3d0ec83c21"
name: "My Awesome Analysis Config"
description: "Analysis Config with Device Visits and Device Tracks"