Skip to main content

Network client for Advanced Illumination DCS light controllers

Project description

pydcscontrol

Python client library for communicating with Advanced Illumination DCS light controllers over the Ethernet interface.

This package implements the controller's SCPI-like command protocol over TCP (default port 777) and supports UDP discovery (default port 7777).

Features

  • Clean, typed Python API
  • UDP device discovery
  • Channel control helpers for mode, current, trigger edge, pulse width, and pulse delay
  • Profile management helpers
  • No native extension dependencies

Installation

uv add pydcscontrol
# or
pip install pydcscontrol

Usage

from pydcscontrol import DCSController, Mode, TriggerEdge

controller = DCSController("192.168.1.40")

print(controller.identify())
controller.set_mode(1, Mode.CONTINUOUS)
controller.set_level(1, 250)
controller.set_trigger_edge(1, TriggerEdge.RISING)

devices = DCSController.discover(timeout_seconds=0.75)
for device in devices:
    print(device.host, device.idn)

Development

uv sync
uv run pytest
uv build
git tag -a vX.Y.Z -m vX.Y.Z
git push --tags

If a deployment fails

git tag -d vX.Y.Z
git push origin :refs/tags/vX.Y.Z
git tag -a vX.Y.Z -m vX.Y.Z
git push --tags

Notes

  • Commands are automatically semicolon-terminated if omitted.
  • The library raises typed exceptions for network and protocol issues.

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

pydcscontrol-0.1.0.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

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

pydcscontrol-0.1.0-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file pydcscontrol-0.1.0.tar.gz.

File metadata

  • Download URL: pydcscontrol-0.1.0.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","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

Hashes for pydcscontrol-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ce39b1ac2622cb083da4cebf400c6e44a27bd9702cdb213b9ad57f5cd39231bb
MD5 a11ae6b607dd8c5d9dd3fc80c21bd657
BLAKE2b-256 02ea89547b5ffc5e59a024af0b7ea9df5bf63622a1356d7b454b954dbc13ea97

See more details on using hashes here.

File details

Details for the file pydcscontrol-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pydcscontrol-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","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

Hashes for pydcscontrol-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0692a622c163045390549c07f91daf7d55ef1714356989f0ce87eaf8a8e9d14b
MD5 5941d094f3b188e5decc6b3b5f126150
BLAKE2b-256 f8379ed1082a87c85ecb2dffdb4bac0808efefe3e8b74319decb5e285a7dd2e0

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