Skip to content

janclemenslab/etho

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

650 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Test Documentation License: MIT DOI

Etho is an open-source Python framework for running behavioral neuroscience experiments that require coordinated stimulus presentation, hardware control, data acquisition, and experiment logging.

It was developed for neuroscience experiments, where multiple hardware devices must operate together with reproducible timing. etho coordinates cameras, National Instruments DAQ hardware, acoustic and optogenetic stimulation, environmental sensors, and external imaging systems through a modular service-based architecture.

The software is designed to make experiments reproducible, configurable, and maintainable by separating:

  • experiment logic and hardware (protocol.yaml)
  • stimulus definitions (playlist.txt)
  • acquisition callbacks and logs

from the underlying device code.

See the documentation for details.

Installation

Quick installation:

uv venv --python 3.14
.venv\Scripts\activate
uv pip install etho-python

Some hardware backends require additional vendor SDKs and drivers and specific python versions. See the full installation guide.

Usage

Etho can be controlled via a GUI. Launch it with:

etho gui

Alternatively, experiments can be run from the terminal:

etho run protocol.yaml playlist.txt

Data generated by etho can be inspected, annotated, and analyzed with xarray-behave.

Citation

A JOSS paper describing the software is in preparation. For now, if you use etho or components of it in your research, please check the Cite this repository button in the repository sidebar or cite:

Clemens, J. (2026). Etho: A Python framework for coordinating stimuli, data acquisition, and hardware control in neuroscience experiments. doi:10.5281/zenodo.20110619

The etho software has been used in the following publications:

  • Ravindran Nair, S., Palacios-Muñoz, A., Martineau, S., Nasr, M., & Clemens, J. (2026). Sex-specific behavioral feedback modulates sensorimotor processing and drives flexible social behavior. Nature Communications, 17, 4026. https://doi.org/10.1038/s41467-026-72057-9

  • Steinfath, E., Khalili, A., Stenger, M., Schultze, B. L., Nair, S. R., Alizadeh, K., & Clemens, J. (2025). A neural circuit for context-dependent multimodal signaling in Drosophila. Nature Communications, 16, 9472. https://doi.org/10.1038/s41467-025-64907-9

  • Palacios-Muñoz, A., & Clemens, J. (2025). Drosophila males integrate song and pheromones using context-specific strategies. BioRxiv. https://doi.org/10.1101/2025.07.25.666755

  • Vijendravarma, R. K., Narasimha, S., Steinfath, E., Clemens, J., & Leopold, P. (2022). Drosophila females have an acoustic preference for symmetric males. Proceedings of the National Academy of Sciences, 119(13), e2116136119. https://doi.org/10.1073/pnas.2116136119

Contributors