Skip to main content

CONDUYT protocol SDK for Python — host-side hardware control

Project description

conduyt-py

PyPI

CONDUYT protocol SDK for Python. Async and sync APIs for host-side hardware control.

Install

pip install conduyt-py

# With serial transport
pip install conduyt-py[serial]

# With MQTT transport
pip install conduyt-py[mqtt]

# All transports
pip install conduyt-py[all]

Quick Start

Async

from conduyt import ConduytDevice
from conduyt.transports.serial import SerialTransport

device = ConduytDevice(SerialTransport("/dev/ttyUSB0"))
hello = await device.connect()

await device.pin(13).mode("output")
await device.pin(13).write(1)
value = await device.pin(0).read("analog")

await device.disconnect()

Sync

from conduyt import ConduytDeviceSync
from conduyt.transports.serial import SerialTransport

device = ConduytDeviceSync(SerialTransport("/dev/ttyUSB0"))
device.connect()

device.pin(13).mode("output")
device.pin(13).write(1)
value = device.pin(0).read("analog")

device.disconnect()

Module Usage

from conduyt.modules.servo import ConduytServo

servo = ConduytServo(device)
await servo.attach(9)
await servo.write(90)

API Reference

ConduytDevice (async)

Method Returns Description
connect() HelloResp Connect and run HELLO handshake
disconnect() None Close connection
ping() None Ping/pong roundtrip
reset() None Reset device state
pin(num) PinProxy Pin control object

ConduytDeviceSync

Synchronous wrapper around ConduytDevice. Same methods, no await.

PinProxy

Method Returns Description
mode(mode) None Set pin mode: "input", "output", "pwm", "analog", "input_pullup"
write(value) None Digital or PWM write
read(mode?) int Read pin value

Errors

Class When
ConduytNAKError Device rejected a command
ConduytTimeoutError No response within timeout
ConduytDisconnectedError Transport disconnected

Transports

Transport Module Dependency
SerialTransport conduyt.transports.serial pyserial-asyncio
MQTTTransport conduyt.transports.mqtt aiomqtt
MockTransport conduyt.transports.mock None

Modules

Module Import Hardware
ConduytServo conduyt.modules.servo Hobby servos
ConduytNeoPixel conduyt.modules.neopixel WS2812/SK6812 LEDs
ConduytDHT conduyt.modules.dht DHT11/DHT22 sensors
ConduytOLED conduyt.modules.oled SSD1306 OLED displays
ConduytStepper conduyt.modules.stepper Stepper motors
ConduytEncoder conduyt.modules.encoder Rotary encoders
ConduytPID conduyt.modules.pid PID controller

Requirements

  • Python >= 3.10
  • pyserial-asyncio >= 0.6 (for serial transport)
  • aiomqtt >= 2.0 (for MQTT transport)

License

MIT. Copyright (c) 2026 LumenCanvas.

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

conduyt_py-0.3.0.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

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

conduyt_py-0.3.0-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

Details for the file conduyt_py-0.3.0.tar.gz.

File metadata

  • Download URL: conduyt_py-0.3.0.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for conduyt_py-0.3.0.tar.gz
Algorithm Hash digest
SHA256 1bf5be515b292b3a623aa1992fd42b2a34284e02a29b7a7832dea9fa63b559ae
MD5 81bd22c2c9ebf507eb3e4f3fb59d89b4
BLAKE2b-256 f235d36756a2b65dfcc59fb91d0fb92d9e017fe681d8de22a82fc8235ae7f466

See more details on using hashes here.

File details

Details for the file conduyt_py-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: conduyt_py-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 18.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for conduyt_py-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0f1064d3b5d5c76c5f730a84799eafd8e0f1d9a26352061ecfd01ac3677d9b1c
MD5 35a04ffcc0ea914ea764ecc3cfc4a6d9
BLAKE2b-256 846c485e453062808a5338f0f2aa34b705151f101d581d652af8abf049d9a06d

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