Skip to content

PyPulsePal

PyPI Ruff

Python API for the PulsePal open-source pulse train generator.

Key features

  • Validated Pydantic v2 models for channel and trigger configuration
  • Single-call bulk upload (sync_all_params) and per-parameter programming (program_one_param)
  • JSON and YAML config file I/O
  • Custom pulse trains and arbitrary waveforms
  • SD card persistence (model 2)
  • Digital logic output (model 2)
  • Context manager with automatic save-on-exit

Quick start

from pypulsepal import PulsePal

with PulsePal(serial_port="/dev/ttyACM0") as pp:
    pp.channel_configs[0].phase1Voltage = 5.0
    pp.channel_configs[0].pulseTrainDuration = 1.0
    pp.sync_all_params()
    pp.trigger_selected_channels(channel_1=True)

Getting Started for installation and a step-by-step walkthrough.