Skip to main content

Description

This is a python program for controlling Dante network audio devices (and possibly others in the future). It's early, so expect things to break or switches to change. Use this at your own risk; it's not ready for anything other than a test environment and could make the devices behave unexpectedly. The first goal is to do everything that Dante Controller can do that would be useful for control of the devices from a command-line interface or within scripts.

For more information, check out the gearspace discussion.

Features

Current

  • AVIO input/output gain control
  • AES67 readiness in the browser: supported and active modes, pending changes, and DDM-reported RTP flow availability
  • Add/remove subscriptions
  • CLI and browser interface
  • Cross-platform daemon
  • DDM-enrolled device settings in the browser, including latency, encoding, analog gain, preferred leader, network configuration, reboot, and sample-rate controls for supported models
  • Primary and secondary DHCP/static network configuration on supported Wing devices, through the browser, CLI and API, including DDM-managed control
  • Device lock/unlock
  • Display active subscriptions, Rx and Tx channels, devices names and addresses, subscription status
  • JSON output
  • Set device latency, sample rate, encoding
  • Set/reset channel names, device names
  • mDNS device discovery

Installation

To install from PyPI:

uv tool install netaudio

Or with pip/pipx:

pip install netaudio

To install from a clone (requires Python 3.9+ and a Rust toolchain):

uv sync
uv run netaudio

Arch Linux

To install from AUR, build the package with aur/netaudio.

Usage

Run netaudio if installed globally, or uv run netaudio from a clone. Use --help to list commands and options.

To open the browser interface:

netaudio daemon start
netaudio daemon web --open

The server reports its installed version at GET /server-info and during local-network discovery. A Git revision is included when the installation metadata identifies a Git commit.

Run tests:

uv run pytest -q
cargo test --manifest-path packages/netaudio-core/Cargo.toml

Lint and format:

uv run ruff check .
uv run ruff format .
HTTPS

The daemon serves plain HTTP by default. If you already have a certificate for the machine, the daemon can additionally serve HTTPS on a second port; nothing is generated or managed for you:

[daemon]
tls_certificate = "/etc/netaudio/daemon.crt"
tls_key = "/etc/netaudio/daemon.key"
tls_port = 9443

Relative paths resolve against the config file's directory, tls_port defaults to 9443, and the HTTP port keeps working for local tools. netaudio daemon tls shows the active configuration and the certificate's SHA-256 fingerprint; netaudio daemon web lists the HTTPS addresses alongside HTTP. The Bonjour record carries the HTTPS port as tls_port. Clients trust the certificate through their normal trust store, so a certificate signed by a CA your devices already trust is the least friction.

Documentation

Metadata

Release files for netaudio 0.3.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for netaudio 0.3.6
File Size Uploaded
netaudio-0.3.6.tar.gz 696.6 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for netaudio 0.3.6
File
netaudio-0.3.6-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
netaudio-0.3.6-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details
netaudio-0.3.6-py3-none-manylinux_2_28_aarch64.whl Python 3 none Linux glibc 2.28+ ARM64 Details
netaudio-0.3.6-py3-none-macosx_11_0_x86_64.whl Python 3 none macOS 11.0+ x86-64 Details
netaudio-0.3.6-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details

Total release size: 7.1 MB

Release files / netaudio-0.3.6.tar.gz

Download URL netaudio-0.3.6.tar.gz
Size 696.6 kB
Tags Source
SHA-256 checksum
How to use checksums
e631829496439b3954984059b995a19ae72c0ec42d3db51d1511bfd733bde51b
BLAKE2b-256 checksum
How to use checksums
42ea3584b428485f9de0946fedfe0b78977eb99ba8bb00c94dc3901133031d79
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 10, 2026.

Transparency log

Release files / netaudio-0.3.6-py3-none-win_amd64.whl

Download URL netaudio-0.3.6-py3-none-win_amd64.whl
Size 1.2 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
69a18fb5681b4d2a8b0633794a475fab461f0a2bc18fd105fdbaf43f936f06e9
BLAKE2b-256 checksum
How to use checksums
3a215d23d6f27cc051451796cad048198f5f76bcd0b2e5ed6ee6ec75e0110beb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 10, 2026.

Transparency log

Release files / netaudio-0.3.6-py3-none-manylinux_2_28_x86_64.whl

Download URL netaudio-0.3.6-py3-none-manylinux_2_28_x86_64.whl
Size 1.3 MB
Tags Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
3c2b3b837b945b4e19c2c16fa6b1d52ec3795ed8b6f53db52e2e75e4a088d762
BLAKE2b-256 checksum
How to use checksums
0f658c763fadc7e1ff2fc4d761c31466469924e223e76e310c9ec27f84405535
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 10, 2026.

Transparency log

Release files / netaudio-0.3.6-py3-none-manylinux_2_28_aarch64.whl

Download URL netaudio-0.3.6-py3-none-manylinux_2_28_aarch64.whl
Size 1.3 MB
Tags Linux glibc 2.28+ ARM64 Python 3
SHA-256 checksum
How to use checksums
2cd31654869e5c599d04e90e77c455066d181a5b87c26bafa85091a6519a025a
BLAKE2b-256 checksum
How to use checksums
796db845531636334a3765f88620dcac8e83c03791bd94fb836b6db4a3064daa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 10, 2026.

Transparency log

Release files / netaudio-0.3.6-py3-none-macosx_11_0_x86_64.whl

Download URL netaudio-0.3.6-py3-none-macosx_11_0_x86_64.whl
Size 1.3 MB
Tags Python 3 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
c7ca08518a3cafee760b800cc15166982b1ef4d95da9258eb3cf0c956fac1a26
BLAKE2b-256 checksum
How to use checksums
9ff9b485d171c44ed4799b86748a3d4468df3189f656d8993bcb9b552d79964b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 10, 2026.

Transparency log

Release files / netaudio-0.3.6-py3-none-macosx_11_0_arm64.whl

Download URL netaudio-0.3.6-py3-none-macosx_11_0_arm64.whl
Size 1.3 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7addfc4e0d473745c74a9f37129bb89518d1d7eedbe51a0937ce0bb26683cb04
BLAKE2b-256 checksum
How to use checksums
c511f3752d573c9f0c5f6f224373736aa051938cd883a5920683a3a8fe21f40a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 10, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.14

6 release files

0.3.13

6 release files

0.3.12

6 release files

0.3.9

6 release files

0.3.7

6 release files

This release

0.3.6 This release

6 release files

0.3.5

6 release files

0.3.4

6 release files

0.3.3

6 release files

0.3.1

6 release files

0.3.0

6 release files

0.2.5

5 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

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