pydbxdriverack
Python library for discovering, connecting to, and controlling dbx DriveRack PA2 devices.
Features
- Discover PA2 devices on the local network (UDP broadcast)
- Connect and authenticate over TCP
- Read device info (name, class, firmware)
- Recall presets and list preset names
- Control output mutes
- Read meter and limiter data
- Monitor AFS (Advanced Feedback Suppression) state
🤖 AI Assistance Disclosure
Parts of this project were developed with the assistance of Artificial Intelligence. AI tools were utilized as an accelerator to:
- Co-author and refine segments of the core library code.
- Help parse and structure raw data payloads during the reverse-engineering of the original hardware protocol.
- Transform early functional prototypes into a structured, production-ready package architecture.
- Generate test suites (
pytest) and draft structural documentation.
While AI assisted in speeding up the development workflow, all architectural decisions, hardware testing, protocol verification, and final code reviews were executed entirely by the author to ensure reliability and accuracy.
Installation
Install from source:
pip install .
For development dependencies:
pip install -e .
pip install pytest pytest-cov pytest-asyncio black ruff mypy pre-commit
Quick Start
import asyncio
from pydbxdriverack.connection import PA2Connection
from pydbxdriverack.device import PA2Device
from pydbxdriverack.discovery import async_discover_devices
async def main() -> None:
devices = await async_discover_devices(timeout=3)
if not devices:
print("No DriveRack PA2 found")
return
host = devices[0]
conn = PA2Connection(host, password="administrator")
await conn.connect()
try:
pa2 = PA2Device(conn)
await pa2.async_update_info()
print("Connected to:", pa2.device_name)
print("Firmware:", pa2.software_version)
# Example: unmute all outputs
await pa2.async_unmute_all()
finally:
await conn.disconnect()
if __name__ == "__main__":
asyncio.run(main())
Running Tests
pytest
Project Layout
src/pydbxdriverack/connection.py: TCP connection and protocol request handlingsrc/pydbxdriverack/device.py: High-level device APIsrc/pydbxdriverack/discovery.py: UDP discoverysrc/pydbxdriverack/const.py: Protocol constants and paths
License
GPL-3.0-only
Metadata
Release files for pydbxdriverack 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pydbxdriverack-0.1.0.tar.gz | 11.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pydbxdriverack-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.7 kB
Release files / pydbxdriverack-0.1.0.tar.gz
| Download URL | pydbxdriverack-0.1.0.tar.gz |
|---|---|
| Size | 11.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ef573e4262b2e7bdc5bc6f44c4d928fa3550aa499457e517295e3ad36e5ae886
|
|
BLAKE2b-256 checksum How to use checksums |
eeddd7b456cf87bde7836895f972b7bffc86356c329263f97cb8e82b60190b4e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 5, 2026.
Transparency logRelease files / pydbxdriverack-0.1.0-py3-none-any.whl
| Download URL | pydbxdriverack-0.1.0-py3-none-any.whl |
|---|---|
| Size | 9.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b355348ca35f11250729f5554c0f338aebc313122b992b119241b84e7a7daa0b
|
|
BLAKE2b-256 checksum How to use checksums |
75bb9a239996a8348755f1b32133505d00678492474a2596786875a09ca372f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 5, 2026.
Transparency log