Skip to main content

Appendix C: API Quick Reference

All public classes and functions grouped by category. Module paths use the simudyne.engine package prefix.

Core Primitives (simudyne.engine.sdk)​

ClassDescription
ABMModelAbstract base class for all agent-based models. Lifecycle: init -> setup -> step -> done.
AgentBase class for rule-based agents. Typed state via __state_schema__, deterministic PRNG via self.rng.
MessageBase message class for inter-agent communication. Subclass for custom payloads.
EmptyMessageSignal-only message with no payload.
DoubleMessageMessage carrying a single float. Methods: get_body(), set_body().
IntegerMessageMessage carrying a single integer. Methods: get_body(), set_body().
LinkTyped, weighted, directed edge between two agents.
ActionBinds an agent type to a callable. Factory: Action.create(type, fn, name).
SequenceOrdered chain of actions with message delivery between each.
SplitSimultaneous execution of multiple actions.
GlobalStateModel-level configuration state, read-only proxy to agents.
AccumulatorThread-safe aggregation primitive. Methods: add(), get(), reset(), set().
BehaviorTypeEnum: RULE_BASED, LLM_BASED, HYBRID.

Agent Types​

ClassModuleDescription
LLMAgentsimudyne.engine.genaiLLM-powered agent with mandatory rule_decide() fallback.
HybridAgentsimudyne.engine.genaiProbabilistic LLM/rule routing via llm_probability.
RLAgentsimudyne.engine.rlReinforcement learning agent. Abstract: observe(), compute_reward(), apply_action().
ExternalAgentProxysimudyne.engine.external_agentCross-process agent via HTTP/MCP with fallback support.

LLM Infrastructure (simudyne.engine.genai)​

Class / FunctionDescription
LLMConfigDataclass: model, max_tokens, temperature, cache, cost budgets.
MockLLMBackendDeterministic backend for testing (no API calls).
DebugLLMBackendReal API calls with logging for development.
LLMBackendPoolLoad-balanced multi-endpoint pool with round-robin strategy.
LLMEndpointSingle LLM API endpoint with provider, model, and API key.
ResponseCacheContent-addressed prompt cache (memory or SQLite backend).
retry_llm_callDecorator: retry with exponential backoff and jitter.
estimate_costEstimate USD cost from token counts and model name.

RL Infrastructure (simudyne.engine.rl)​

ClassDescription
RandomPolicyUniform random actions for baselines.
TabularQPolicyQ-learning with epsilon-greedy exploration.

Execution Backends​

ClassModuleDescription
ExecutionBackendsimudyne.engine.backendAbstract base with execute_action(), deliver_messages().
LocalBackendsimudyne.engine.backendSequential single-threaded execution.
ThreadPoolBackendsimudyne.engine.backendThread pool with configurable max_workers.
ProcessPoolBackendsimudyne.engine.backendProcess pool for GIL bypass.
MCPBackendsimudyne.engine.backendDistributed execution via MCP HTTP servers.
AsyncBackendsimudyne.engine.backend_asyncasyncio with configurable semaphore_limit.
PregelBackendsimudyne.engine.pregelBSP graph-parallel with vote-to-halt convergence.
DaskBackendsimudyne.engine.backend_daskDistributed cluster execution via Dask.

Spaces & Topology​

Class / FunctionModuleDescription
GridSpacesimudyne.engine.space2D grid with Von Neumann or Moore neighbourhoods, optional wrap.
NetworkSpacesimudyne.engine.spaceArbitrary graph with BFS neighbourhood queries.
Space2Dsimudyne.engine.space2dContinuous 2D space with spatial hash grid.
Space2DEnvironmentsimudyne.engine.space2dEnvironment with push-based observations and field layers.
FieldLayersimudyne.engine.space2dNumPy scalar field with deposit, sample, gradient, evaporate, diffuse.
Neighborhoodsimudyne.engine.spaceEnum: VON_NEUMANN, MOORE.
fully_connectedsimudyne.engine.topologyComplete graph: every agent linked to every other.
ringsimudyne.engine.topologyRing lattice: each agent linked to two neighbours.
small_worldsimudyne.engine.topologyWatts-Strogatz: k nearest with rewiring probability p.
scale_freesimudyne.engine.topologyBarabasi-Albert: preferential attachment with m edges per node.
gridsimudyne.engine.topology2D grid lattice with optional wrap.
from_datasimudyne.engine.topologyUser-provided edge list for empirical networks.

Parameters (simudyne.engine.params)​

Class / FunctionDescription
InputUser-configurable parameter with min/max, units, group, differentiable flag.
VariableObservable model state with description and units.
ConstantImmutable parameter (set once, raises on reassignment).
get_inputs()Introspect all Input descriptors on a class.
get_params()Introspect all descriptors (Input + Variable + Constant).

Seeding & Determinism​

Class / FunctionModuleDescription
SeedManagersimudyne.engine.seedsSHA-256 hierarchical seeding. Methods: mc_seeds(), agent_rng(), environment_rng().
DeterminismCheckersimudyne.engine.determinismMulti-pair determinism verification with tolerance.
cross_process_checksimudyne.engine.determinismCross-process determinism verification.

Partitioning (simudyne.engine.partition)​

ClassDescription
TypeBasedPartitionPartition agents by type. O(N).
TopologyAwarePartitionGreedy BFS minimising cross-partition edges. O(N+E).
ManualPartitionUser-specified agent-to-partition mapping.
PartitionMetricsStatic methods: compute_cut_ratio(), compute_balance(), report().

Output & Recording​

