Skip to content

Conversation

@TheJulianJES
Copy link
Member

@TheJulianJES TheJulianJES commented Nov 12, 2025

Proposed change

This (temporarily) exempts wsproto from the license check until the MIT license identifier is added back with:

The CI cache version is also bumped, as this isn't a dependency we pin ourselves.
(it was knocked down to 1 a few weeks ago with #154988, so bumping to 2).

The currently cached CI venv still uses an older library version from 2022: 1.2.0.
So, we've not started seeing the failures on dev, yet. See the sections below where the issue appeared.

Background

The MIT license is still present: python-hyper/wsproto/LICENSE, but both the (incorrect) identifier and (correct) classifier were dropped when moving from setup.py to pyproject.toml with python-hyper/wsproto@d7ed47f, released with v1.3.0.

Spotted in

This failure was spotted here:

Usage in HA

This transitive dependency is required by three integrations: ambient_network, tami4, and yalexs_ble.

Dependency usage (CLICK TO OPEN)

aioambient==2024.8.0  # ambient_network integration
├── python-engineio [required: >=3.13.1,<5.0.0, installed: 4.12.3]
│   └── simple-websocket [required: >=0.10.0, installed: 1.1.0]
│       └── wsproto [required: Any, installed: 1.3.0]
│           └── h11 [required: >=0.16.0,<1, installed: 0.16.0]
├── python-socketio [required: >=4.6,<6.0, installed: 5.14.3]
│   ├── bidict [required: >=0.21.0, installed: 0.23.1]
│   └── python-engineio [required: >=4.11.0, installed: 4.12.3]
│       └── simple-websocket [required: >=0.10.0, installed: 1.1.0]
│           └── wsproto [required: Any, installed: 1.3.0]
│               └── h11 [required: >=0.16.0,<1, installed: 0.16.0]
└── [...]

Tami4EdgeAPI==3.0  # tami4 integration
├── PyPasser [required: Any, installed: 0.0.5]
│   ├── [...]
│   └── selenium [required: Any, installed: 4.38.0]
│       ├── trio-websocket [required: >=0.12.2,<1.0, installed: 0.12.2]
│       │   ├── [...]
│       │   └── wsproto [required: >=0.14, installed: 1.3.0]
│       │       └── h11 [required: >=0.16.0,<1, installed: 0.16.0]
│       └── [...]
└── [...]

yalexs==9.2.0  # yalexs_ble integration
├── python-socketio [required: >=5.11.3, installed: 5.14.3]
│   ├── bidict [required: >=0.21.0, installed: 0.23.1]
│   └── python-engineio [required: >=4.11.0, installed: 4.12.3]
│       └── simple-websocket [required: >=0.10.0, installed: 1.1.0]
│           └── wsproto [required: Any, installed: 1.3.0]
│               └── h11 [required: >=0.16.0,<1, installed: 0.16.0]
└── [...]

Type of change

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New integration (thank you!)
  • New feature (which adds functionality to an existing integration)
  • Deprecation (breaking change to happen in the future)
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code or addition of tests

Additional information

  • This PR fixes or closes issue: fixes #
  • This PR is related to issue:
  • Link to documentation pull request:
  • Link to developer documentation pull request:
  • Link to frontend pull request:

Checklist

  • I understand the code I am submitting and can explain how it works.
  • The code change is tested and works locally.
  • Local tests pass. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • I have followed the development checklist
  • I have followed the perfect PR recommendations
  • The code has been formatted using Ruff (ruff format homeassistant tests)
  • Tests have been added to verify that the new code works.
  • Any generated code has been carefully reviewed for correctness and compliance with project standards.

If user exposed functionality or configuration variables are added/changed:

If the code communicates with devices, web services, or third-party tools:

  • The manifest file has all fields filled out correctly.
    Updated and included derived files by running: python3 -m script.hassfest.
  • New or updated dependencies have been added to requirements_all.txt.
    Updated by running python3 -m script.gen_requirements_all.
  • For the updated dependencies - a link to the changelog, or at minimum a diff between library versions is added to the PR description.

To help with the load of incoming pull requests:

Copilot AI review requested due to automatic review settings November 12, 2025 00:34
@TheJulianJES TheJulianJES requested a review from a team as a code owner November 12, 2025 00:34
@home-assistant home-assistant bot added cla-signed code-quality small-pr PRs with less than 30 lines. labels Nov 12, 2025
@TheJulianJES TheJulianJES changed the title Except wsproto from license check Exempt wsproto from license check Nov 12, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR temporarily exempts the wsproto package from the license check script until its MIT license identifier is restored upstream. The package's MIT license file still exists but the metadata was inadvertently removed when migrating from setup.py to pyproject.toml in version 1.3.0.

Key changes:

  • Added wsproto to the EXCEPTIONS set in the license check script with a reference to the upstream fix PR
  • Bumped the CI cache version from 1 to 2 to ensure CI uses the newer library version that triggers the license check failure

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
script/licenses.py Added wsproto to the EXCEPTIONS set with reference to upstream PR #194
.github/workflows/ci.yaml Bumped CACHE_VERSION from 1 to 2 to invalidate cached CI environment

@TheJulianJES TheJulianJES mentioned this pull request Nov 12, 2025
21 tasks
@cdce8p cdce8p merged commit 98fd0ee into home-assistant:dev Nov 12, 2025
240 of 244 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Nov 13, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

cla-signed code-quality small-pr PRs with less than 30 lines.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants