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.2.tar.gz (27.6 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.2-py3-none-any.whl (41.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: labbench_comm-0.1.2.tar.gz
  • Upload date:
  • Size: 27.6 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.2.tar.gz
Algorithm Hash digest
SHA256 965bdaebf97c289bd9cdc082748f101292585473442a7678228836a923bbc363
MD5 ffa30623ca04ae9abc9b529718115248
BLAKE2b-256 2c5374cb0a6e85be1ac88212287996577c0a8a59c56d6ef09605381ced29342f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: labbench_comm-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 41.0 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5a721ebc210356499adec1206cb6fab78690920882b48265f50e5b6a0bfc8b65
MD5 036a56f055d166cc79a646df7229fe87
BLAKE2b-256 d0f3c20eecc06117b5fc0a703c56735afb9cacb5d57600c1c438b3cc2c6f236c

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