Skip to content

Commit ea86b51

Browse files
authored
Version v0.9.0
Version v0.9.0
2 parents b414664 + e597c18 commit ea86b51

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+4443
-2068
lines changed

.coveragerc

Lines changed: 0 additions & 2 deletions
This file was deleted.

.devcontainer/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
{
44
"name": "pyheos Dev",
55
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
6-
"image": "mcr.microsoft.com/devcontainers/python:1-3.12-bullseye",
6+
"image": "mcr.microsoft.com/devcontainers/python:1-3.13-bullseye",
77
"postCreateCommand": "git config --global --add safe.directory ${containerWorkspaceFolder} | script/setup",
88
"containerEnv": {
99
"PYTHONASYNCIODEBUG": "1",

.github/workflows/ci.yaml

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,16 @@ jobs:
1616
- name: Set up Python
1717
uses: actions/setup-python@v5
1818
with:
19-
python-version: "3.12"
19+
python-version: "3.13"
2020
- uses: actions/cache@v4
2121
with:
2222
path: ${{ env.pythonLocation }}
2323
key: ${{ env.pythonLocation }}-${{ hashFiles('requirements.txt') }}-${{ hashFiles('test-requirements.txt') }}
2424
- name: Install dependencies
2525
run: |
2626
python -m pip install --upgrade pip
27-
pip install -r requirements.txt -r test-requirements.txt --upgrade --upgrade-strategy eager
27+
pip install uv
28+
uv pip install -r requirements.txt -r test-requirements.txt --upgrade --system
2829
- name: Spelling (codespell)
2930
run: codespell
3031
- name: Lint (Ruff)
@@ -42,7 +43,7 @@ jobs:
4243
needs: lint
4344
strategy:
4445
matrix:
45-
python-version: ["3.11", "3.12"]
46+
python-version: ["3.11", "3.12", "3.13"]
4647
steps:
4748
- uses: actions/checkout@v4
4849
- name: Set up Python
@@ -56,7 +57,8 @@ jobs:
5657
- name: Install dependencies
5758
run: |
5859
python -m pip install --upgrade pip
59-
pip install -r requirements.txt -r test-requirements.txt --upgrade --upgrade-strategy eager
60+
pip install uv
61+
uv pip install -r requirements.txt -r test-requirements.txt --upgrade --system
6062
- name: Run pytest on ${{ matrix.python-version }}
6163
run: pytest
6264

@@ -69,19 +71,19 @@ jobs:
6971
- name: Set up Python
7072
uses: actions/setup-python@v5
7173
with:
72-
python-version: "3.12"
74+
python-version: "3.13"
7375
- uses: actions/cache@v4
7476
with:
7577
path: ${{ env.pythonLocation }}
7678
key: ${{ env.pythonLocation }}-${{ hashFiles('requirements.txt') }}-${{ hashFiles('test-requirements.txt') }}
7779
- name: Install dependencies
7880
run: |
7981
python -m pip install --upgrade pip
80-
pip install -r requirements.txt -r test-requirements.txt --upgrade --upgrade-strategy eager
82+
pip install uv
83+
uv pip install -r requirements.txt -r test-requirements.txt --upgrade --system
8184
- name: Run pytest on ${{ matrix.python-version }}
82-
run: pytest --cov=./ --cov-report=xml
85+
run: pytest --cov --cov-report=xml
8386
- name: Upload coverage reports to Codecov
84-
uses: codecov/codecov-action@v4.0.1
87+
uses: codecov/codecov-action@v5
8588
with:
8689
token: ${{ secrets.CODECOV_TOKEN }}
87-
fail_ci_if_error: true

.github/workflows/publish.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,17 @@ jobs:
1414
- name: Set up Python
1515
uses: actions/setup-python@v5
1616
with:
17-
python-version: "3.12"
17+
python-version: "3.13"
1818
- uses: actions/cache@v4
1919
with:
2020
path: ${{ env.pythonLocation }}
2121
key: ${{ env.pythonLocation }}-${{ hashFiles('requirements.txt') }}-${{ hashFiles('test-requirements.txt') }}
2222
- name: Install dependencies
2323
run: |
2424
python -m pip install --upgrade pip
25-
pip install -r requirements.txt -r test-requirements.txt --upgrade --upgrade-strategy eager
26-
pip install build twine --upgrade --upgrade-strategy eager
25+
pip install uv
26+
uv pip install -r requirements.txt -r test-requirements.txt --upgrade --system
27+
uv pip install build twine --upgrade --system
2728
- name: Build
2829
run: |
2930
python -m build

README.md

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,14 @@
66
[![image](https://img.shields.io/pypi/pyversions/pyheos.svg)](https://pypi.org/project/pyheos/)
77
[![image](https://img.shields.io/pypi/l/pyheos.svg)](https://pypi.org/project/pyheos/)
88

9-
An async python library for controlling HEOS devices through the HEOS CLI Protocol (version 1.17 for players with firmware 2.41.140 or newer).
9+
An async python library for controlling HEOS devices through the HEOS CLI Protocol (version 1.21 for HEOS firmware 3.40 or newer).
1010

1111
## Installation
1212

1313
```bash
1414
pip install pyheos
1515
```
1616

17-
or
18-
19-
```bash
20-
pip install --use-wheel pyheos
21-
```
22-
2317
## Getting Started
2418

2519
### `Heos` class

pyheos/__init__.py

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,54 @@
22

33
from . import const
44
from .credentials import Credentials
5-
from .dispatch import Dispatcher
5+
from .dispatch import (
6+
CallbackType,
7+
ConnectType,
8+
ControllerEventCallbackType,
9+
DisconnectType,
10+
Dispatcher,
11+
EventCallbackType,
12+
PlayerEventCallbackType,
13+
SendType,
14+
TargetType,
15+
)
616
from .error import CommandError, CommandFailedError, HeosError
717
from .group import HeosGroup
818
from .heos import Heos, HeosOptions
9-
from .player import HeosNowPlayingMedia, HeosPlayer
10-
from .source import HeosSource, InputSource
19+
from .media import (
20+
BrowseResult,
21+
Media,
22+
MediaItem,
23+
MediaMusicSource,
24+
)
25+
from .player import HeosNowPlayingMedia, HeosPlayer, PlayMode
1126
from .system import HeosHost, HeosSystem
1227

1328
__all__ = [
14-
"const",
29+
"BrowseResult",
30+
"CallbackType",
1531
"CommandError",
1632
"CommandFailedError",
33+
"ConnectType",
34+
"const",
35+
"ControllerEventCallbackType",
1736
"Credentials",
37+
"DisconnectType",
1838
"Dispatcher",
39+
"EventCallbackType",
1940
"Heos",
2041
"HeosError",
2142
"HeosGroup",
2243
"HeosHost",
2344
"HeosOptions",
2445
"HeosPlayer",
2546
"HeosNowPlayingMedia",
26-
"HeosSource",
2747
"HeosSystem",
28-
"InputSource",
48+
"Media",
49+
"MediaItem",
50+
"MediaMusicSource",
51+
"PlayerEventCallbackType",
52+
"PlayMode",
53+
"SendType",
54+
"TargetType",
2955
]

0 commit comments

Comments
 (0)