Class / FunctionModuleDescription
OutputRecordersimudyne.engine.outputLow-level time series recorder with multi-format export.
TimeConfigsimudyne.engine.outputTimestamp mapping (start, step_duration, timezone).
OutputFormatsimudyne.engine.outputEnum: CSV, CSV_GZ, PARQUET, DATABASE, S3.
SimulationRecordersimudyne.engine.recorderMulti-level hook-based recorder (model/agent_group/agent/env).
RecorderConfigsimudyne.engine.recorderConfiguration: levels, format, plots, sample rate.
RecordLevelsimudyne.engine.recorderEnum: MODEL, AGENT_GROUP, AGENT, ENVIRONMENT.
auto_recordsimudyne.engine.recorderConvenience: create + attach recorder in one call.

Evaluation​

Class / FunctionModuleDescription
MCRunnersimudyne.engine.mc_runnerMonte Carlo runner with parallel seed execution.
ProcessPoolMCRunnersimudyne.engine.mc_runnerProduction MC runner with configurable workers and batching.
MCResultsimudyne.engine.mc_runnerAggregate MC result with per-seed traces and metrics.
ExperimentRunnersimudyne.engine.experimentParameter sweep runner (grid, LHS, Sobol).
ParameterRangesimudyne.engine.experimentParameter sweep specification (values or min/max/steps).
GridSweepsimudyne.engine.experimentExhaustive Cartesian product sweep.
LatinHypercubeSweepsimudyne.engine.experimentSpace-filling Latin Hypercube Sampling.
SobolSweepsimudyne.engine.experimentQuasi-random Sobol sequence for sensitivity analysis.

Features & Validation (simudyne.engine.features)​

Class / ConstantModuleDescription
Featuresimudyne.engine.featuresNamed quantitative signal extractor with target range.
FeatureSetsimudyne.engine.featuresCollection with compute, validate, compare, distance.
ValidationReportsimudyne.engine.featuresValidation result with score, grade, per-feature results.
FINANCIAL_FEATURESsimudyne.engine.features.contrib.financial8 financial stylized facts.
SUPPLY_CHAIN_FEATURESsimudyne.engine.features.contrib.supply_chain4 supply chain features.
EPIDEMIOLOGY_FEATURESsimudyne.engine.features.contrib.epidemiology4 epidemiology features.

Statistics (simudyne.engine.statistics)​

FunctionDescription
ks_two_sampleKolmogorov-Smirnov two-sample test.
anderson_darling_two_sampleAnderson-Darling two-sample test (tail-sensitive).
permutation_testExact p-value via resampling.
mann_whitney_uRank-based location test.
bootstrap_ciBCa bootstrap confidence interval.
wasserstein_distanceEarth mover's distance (L1 optimal transport).
energy_distanceEnergy distance (Szekely & Rizzo).
mmd_distanceMaximum Mean Discrepancy with RBF kernel.
jsd_distanceJensen-Shannon divergence.
bonferroni_correctionConservative family-wise error control.
holm_correctionStep-down Holm-Bonferroni.
benjamini_hochberg_fdrFalse discovery rate control.
benjamini_yekutieli_fdrFDR control for dependent tests.

Calibration & Ablation​

Class / FunctionModuleDescription
ABCSMCCalibratorsimudyne.engine.calibrationABC-SMC Bayesian calibration with adaptive epsilon.
Priorsimudyne.engine.calibrationPrior distribution (5 types: uniform, log_uniform, truncated_normal, beta, scipy).
ABCSMCResultsimudyne.engine.calibrationPosterior: MAP, mean, std, CI, samples, predictive.
compare_modelssimudyne.engine.calibrationComplexity-penalised multi-model comparison.
MechanismDeclarationsimudyne.engine.ablationMechanism metadata with hypothesis and predicted effect.
AblationRunnersimudyne.engine.ablationSingle + pairwise mechanism ablation.
NestedMCRunnersimudyne.engine.variance_decompositionNested ANOVA for LLM-ABM variance decomposition.
NestedANOVAResultsimudyne.engine.variance_decompositionICC, F-statistic, diagnosis.

Observability & Safety​

ClassModuleDescription
HookEventsimudyne.engine.hooks11 lifecycle events (BEFORE/AFTER_SETUP, BEFORE/AFTER_STEP, etc.).
HookRegistrysimudyne.engine.hooksRegister/fire hook callbacks.
GuardrailRegistrysimudyne.engine.guardrailsRuntime safety check management.
MaxAgentsGuardrailsimudyne.engine.guardrailsAgent population limit.
BudgetGuardrailsimudyne.engine.guardrailsLLM cost budget cap.
DeterminismGuardrailsimudyne.engine.guardrailsSeed and random module checks.
StateInvariantGuardrailsimudyne.engine.guardrailsCustom predicate invariant.
OTelInstrumentationsimudyne.engine.otelOpenTelemetry span and metric instrumentation.
AgentMemorysimudyne.engine.memoryPer-agent persistent key-value memory.
AuditTrailsimudyne.engine.auditDecision and event audit logging.
CheckpointManagersimudyne.engine.checkpointState save/restore with SHA-256 integrity.

Deployment​

Class / FunctionModuleDescription
ABMSettingssimudyne.engine.settingsTop-level settings container from settings.json.
ABMRuntimesimudyne.engine.runtimeOrchestrates settings + config + model execution.
Dashboardsimudyne.engine.dashboardWeb dashboard for monitoring.
SimulationStreamersimudyne.engine.streamingWebSocket server for live step data.
ModelVisualizersimudyne.engine.vizFactory: from_recorder(), from_mc_result(), from_model().
GraphBuildersimudyne.engine.graph_builderDeclarative model topology construction.
RunStoresimudyne.engine.run_storePersistent run metadata storage.
Scenariosimudyne.engine.scenarioNamed parameter presets for reproducible experiment configurations.
Chatsimudyne.engine.chatConversational model interaction interface.