Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
166 commits
Select commit Hold shift + click to select a range
a3e2224
Create python-publish.yml
rsnodgrass Jan 17, 2024
fb3c797
Merge branch 'main' of github.com:rsnodgrass/pyavcontrol
rsnodgrass Jan 17, 2024
74b697c
Create codeql.yml
rsnodgrass Jan 17, 2024
cf254f3
Create python-package.yml
rsnodgrass Jan 17, 2024
6f5d11c
update
rsnodgrass Jan 17, 2024
fed5904
various cleanup
rsnodgrass Jan 22, 2024
70f2f45
removed old code
rsnodgrass Jan 22, 2024
39d4895
more cleanup
rsnodgrass Jan 22, 2024
05d884c
added check for whether connection is async, and confirm that for asy…
rsnodgrass Jan 22, 2024
5a7abe0
fixed async helper
rsnodgrass Jan 24, 2024
50a6df7
additional cleanup
rsnodgrass Jan 26, 2024
547a36f
update
rsnodgrass Jan 26, 2024
4eeda73
update
rsnodgrass Jan 26, 2024
59cb172
update
rsnodgrass Jan 29, 2024
8ef9fc5
responses now being returned
rsnodgrass Jan 29, 2024
32e0bb3
more work on replies
rsnodgrass Jan 29, 2024
dfbfe54
responses are now dictionaries
rsnodgrass Jan 29, 2024
3b93dc5
update
rsnodgrass Jan 29, 2024
c388014
changed sync client to return bytes instead of decoded str
rsnodgrass Jan 29, 2024
41042fd
update
rsnodgrass Jan 29, 2024
911c44b
update
rsnodgrass Jan 29, 2024
b800d91
update
rsnodgrass Jan 29, 2024
8a27bc3
update
rsnodgrass Jan 29, 2024
d4eaa03
Create bandit.yml
rsnodgrass Jan 29, 2024
c3c0a52
general cleanup/improvements
rsnodgrass Jan 30, 2024
bb02e2c
update
rsnodgrass Jan 30, 2024
b294d9f
updated version
rsnodgrass Jan 30, 2024
973001a
various code cleanup for invalid types
rsnodgrass Jan 30, 2024
c077ebd
update
rsnodgrass Jan 30, 2024
dfb3521
update
rsnodgrass Jan 30, 2024
4bab4f3
update
rsnodgrass Jan 30, 2024
63d8c86
update
rsnodgrass Jan 30, 2024
433b924
update
rsnodgrass Jan 30, 2024
0b74c86
update
rsnodgrass Jan 30, 2024
be3f736
update
rsnodgrass Jan 30, 2024
1878a07
update
rsnodgrass Jan 30, 2024
ddb9825
update
rsnodgrass Jan 30, 2024
1506de4
update
rsnodgrass Jan 30, 2024
3139e03
bump version
rsnodgrass Jan 30, 2024
7c9e442
update
rsnodgrass Jan 30, 2024
374d2fc
update
rsnodgrass Jan 30, 2024
033b125
update
rsnodgrass Jan 30, 2024
9a03b06
update
rsnodgrass Jan 30, 2024
ff44317
update
rsnodgrass Jan 30, 2024
900e8d4
* added Marantz test
rsnodgrass Jan 31, 2024
d3df7b1
* added Anthem D2v test
rsnodgrass Jan 31, 2024
e390c4a
misc
rsnodgrass Feb 10, 2024
51c1da9
update
rsnodgrass Feb 10, 2024
69cccbf
update
rsnodgrass Feb 18, 2024
685c528
update
rsnodgrass Feb 18, 2024
34b7a1d
update
rsnodgrass Feb 18, 2024
ae93daf
update
rsnodgrass Feb 18, 2024
2dc5592
update
rsnodgrass Feb 18, 2024
ee6bc15
started to add pydantic verification of models; new info
rsnodgrass Feb 19, 2024
68cf289
update
rsnodgrass Feb 19, 2024
8295d7a
update device format definitions to latest style (will break current …
rsnodgrass Feb 19, 2024
02d4f73
update
rsnodgrass Feb 19, 2024
e83ba6d
config constants
rsnodgrass Feb 19, 2024
4c382af
sorted Config vars
rsnodgrass Feb 19, 2024
c6aeeb5
removed old model definition
rsnodgrass Feb 19, 2024
7f0be99
update
rsnodgrass Feb 19, 2024
87348e6
update
rsnodgrass Feb 19, 2024
5e5fed1
update
rsnodgrass Feb 19, 2024
c3a80e5
added Classe skeleton
rsnodgrass Feb 19, 2024
dd056b7
Update pytest requirement from ~=7.4.4 to >=7.4.4,<8.1.0
dependabot[bot] Feb 19, 2024
ecd703a
updated schema and model_def checking
rsnodgrass Feb 19, 2024
c27744a
Merge pull request #1 from rsnodgrass/dependabot/pip/pytest-gte-7.4.4…
rsnodgrass Feb 19, 2024
5f1f3d1
update
rsnodgrass Feb 19, 2024
3ccf855
begin creating dynamic model creation script
rsnodgrass Feb 19, 2024
dae6046
flushing out generation of SUPPORTED.md
rsnodgrass Feb 19, 2024
e22d038
* added new supported_models() that has extended info and renamed old…
rsnodgrass Feb 25, 2024
a186e2a
* simplified code for loading model files
rsnodgrass Feb 25, 2024
f6e6b06
misc cleanup
rsnodgrass Feb 25, 2024
a454f6b
* misc improvements
rsnodgrass Feb 25, 2024
a80099c
* added Teac TR-D2000, Xantech XDT, Elan Dual Tuner, Speakercraft STT…
rsnodgrass Feb 26, 2024
1245822
now generates SUPPORTED.md template
rsnodgrass Feb 26, 2024
9f7956f
updated goal in README
rsnodgrass Feb 26, 2024
bea2da0
latest updates (does not work)
rsnodgrass Feb 26, 2024
761e8b3
update
rsnodgrass Feb 26, 2024
3896c83
update
rsnodgrass Feb 26, 2024
24177f6
update
rsnodgrass Feb 26, 2024
631bbf5
update
rsnodgrass Feb 26, 2024
ffd3dfb
update
rsnodgrass Feb 26, 2024
a3f2ad8
update
rsnodgrass Feb 26, 2024
4c6a759
update
rsnodgrass Feb 26, 2024
6e781f9
update
rsnodgrass Feb 26, 2024
b5178ce
update
rsnodgrass Feb 26, 2024
a600eb2
update
rsnodgrass Feb 26, 2024
3fa1d70
update
rsnodgrass Feb 26, 2024
d832046
update
rsnodgrass Feb 26, 2024
4b47238
update
rsnodgrass Feb 26, 2024
5c56271
update
rsnodgrass Feb 26, 2024
39f47fa
update
rsnodgrass Feb 26, 2024
23ce153
update
rsnodgrass Feb 26, 2024
df5b43d
update
rsnodgrass Feb 26, 2024
f0c1cf2
update
rsnodgrass Feb 26, 2024
d93eb4b
update
rsnodgrass Feb 26, 2024
d2135bc
update
rsnodgrass Feb 27, 2024
756f2d9
make sure docs generator installs required dev packages
rsnodgrass Feb 27, 2024
e08b1ff
update
rsnodgrass Feb 27, 2024
73d4bd0
update
rsnodgrass Feb 27, 2024
6328005
update
rsnodgrass Feb 27, 2024
716035a
update
rsnodgrass Feb 27, 2024
9d23565
update
rsnodgrass Feb 27, 2024
071d67f
update
rsnodgrass Feb 27, 2024
b1bd739
update
rsnodgrass Feb 27, 2024
59d027d
update
rsnodgrass Feb 27, 2024
1b4fe62
test removing the doc generator
rsnodgrass Feb 27, 2024
f6bc4b5
update
rsnodgrass Feb 27, 2024
9251f99
update
rsnodgrass Feb 27, 2024
4de7ef3
update
rsnodgrass Feb 27, 2024
b43aca1
updated supported models layout
rsnodgrass Feb 27, 2024
7cc9145
update
rsnodgrass Feb 27, 2024
05bafa4
update
rsnodgrass Feb 27, 2024
bf27e1c
update
rsnodgrass Feb 27, 2024
e37615f
update
rsnodgrass Feb 27, 2024
b03727b
update
rsnodgrass Feb 27, 2024
8329342
fixed doc generation
rsnodgrass Feb 27, 2024
d453131
* flush out initial (middle of night) thoughts on definitions for dev…
rsnodgrass Mar 4, 2024
eb24adb
updated docs
rsnodgrass Mar 5, 2024
b8cb8e4
update
rsnodgrass Mar 26, 2024
fb64f29
update
rsnodgrass Mar 26, 2024
a542057
update
rsnodgrass Mar 26, 2024
6331811
update
rsnodgrass Mar 26, 2024
0f22909
update
rsnodgrass Mar 28, 2024
c6f1f3d
update
rsnodgrass Apr 13, 2024
e96a874
update
rsnodgrass Apr 13, 2024
7c1a1cc
update
rsnodgrass May 21, 2024
effdee8
update
rsnodgrass May 21, 2024
1d303af
update
rsnodgrass May 21, 2024
9317b79
update
rsnodgrass May 21, 2024
cb30fd8
update
rsnodgrass May 21, 2024
48accdd
update
rsnodgrass May 21, 2024
188f4b6
update
rsnodgrass May 23, 2024
bb215f4
added ruff workflow
rsnodgrass May 23, 2024
5610d2a
added ruff workflow
rsnodgrass May 23, 2024
9d91be3
update
rsnodgrass May 23, 2024
1222a9b
ruff fixes
rsnodgrass May 23, 2024
ce7cf09
update
rsnodgrass May 23, 2024
3619225
update
rsnodgrass May 23, 2024
053cb4b
update
rsnodgrass May 23, 2024
37892f6
update
rsnodgrass Jun 29, 2024
ce47122
update
rsnodgrass Sep 6, 2024
c63a75e
update
rsnodgrass Nov 7, 2024
f039e7e
update
rsnodgrass Nov 25, 2024
fe2e321
update
rsnodgrass Dec 24, 2024
b430cc0
updated workflow for testing
rsnodgrass Jan 6, 2025
41698e6
ran 'pre-commit run --all-files' to auto update sources
rsnodgrass Jan 6, 2025
b6fcd16
update
rsnodgrass Jan 6, 2025
99e6564
Bump actions/checkout from 3 to 4
dependabot[bot] Jan 6, 2025
a84ff05
Bump peaceiris/actions-gh-pages from 3 to 4
dependabot[bot] Jan 6, 2025
97bd5b1
Bump JRubics/poetry-publish from 1.17 to 2.0
dependabot[bot] Jan 6, 2025
f4656aa
Bump actions/setup-python from 3 to 5
dependabot[bot] Jan 6, 2025
74a9723
Bump mdegis/bandit-action from 1.0.1 to 1.1
dependabot[bot] Jan 6, 2025
c8eba13
Merge pull request #7 from rsnodgrass/dependabot/github_actions/mdegi…
rsnodgrass Jan 7, 2025
d5c087d
Merge pull request #6 from rsnodgrass/dependabot/github_actions/actio…
rsnodgrass Jan 7, 2025
d767f4e
Merge pull request #5 from rsnodgrass/dependabot/github_actions/peace…
rsnodgrass Jan 7, 2025
47d931d
Merge pull request #4 from rsnodgrass/dependabot/github_actions/JRubi…
rsnodgrass Jan 7, 2025
6fa4911
Merge pull request #3 from rsnodgrass/dependabot/github_actions/actio…
rsnodgrass Jan 7, 2025
9100cf7
Bump actions/cache from 3 to 4
dependabot[bot] Jan 20, 2025
bf58083
Merge pull request #8 from rsnodgrass/dependabot/github_actions/actio…
rsnodgrass Jan 30, 2025
f79d4de
upgraded to ruff isort; removed old isort; removed old pylint config
rsnodgrass May 17, 2025
6064b93
Merge branch 'main' of github.com:rsnodgrass/pyavcontrol
rsnodgrass May 17, 2025
35b759d
update
rsnodgrass May 17, 2025
dcb0bc7
Create FUNDING.yml
rsnodgrass May 17, 2025
9215e28
Bump github/codeql-action from 3 to 4
dependabot[bot] Oct 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
github: rsnodgrass
patreon: rsnodgrass
custom: ['https://buymeacoffee.com/DYks67r','https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=WREP29UDAMB6G']
6 changes: 6 additions & 0 deletions .github/dependabot.yml → .github/dependabot.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
version: 2

updates:
- package-ecosystem: pip
directory: "/"
schedule:
interval: weekly
time: "13:00"
open-pull-requests-limit: 10

- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
33 changes: 33 additions & 0 deletions .github/workflows/bandit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# see https://github.com/shundor/python-bandit-scan
# see https://github.com/mdegis/bandit-action

name: Bandit
on:
push:
branches: [ "main" ]
pull_request:
# branches below must be a subset of the branches above
branches: [ "main" ]
schedule:
- cron: '22 4 * * 6'

jobs:
bandit:
permissions:
contents: read # for actions/checkout to fetch code
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status

runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Bandit Scan
# uses: shundor/bandit-action@v1
uses: mdegis/bandit-action@v1.1
with:
# Github token of the repository (automatically created by Github)
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # needed to get PR info

# exit with 0, even with results found
exit_zero: true # optional, default is DEFAULT
34 changes: 30 additions & 4 deletions .github/workflows/black.yml.disabled
Original file line number Diff line number Diff line change
@@ -1,10 +1,36 @@
name: Lint
name: Lint Python

on: [push, pull_request]
on:
pull_request:
push:
branches:
- main

jobs:
lint:
runs-on: ubuntu-latest

permissions:
# Give the default GITHUB_TOKEN write permission to commit and push the changed files back to the repository.
contents: write

steps:
- uses: actions/checkout@v2
- uses: psf/black@stable
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.11

- name: Install Flake8
run: pip install flake8

- name: Lint code
run: flake8 .

# FIXME: see https://github.com/stefanzweifel/git-auto-commit-action
- uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: Apply flake8 changes
11 changes: 5 additions & 6 deletions .github/workflows/ci.yml.disabled
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,15 @@ jobs:
-"3.12"
steps:
- name: Checkout repo
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
pip install -r requirements.txt
# - name: Run unit tests
# run: python -m unittest

mypy-test:
name: mypy test
runs-on: ubuntu-latest
Expand All @@ -34,12 +33,12 @@ jobs:
- name: Checkout repo
uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ env.python-version }}
- name: Install dependencies
run: |
pip install -r requirements.txt
pip install mypy
# - name: Run mypy test
# run: mypy -p pymcintosh
# run: mypy -p pyavcontrol
84 changes: 84 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
schedule:
- cron: '23 7 * * 3'

