Skip to main content
Ctrl K

bpod-core

bpod-core is a modern, open-source Python library for interfacing with Bpod finite-state machines, enabling precise and reproducible control of behavioral neuroscience experiments.

Get started
1044 commitsLast commit ≈ 1 day ago6 stars4 forks

Description

bpod-core is a Python library for running behavioral experiments on Bpod hardware. You
describe the trial logic as a finite state machine; bpod-core validates it, runs it on a
connected Bpod device, and returns every recorded event with precise timestamps as an
analysis-ready data frame.

Bpod Finite State Machines are an open-source platform by
Sanworks for controlling behavioral experiments: a
microcontroller-based finite state machine that runs the trial logic in real time and
talks to sensors, valves, and other peripherals with deterministic millisecond-scale
timing. Running the state machine on dedicated microcontroller hardware, rather than a
general-purpose computer, keeps time-critical trial execution isolated from
operating-system scheduling jitter. This makes Bpod particularly well-suited to
closed-loop experiments, where state transitions must be triggered by sensor readings
within a tight, predictable latency.

bpod-core grew out of the need for a modern, well-tested way to work with Bpod devices
from Python, and is designed to fit naturally into everyday research workflows. It is
maintained by the software development team at the
International Brain Laboratory.

Keywords
Badges
CIChecked with mypyCoverage StatusPython VersionsDOI
Programming language
  • Python 100%
License
</>Source code
Packages
Software Heritage
Archived | swh:1:dir:f48488bb030a5c3329a104149d66feb32228887bArchived | swh:1:dir:695659d3175962482c87dadd5f3234c9aaa5f224

Participating organisations

International Brain Laboratory
IBL Core