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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce39b1ac2622cb083da4cebf400c6e44a27bd9702cdb213b9ad57f5cd39231bb
|
|
| MD5 |
a11ae6b607dd8c5d9dd3fc80c21bd657
|
|
| BLAKE2b-256 |
02ea89547b5ffc5e59a024af0b7ea9df5bf63622a1356d7b454b954dbc13ea97
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0692a622c163045390549c07f91daf7d55ef1714356989f0ce87eaf8a8e9d14b
|
|
| MD5 |
5941d094f3b188e5decc6b3b5f126150
|
|
| BLAKE2b-256 |
f8379ed1082a87c85ecb2dffdb4bac0808efefe3e8b74319decb5e285a7dd2e0
|