jobs:
analyze:
name: Analyze
# Runner size impacts CodeQL analysis time. To learn more, please see:
# - https://gh.io/recommended-hardware-resources-for-running-codeql
# - https://gh.io/supported-runners-and-hardware-resources
# - https://gh.io/using-larger-runners
# Consider using larger runners for possible analysis time improvements.
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
permissions:
# required for all workflows
security-events: write

# only required for workflows in private repositories
actions: read
contents: read

strategy:
fail-fast: false
matrix:
language: [ 'python' ]
# CodeQL supports [ 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' ]
# Use only 'java-kotlin' to analyze code written in Java, Kotlin or both
# Use only 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support

steps:
- name: Checkout repository
uses: actions/checkout@v4

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.

# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality


# Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v4

# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun

# If the Autobuild fails above, remove it and uncomment the following three lines.
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.

# - run: |
# echo "Run, Build Application using script"
# ./location_of_script_within_repo/buildscript.sh

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
with:
category: "/language:${{matrix.language}}"
28 changes: 28 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: documentation

on: [push, pull_request, workflow_dispatch]

permissions:
contents: write

jobs:
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
- name: Install dependencies
run: |
pip install sphinx sphinx_rtd_theme myst_parser
- name: Sphinx build
working-directory: ./docs
run: |
make html
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v4
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
with:
publish_branch: gh-pages
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: docs/build/
force_orphan: true
19 changes: 19 additions & 0 deletions .github/workflows/ha-config-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Home Assistant CI

