Skip to main content

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 handling
  • src/pydbxdriverack/device.py: High-level device API
  • src/pydbxdriverack/discovery.py: UDP discovery
  • src/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)

Source distribution for pydbxdriverack 0.1.0
File Size Uploaded
pydbxdriverack-0.1.0.tar.gz 11.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pydbxdriverack 0.1.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page