chore: adopt the NAPALM driver standard
driver / standard (pull_request) Successful in 13s
driver / lint (pull_request) Successful in 12s
driver / types (pull_request) Successful in 45s
driver / test (3.10) (pull_request) Successful in 2m40s
driver / test (3.11) (pull_request) Successful in 2m40s
driver / test (3.12) (pull_request) Successful in 2m37s
driver / test (3.13) (pull_request) Successful in 2m34s
driver / lowest (pull_request) Successful in 2m16s
driver / security (pull_request) Successful in 47s
driver / build (pull_request) Successful in 22s
CI / driver (pull_request) Successful in 15m6s
driver / publish (pull_request) Skipped

- CI moves to .gitea/workflows/ci.yml and calls the shared driver workflow
  of NAPALM/driver-standard; .github/ is gone.
- napalm-device-types >=4.21.1 is now declared: the driver imports
  MediaDriver, PortSpec and FingerprintRule from it, and CI used to
  install it by hand.
- requires-python >=3.10 (napalm-device-types needs it), LICENSE, README,
  CHANGELOG, py.typed, SPDX license string, setuptools>=77, version floors
  on the dev extra, links to git.netork.io; .gitignore as in the template.
- mypy strict for the package; napalm_sonos.sonos_driver is exempt for now
  (5 errors, two of them return types that differ from MediaDriver's),
  recorded in the quality baseline.
- Coverage floor 71 % (measured 71.30 %).
This commit is contained in:
Christian Manivong committed 2026-10-23 09:00:07 +02:00
1 parent a6d1d1e597
commit 168841ebb8
9 files changed
+350 -61

No files matched your search

+31
View File
@@ -0,0 +1,31 @@
# Changelog
All notable changes to this driver. The format follows
[Keep a Changelog](https://keepachangelog.com/), versions follow
[Semantic Versioning](https://semver.org/).
## [Unreleased]
### Changed
- The driver follows the NAPALM driver standard
(https://git.netork.io/NAPALM/driver-standard): CI on Gitea runs ruff, mypy, the
tests on Python 3.10–3.13 and at the lowest declared versions, bandit, pip-audit and
a build check, and a release tag publishes to PyPI. The package now ships `py.typed`,
a README and a LICENSE file. **Python 3.9 is no longer supported**; napalm-device-types
never ran on it.
- napalm-device-types (4.21.1 or later, from PyPI) is now a declared dependency; the
driver always imported it.
- A failure to read the speaker's device properties (wired or wireless) is now logged
at debug level.
## [0.2.0] - 2026-10-17
### Removed
- **Breaking:** `run_device_action()`. The media controls it dispatched by string
(`play`, `pause`, `stop`, next/previous track, volume, mute) are the typed methods
`play()`, `set_volume()` and the others.
## [0.1.0] - 2026-06-13
### Added
- `sonos` driver: facts, interfaces and media controls for Sonos speakers through SoCo.