agentsociety.webapi.api.experiment

Module Contents

Functions

_find_started_experiment_by_id

Find an experiment by ID and check if it has started

list_experiments

List all experiments

get_experiment_by_id

Get experiment by ID

get_experiment_status_timeline_by_id

Get experiment status timeline by ID

delete_experiment_by_id

Delete experiment by ID

get_experiment_metrics_by_id

Get metrics for an experiment by ID

serialize_metrics

Serialize metrics data for JSON output

get_experiment_metrics

Get all metrics for an experiment, aggregated by metric key

export_experiment_data

Export experiment data as a zip file containing YAML and CSV files

export_experiment_artifacts

Export experiment artifacts as a JSON file

Data

API

agentsociety.webapi.api.experiment.__all__

[‘router’]

agentsociety.webapi.api.experiment.router

‘APIRouter(…)’

async agentsociety.webapi.api.experiment._find_started_experiment_by_id(request: fastapi.Request, db: sqlalchemy.ext.asyncio.AsyncSession, exp_id: uuid.UUID) agentsociety.webapi.models.experiment.Experiment

Find an experiment by ID and check if it has started

async agentsociety.webapi.api.experiment.list_experiments(request: fastapi.Request) agentsociety.webapi.models.ApiResponseWrapper[List[agentsociety.webapi.models.experiment.ApiExperiment]]

List all experiments

async agentsociety.webapi.api.experiment.get_experiment_by_id(request: fastapi.Request, exp_id: uuid.UUID) agentsociety.webapi.models.ApiResponseWrapper[agentsociety.webapi.models.experiment.ApiExperiment]

Get experiment by ID

async agentsociety.webapi.api.experiment.get_experiment_status_timeline_by_id(request: fastapi.Request, exp_id: uuid.UUID) agentsociety.webapi.models.ApiResponseWrapper[List[agentsociety.webapi.models.experiment.ApiTime]]

Get experiment status timeline by ID

async agentsociety.webapi.api.experiment.delete_experiment_by_id(request: fastapi.Request, exp_id: uuid.UUID)

Delete experiment by ID

async agentsociety.webapi.api.experiment.get_experiment_metrics_by_id(request: fastapi.Request, db: sqlalchemy.ext.asyncio.AsyncSession, exp_id: uuid.UUID) Tuple[bool, Dict[str, List[agentsociety.webapi.models.metric.ApiMetric]]]

Get metrics for an experiment by ID

Args: request: FastAPI request db: Database session exp_id: Experiment ID

Returns: Tuple containing: - bool: Whether metrics were found - Dict[str, List[ApiMetric]]: Metrics data aggregated by key

agentsociety.webapi.api.experiment.serialize_metrics(metrics_by_key: Dict[str, List[agentsociety.webapi.models.metric.ApiMetric]]) Dict[str, List[dict]]

Serialize metrics data for JSON output

Args: metrics_by_key: Metrics data aggregated by key

Returns: Dict with serialized metrics data

async agentsociety.webapi.api.experiment.get_experiment_metrics(request: fastapi.Request, exp_id: uuid.UUID) agentsociety.webapi.models.ApiResponseWrapper[Dict[str, List[agentsociety.webapi.models.metric.ApiMetric]]]

Get all metrics for an experiment, aggregated by metric key

async agentsociety.webapi.api.experiment.export_experiment_data(request: fastapi.Request, exp_id: uuid.UUID) fastapi.responses.StreamingResponse

Export experiment data as a zip file containing YAML and CSV files

async agentsociety.webapi.api.experiment.export_experiment_artifacts(request: fastapi.Request, exp_id: uuid.UUID) fastapi.responses.StreamingResponse

Export experiment artifacts as a JSON file