Skip to main content

Communication with LabBench devices

Project description

labbench-comm

labbench-comm is an asynchronous Python framework for communicating with LabBench hardware devices over serial connections.
It provides a robust, testable, and extensible protocol stack with concrete device implementations, starting with the CPAR+ device.

The package is designed for:

  • Scientific and clinical research setups
  • Hardware control and automation
  • Deterministic, protocol-driven device communication
  • Async-first Python applications (asyncio)

Features

  • Async-first architecture using asyncio
  • Robust serial communication built on pyserial
  • Protocol abstraction (framing, packets, checksums, dispatch)
  • Typed device functions and messages
  • Extensible device model for adding new LabBench devices
  • Unit tests + hardware integration tests
  • CPAR+ device support (functions, messages, waveform control)

Supported Devices

  • CPAR+ (pressure stimulation device)

Additional devices can be added by implementing new Device, DeviceFunction, and DeviceMessage classes.


Requirements

  • Python 3.12+
  • Supported platforms: Windows, Linux, macOS (serial access required)

Installation

Install from PyPI:

pip install labbench-comm

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

labbench_comm-0.1.1.tar.gz (26.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

labbench_comm-0.1.1-py3-none-any.whl (39.1 kB view details)

Uploaded Python 3

File details

Details for the file labbench_comm-0.1.1.tar.gz.

File metadata

  • Download URL: labbench_comm-0.1.1.tar.gz
  • Upload date:
  • Size: 26.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for labbench_comm-0.1.1.tar.gz
Algorithm Hash digest
SHA256 73a44f3a2384467ce4d33b7e2f60afe2ec2a3cb99562d4fe7e5e6880650a2ff6
MD5 c5315350fa66643492d19666e156dafc
BLAKE2b-256 2318923a6c14005cb85e6ae3cbecacc592bc616521a0c42180976c6e57bbef12

See more details on using hashes here.

File details

Details for the file labbench_comm-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: labbench_comm-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 39.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for labbench_comm-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 eb92f0ed3f251656c8b37fb2a272060772d15a3cf622d965a0e1593f8beb3734
MD5 2962d4750b9b53c7b4752504c3d1bafb
BLAKE2b-256 aa3dab661afb52704bf9a6b7e6fe542019014aad387451f9acdbfca53e0b7436

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page