Skip to main content

An async Python library and CLI for interacting with Sonance DSP amplifiers.

Project description

Sonance Py

Sonance Py is an async Python library for controlling Sonance DSP amplifiers, including the DSP8-130 and related models that expose the same unauthenticated HTTP interface.

The project is intended to support a future Home Assistant integration and a Typer-based CLI for local development, testing, and troubleshooting.

Current Status

This project is in early development. The initial client implements the basic HTTP API shape discovered from the amplifier web UI:

  • General settings read/write operations
  • Input/output settings read/write operations
  • EQ preset read/write/action operations
  • Shared async HTTP session support

The CLI is not implemented yet.

HTTP API

The amplifier web UI calls an unauthenticated endpoint at:

/Web/Handler.php

The API uses query parameters for reads and writes, and returns JSON state objects. The documented API shape is available in:

Docs/http-api.md

Basic Usage

import asyncio

from sonance_py import SonanceDSP


async def main() -> None:
    async with SonanceDSP("192.168.1.50") as amp:
        general = await amp.read_general()
        print(general.amplifier_model)


asyncio.run(main())

Development

This project uses UV for dependency management and packaging.

Install dependencies:

uv sync

Run Ruff:

uv run ruff check .
uv run ruff format . --check

Build the package:

uv build

Notes

  • The device endpoint is unauthenticated HTTP.
  • API indexes are zero-based because that is how the web UI addresses arrays.
  • The project targets Python 3.14 and newer.
  • Behavior still needs validation against real amplifier hardware and firmware versions.

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

sonance_py-0.1.0.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

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

sonance_py-0.1.0-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sonance_py-0.1.0.tar.gz
  • Upload date:
  • Size: 12.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for sonance_py-0.1.0.tar.gz
Algorithm Hash digest
SHA256 dade2140f6e68073a0832ec4443ed273631a85d1a41c6715b286cbe37c19bacc
MD5 b7a2ff2fdfd94d8978504de8bb2477de
BLAKE2b-256 6e8e969f2a1ffa1959d0a910bcf3db82aa84352800ce18de589428d4464a8f85

See more details on using hashes here.

Provenance

The following attestation bundles were made for sonance_py-0.1.0.tar.gz:

Publisher: publish.yml on bot190/Sonance-Py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: sonance_py-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for sonance_py-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d4d3469dc2412c95c6e1d2a566a76b7e1146fa58b38973d1dd593f355a15a827
MD5 8182151f7b38dd6cd9deb1a9160c6e95
BLAKE2b-256 c0fa7e950b7de3d18ff2ea4791d76618ea1a6b792fa6fecb5645e17ae2a5c0ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for sonance_py-0.1.0-py3-none-any.whl:

Publisher: publish.yml on bot190/Sonance-Py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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