jobs:
home-assistant:
name: "Home Assistant Core ${{ matrix.version }} Configuration Check"
needs: [yamllint]
runs-on: ubuntu-latest
strategy:
matrix:
version: ["beta"]
steps:
- name: ⤵️ Check out configuration from GitHub
uses: actions/checkout@v4
- name: 🚀 Run Home Assistant Configuration Check
uses: frenck/action-home-assistant@v1.4
with:
path: "."
secrets: ./secrets.fake.yaml
version: "${{ matrix.version }}"
23 changes: 23 additions & 0 deletions .github/workflows/pypi-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# see https://github.com/marketplace/actions/publish-python-poetry-package

name: Upload Release to PyPi

on:
release:
types: [published]

permissions:
contents: read

jobs:
deploy:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Build and publish to pypi
uses: JRubics/poetry-publish@v2.0
with:
pypi_token: ${{ secrets.PYPI_API_TOKEN }}
16 changes: 10 additions & 6 deletions .github/workflows/pytest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,22 +15,26 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Set up Python 3.12
uses: actions/setup-python@v3
uses: actions/setup-python@v5
with:
python-version: "3.12"
- uses: actions/cache@v3

- uses: actions/cache@v4
id: cache
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.*') }}
restore-keys: |
restore-keys: |
${{ runner.os }}-pip-

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -r requirements.txt

- name: Run pytest
run: |
run: |
pytest
41 changes: 41 additions & 0 deletions .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python

name: Test Multiple Python Versions

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

jobs:
build:

runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install flake8 pytest
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
if [ -f test-requirements.txt ]; then pip install -r test-requirements.txt; fi
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pytest
26 changes: 0 additions & 26 deletions .github/workflows/release.yml

This file was deleted.

8 changes: 8 additions & 0 deletions .github/workflows/ruff.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: Ruff
on: [push, pull_request]
jobs:
ruff:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: chartboost/ruff-action@v1
Loading
Loading