Etho: A Python framework for coordinating stimuli, data acquisition, and hardware control in neuroscience experimentsΒΆ

Etho runs behavioral experiments by coordinating cameras, data acquisition, projectors, sensors, playlists, callbacks, and saved outputs from a single Python command-line or GUI entry point.

Hardware support

Etho supports cameras, data acquisition devices, projectors, and sensors from multiple vendors.

Supported Hardware
Text-based configuration

Etho uses YAML configuration files for rig and experiment settings, and supports dynamic configuration changes during runtime.

Configuration
Realtime

Etho supports realtime logging of video and audio data, with flexible configuration of what data to log and how to save it.

Logging
Fast & parallel

Etho executes hardware services and logging callbacks in parallel, making use of multi-core and GPU hardware.

Terminal and graphical user interfaces

Etho provides a terminal interface and a GUI for configuring, monitoring, and controlling experiments.

Command-Line Interface
Modular & extensible

Etho is designed to be easily extended with new hardware support and callbacks.

Extensions