Example: Analytics
11 min
End-to-end walkthrough: create two processors (a generator and an averager), wire them together, read the live output.
Setup
from litmussdk import analytics1. List the Processor Library
The SDK ships a library of processor type definitions used at create-time.
all_types = analytics.list_all_in_processor_library()
generator_internal, generator_params = analytics.get_single_processor_from_library("Generator")
averager_internal, averager_params = analytics.get_single_processor_from_library("Avg")2. Create the Generator
gen_proc = analytics.create_processor(
function_defined_name="my-generator",
function_internal_name=generator_internal,
function_parameters=generator_params, # tweak before passing if needed
group_name="default",
)
gen_id = gen_proc["ID"]3. Create the Averager
avg_proc = analytics.create_processor(
function_defined_name="my-avg",
function_internal_name=averager_internal,
function_parameters=averager_params,
group_name="default",
)
avg_id = avg_proc["ID"]4. Connect Generator -> Averager
connect_processor takes lists on both sides (one or many). Use events for trigger-style connections, values for continuous.
analytics.connect_processor(
connection_type="values",
inputs_processors=[gen_id], # plural - takes a list
outputs_processors=[avg_id], # plural - takes a list
)5. Enable Both Processors
analytics.enable_processor(gen_id)
analytics.enable_processor(avg_id)6. Read Live Values
gen_value = analytics.get_processor_last_value(gen_id)
avg_value = analytics.get_processor_last_value(avg_id)
print(f"gen={gen_value} avg={avg_value}")7. Update Parameters On the Fly
proc = analytics.get_processor(gen_id)
params = proc["parameters"]
params["strength"] = "100"
analytics.update_processor(gen_id, params)8. AI / ML Models (4.0.x only)
The GraphQL surface manages AI providers and TensorFlow / generic ML models that processors can call into:
from litmussdk.analytics import _gql_models
providers = _gql_models.get_ai_providers()
_gql_models.add_ai_model(
provider="openai",
name="gpt-4-classifier",
url="https://api.openai.com",
key="sk-...",
model="gpt-4",
)9. Tear Down
analytics.delete_processor(gen_id)
analytics.delete_processor(avg_id)See Also
- Analytics - full reference