Observed since 20 Oct, 20:29 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Discrete-event simulation and developer workbench for low-altitude autonomous systems
AeroAgentSim is a discrete-event simulation toolkit and developer workbench for low-altitude autonomous systems. It is designed for developers who need to configure workflows, run algorithmic experiments, inspect execution chains, and verify runtime behavior through trajectories, logs, and spatial snapshots.
The current repository, workbench, and source distribution use AeroAgentSim and aeroagentsim. Existing code can continue to import airfogsim, and the citation section below points to the JOSS paper published under the original AirFogSim title.
pip install -e .[dev]from aeroagentsim import EnvironmentOverview, Class Catalog, Workflow Studio, Run Console, Trajectories & Logsruntime/aeroagentsim/agent / task / workflow definitions are file-backed under registry/aeroagentsim/The AeroAgentSim workbench is built for configuration, validation, execution, and runtime verification:
Overview: current config version, recent run, and validation statusClass Catalog: builtin and custom metadata plus compatibility lookupWorkflow Studio: table/form editing with a workflow-agent-state relation graphRun Console: start, pause, resume, reset, live logs, critical path, and live 2D mapTrajectories & Logs: run history, trajectory replay, and structured log inspectionThe visualization layer is intentionally lightweight and developer-oriented:
simulation_plane mode with CRS.Simplegeo_osm mode with geographic coordinatesWorkflow Studio uses forms and tables as the persisted source of truth. The relation graph is an interactive inspection canvas with auto layout, wheel or trackpad zoom inside the canvas, background drag-to-pan, and node drag refinement for local layout adjustment.
The workbench also provides:
zh-CN / en-US UI switchingValidate for the active draft in Workflow StudioReview / Validate checks for draft consistency and runtime readinessrun_idCustom definitions are stored as files:
registry/aeroagentsim/agents/registry/aeroagentsim/tasks/registry/aeroagentsim/workflows/Runtime state is separated cleanly from configuration snapshots:
runtime/aeroagentsim/configs/runtime/aeroagentsim/runs/<run_id>/logs/, workflow_states/, trajectories/, spatial/, metrics/Run start performs runtime preflight. Compatibility findings such as skipped default create_airspace or create_frequency injection remain warning entries. Only preflight errors block POST /api/runs.
These environment variables are the main public knobs for local development and automation:
AEROAGENTSIM_RUNTIME_DIRAEROAGENTSIM_REGISTRY_DIRAEROAGENTSIM_DB_PATHAEROAGENTSIM_LOG_LEVELAIRFOGSIM_RUNTIME_DIRAIRFOGSIM_REGISTRY_DIRAIRFOGSIM_DB_PATHAIRFOGSIM_LOG_LEVELREACT_APP_API_BASE_URLREACT_APP_WS_BASE_URLREACT_APP_ENABLE_MOCK_FALLBACKOPENWEATHERMAP_API_KEY for weather-backed examplesSUMO_HOME for SUMO traffic workflowsFor the current repository and workbench, use a source install:
python -m venv aeroagentsim_env
source aeroagentsim_env/bin/activate
pip install -e .[dev]
If you also want documentation tooling:
pip install -e ".[dev,docs]"
python -c "import aeroagentsim, airfogsim; from aeroagentsim import Environment; from airfogsim import Environment as LegacyEnvironment; print(Environment.__name__, Environment is LegacyEnvironment)"
from aeroagentsim import Environment
from aeroagentsim.agent import DroneAgent
from aeroagentsim.component import ChargingComponent, MoveToComponent
from aeroagentsim.workflow.inspection import create_inspection_workflow
env = Environment()
drone = env.create_agent(
DroneAgent,
"drone1",
properties={
"position": [10, 10, 0],
"battery_level": 100,
},
)
drone.add_component(MoveToComponent(env, drone))
drone.add_component(ChargingComponent(env, drone))
workflow = create_inspection_workflow(
env,
drone,
[
(10, 10, 50),
(100, 40, 80),
(180, 120, 60),
(10, 10, 0),
],
)
workflow.start()
env.run(until=600)
python main_for_visualization.py --backend-port 8002 --frontend-port 3000
The current workbench API exposes these main groups:
GET /api/catalog/agents|components|tasks|workflowsGET /api/catalog/compatibilityGET/POST /api/registry/{kind}GET/PUT/DELETE /api/registry/{kind}/{definition_id}POST /api/registry/{kind}/{definition_id}/validateGET/PUT /api/configs/{config_id}GET/POST /api/configs/{config_id}/graphPOST /api/configs/{config_id}/preflightPOST /api/configs/{config_id}/validateGET /api/healthPOST /api/runtime/resetGET /api/runsPOST /api/runsPOST /api/runs/{run_id}/pause|resume|resetDELETE /api/runs/{run_id}GET /api/runs/{run_id}/status|logs|trajectories|spatialIf you use AeroAgentSim in research, cite the JOSS paper:
@article{Wei2025,
doi = {10.21105/joss.08267},
url = {https://doi.org/10.21105/joss.08267},
year = {2025},
publisher = {The Open Journal},
volume = {10},
number = {111},
pages = {8267},
author = {Wei, Zhiwei and Li, Bing and Zhang, Rongqing},
title = {AirFogSim: A Python Package for Benchmarking Collaborative Intelligence in Low-Altitude Vehicular Fog Computing},
journal = {Journal of Open Source Software}
}
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 1.1.1 | 27 Mar 2026 | 25 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 20:29 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:13b75e04c75ba280fe181cd835f032b4c34bd1d0e66a5de55bb5fbf8cf3a69cc