Python API for the PulsePal open-source pulse train generator
Project description
PyPulsePal
Python API for the PulsePal open-source pulse train generator.
Example usage
Load and apply a saved config file:
from pypulsepal import PulsePal
from pypulsepal.config_io import load_config
cfg = load_config("my_params.json") # or .yaml
with PulsePal.from_config(cfg, serial_port="/dev/ttyACM0") as pp:
pp.trigger_selected_channels(channel_1=True)
Standard instantiation:
import time
from pypulsepal import PulsePal
pp = PulsePal(serial_port="/dev/ttyACM0")
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)
time.sleep(1)
pp.stop_all_outputs()
pp.close()
As a context manager (saves settings and closes on exit automatically):
import time
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)
time.sleep(1)
pp.stop_all_outputs()
Installation
pip install pypulsepal
With YAML config file support:
pip install "pypulsepal[yaml]"
From source:
git clone https://github.com/larsrollik/pypulsepal.git
cd pypulsepal
pip install -e ".[yaml]"
Citation
To cite PyPulsePal:
Rollik, Lars B. (2022). PyPulsePal: Python API for the PulsePal open-source pulse train generator. doi: 10.5281/zenodo.6379627.
@misc{rollik2022pypulsepal,
author = {Lars B. Rollik},
title = {{PyPulsePal: Python API for the PulsePal open-source pulse train generator}},
year = {2022},
publisher = {Zenodo},
url = {https://doi.org/10.5281/zenodo.6379627},
doi = {10.5281/zenodo.6379627},
}
Please also cite the original PulsePal hardware and PyBpod publications that this package builds on.
License & sources
This software is released under the GNU GPL v3.0.
This work is derived from the Sanworks PulsePal Python API (commit: 5bb189f).
src/pypulsepal/_arcom.py is vendored from pybpod-api 1.8.2 (MIT, Copyright © 2016 Champalimaud Foundation) with minor adaptations.
Useful references
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pypulsepal-0.3.2.tar.gz.
File metadata
- Download URL: pypulsepal-0.3.2.tar.gz
- Upload date:
- Size: 30.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3134e4b2246b1e241eadd4b054b5f90f31af8fbc1717e9951d0921490ca7e0ec
|
|
| MD5 |
6583d05a787996b6af9a773796034b4c
|
|
| BLAKE2b-256 |
af0717ad216cda0c07a81d1f71ba08648961a6ad3ebd5ca17cc544b14a31c780
|
File details
Details for the file pypulsepal-0.3.2-py3-none-any.whl.
File metadata
- Download URL: pypulsepal-0.3.2-py3-none-any.whl
- Upload date:
- Size: 25.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f977941b3bb8344e25f410bbce0587d9060c50d71ab2c413cac75e89babc78fa
|
|
| MD5 |
51f78e063e9eac8dbe5402a74dc2ee4a
|
|
| BLAKE2b-256 |
992d755bca2b125e203b2fbd4ebc47539dc4e3007087a9edfea0d0760b99ab1b
|