AETHER pip install aether-robotics
Usage

Python API

AETHER is primarily a CLI, but components are importable. Run a skill against a registry directly:

from aether.skills.drive_until_obstacle import drive_until_obstacle

# `registry` exposes move_forward + get_distance
result = drive_until_obstacle(
    target_cm=5.0, max_speed=25.0, timeout_s=15.0, registry=registry,
)
print(result["stop_reason"], result["final_distance_cm"])

Register skills (auto-checks prerequisites) and use the parallel primitives:

from aether.skills import register_skills
registered = register_skills(registry)   # -> ["drive_until_obstacle"]

from aether.parallel.executor import ParallelExecutor
ex = ParallelExecutor(name="my_skill", timeout_s=10.0)
ex.add_task("motor", motor_task)
ex.add_task("sensor", sensor_task)
result = ex.run()

import aether
print(aether.__version__)   # "3.9.5"

aether/skills/__init__.py re-exports the drive_until_obstacle function. To reach module-level constants use importlib.import_module("aether.skills.drive_until_obstacle").