quilt-hp-python 0.1.2__tar.gz → 0.1.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/CHANGELOG.md +17 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/PKG-INFO +1 -1
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/pyproject.toml +1 -1
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/auth.py +2 -2
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/.github/workflows/ci.yml +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/.github/workflows/docs-deploy.yml +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/.github/workflows/release.yml +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/.gitignore +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/LICENSE +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/README.md +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/docs/explanation/architecture.md +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/docs/explanation/authentication.md +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/docs/explanation/grpc-and-protobuf.md +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/docs/explanation/snapshot-and-stream.md +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/docs/explanation/streaming-protocol.md +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/docs/how-to/authenticate.md +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/docs/how-to/automation-daemon.md +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/docs/how-to/cli-scripting.md +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/docs/how-to/configure-comfort-settings.md +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/docs/how-to/configure-schedules.md +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/docs/how-to/contribute.md +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/docs/how-to/control-spaces.md +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/docs/how-to/home-assistant.md +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/docs/how-to/regenerate-protos.md +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/docs/how-to/stream-updates.md +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/docs/how-to/tui-app.md +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/docs/index.md +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/docs/reference/api-reference.md +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/docs/reference/client.md +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/docs/reference/documentation-standards.md +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/docs/reference/grpc-services-matrix.md +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/docs/reference/hds-entities.md +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/docs/reference/models.md +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/docs/reference/token-management.md +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/docs/tutorial/get-started.md +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/mkdocs.yml +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/proto/cleaned/quilt_device_pairing.proto +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/proto/cleaned/quilt_hds.proto +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/proto/cleaned/quilt_notifier.proto +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/proto/cleaned/quilt_services.proto +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/proto/cleaned/quilt_system.proto +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/scripts/bump_version.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/scripts/check_docs_nav.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/scripts/generate_public_api_reference.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/scripts/regen_protos.sh +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/__init__.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/_paths.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/_proto/__init__.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/_proto/quilt_device_pairing_pb2.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/_proto/quilt_device_pairing_pb2.pyi +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/_proto/quilt_device_pairing_pb2_grpc.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/_proto/quilt_hds_pb2.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/_proto/quilt_hds_pb2.pyi +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/_proto/quilt_hds_pb2_grpc.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/_proto/quilt_notifier_pb2.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/_proto/quilt_notifier_pb2.pyi +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/_proto/quilt_notifier_pb2_grpc.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/_proto/quilt_services_pb2.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/_proto/quilt_services_pb2.pyi +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/_proto/quilt_services_pb2_grpc.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/_proto/quilt_system_pb2.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/_proto/quilt_system_pb2.pyi +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/_proto/quilt_system_pb2_grpc.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/cli/__init__.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/cli/main.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/cli/settings.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/cli/store.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/cli/tui.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/client.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/const.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/exceptions.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/models/__init__.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/models/comfort.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/models/controller.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/models/energy.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/models/enums.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/models/indoor_unit.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/models/outdoor_unit.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/models/qsm.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/models/schedule.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/models/sensor.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/models/software_update.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/models/space.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/models/system.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/py.typed +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/services/__init__.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/services/hds.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/services/streaming.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/services/system.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/services/user.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/tokens.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/transport.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/tests/__init__.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/tests/conftest.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/tests/test_auth.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/tests/test_auth_store_settings_edges.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/tests/test_cli_feature_completion.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/tests/test_cli_login.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/tests/test_cli_surfaces_extra.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/tests/test_client_cache.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/tests/test_client_service_error_paths.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/tests/test_hds_schedule_mapping.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/tests/test_hds_service_branches.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/tests/test_models.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/tests/test_models_from_proto.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/tests/test_settings_store.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/tests/test_streaming.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/tests/test_streaming_reconnect_dispatch_extra.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/tests/test_tokens.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/tests/test_transport.py +0 -0
- {quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/tests/test_transport_interceptor_extra.py +0 -0
|
@@ -7,6 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.1.4] - 2026-05-08
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- `boto3.client()` was called synchronously inside async functions, causing a
|
|
14
|
+
blocking HTTP request to the EC2 instance metadata service (IMDS) at
|
|
15
|
+
`169.254.169.254` during credential resolution. This manifested as an
|
|
16
|
+
`HTTPClientError` in Home Assistant's async event loop. The client is now
|
|
17
|
+
created via `loop.run_in_executor()` like the subsequent API calls.
|
|
18
|
+
|
|
19
|
+
## [0.1.3] - 2026-05-08
|
|
20
|
+
|
|
21
|
+
### Fixed
|
|
22
|
+
- Regenerated gRPC stubs with `grpcio-tools==1.78.0` so the library works
|
|
23
|
+
inside Home Assistant, which hard-pins `grpcio==1.78.0` in its package
|
|
24
|
+
constraints. Previously the stubs were generated with 1.80.0 and raised
|
|
25
|
+
`RuntimeError` at import time on older grpcio versions.
|
|
26
|
+
|
|
10
27
|
## [0.1.2] - 2026-05-08
|
|
11
28
|
|
|
12
29
|
## [0.1.1] - 2026-05-08
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: quilt-hp-python
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
4
4
|
Summary: Async Python client for Quilt mini-split HVAC systems
|
|
5
5
|
Project-URL: Repository, https://github.com/eman/quilt-hp-python
|
|
6
6
|
Project-URL: Issues, https://github.com/eman/quilt-hp-python/issues
|
|
@@ -70,7 +70,7 @@ def _make_cognito_client() -> _CognitoClient:
|
|
|
70
70
|
async def _do_otp_login(email: str, otp_callback: OtpCallback) -> CognitoAuthResult:
|
|
71
71
|
"""Full OTP flow. Returns Cognito AuthenticationResult dict."""
|
|
72
72
|
loop = asyncio.get_running_loop()
|
|
73
|
-
cognito = _make_cognito_client
|
|
73
|
+
cognito = await loop.run_in_executor(None, _make_cognito_client)
|
|
74
74
|
|
|
75
75
|
# Step 1: Initiate CUSTOM_AUTH
|
|
76
76
|
try:
|
|
@@ -126,7 +126,7 @@ async def _do_otp_login(email: str, otp_callback: OtpCallback) -> CognitoAuthRes
|
|
|
126
126
|
async def _do_refresh(refresh_token: str) -> CognitoAuthResult:
|
|
127
127
|
"""Use a refresh token to get a new IdToken."""
|
|
128
128
|
loop = asyncio.get_running_loop()
|
|
129
|
-
cognito = _make_cognito_client
|
|
129
|
+
cognito = await loop.run_in_executor(None, _make_cognito_client)
|
|
130
130
|
try:
|
|
131
131
|
resp = await loop.run_in_executor(
|
|
132
132
|
None,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/_proto/quilt_device_pairing_pb2.py
RENAMED
|
File without changes
|
{quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/_proto/quilt_device_pairing_pb2.pyi
RENAMED
|
File without changes
|
{quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/_proto/quilt_device_pairing_pb2_grpc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/_proto/quilt_notifier_pb2_grpc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/_proto/quilt_services_pb2_grpc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/src/quilt_hp/_proto/quilt_system_pb2_grpc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{quilt_hp_python-0.1.2 → quilt_hp_python-0.1.4}/tests/test_streaming_reconnect_dispatch_extra.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|