chore(deps-dev): bump nodeenv from 1.9.1 to 1.10.0#103
Open
dependabot[bot] wants to merge 49 commits intomainfrom
Open
chore(deps-dev): bump nodeenv from 1.9.1 to 1.10.0#103dependabot[bot] wants to merge 49 commits intomainfrom
dependabot[bot] wants to merge 49 commits intomainfrom
Conversation
Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 2.4.0 to 2.5.0. - [Release notes](https://github.com/dependabot/fetch-metadata/releases) - [Commits](dependabot/fetch-metadata@v2.4.0...v2.5.0) --- updated-dependencies: - dependency-name: dependabot/fetch-metadata dependency-version: 2.5.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
…dabot/fetch-metadata-2.5.0 Bump dependabot/fetch-metadata from 2.4.0 to 2.5.0
Bumps the dev-dependencies group with 1 update: [pytest](https://github.com/pytest-dev/pytest). Updates `pytest` from 8.4.2 to 9.0.2 - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst) - [Commits](pytest-dev/pytest@8.4.2...9.0.2) --- updated-dependencies: - dependency-name: pytest dependency-version: 9.0.2 dependency-type: direct:development update-type: version-update:semver-major dependency-group: dev-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.6.0 to 2.6.3. - [Release notes](https://github.com/urllib3/urllib3/releases) - [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst) - [Commits](urllib3/urllib3@2.6.0...2.6.3) --- updated-dependencies: - dependency-name: urllib3 dependency-version: 2.6.3 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
Bump urllib3 from 2.6.0 to 2.6.3
When parallel requests share a client via get_all_data(), one request failing can destroy the shared client while others are in-flight. Those requests then fail with ReadError, WriteError, or CloseError (all subclasses of NetworkError) which were not being caught by the retry logic. This fix extends the exception handling in _retry_with_backoff() to catch these network errors alongside RemoteProtocolError, applying the same immediate retry with client recreation strategy. Fixes #89 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Bumps the runtime-dependencies group with 2 updates: [attrs](https://github.com/sponsors/hynek) and [click](https://github.com/pallets/click). Updates `attrs` from 25.3.0 to 25.4.0 - [Commits](https://github.com/sponsors/hynek/commits) Updates `click` from 8.2.1 to 8.3.1 - [Release notes](https://github.com/pallets/click/releases) - [Changelog](https://github.com/pallets/click/blob/main/CHANGES.rst) - [Commits](pallets/click@8.2.1...8.3.1) --- updated-dependencies: - dependency-name: attrs dependency-version: 25.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: runtime-dependencies - dependency-name: click dependency-version: 8.3.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: runtime-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
…cies-692cb036f1 Bump the runtime-dependencies group with 2 updates
Bumps [cffi](https://github.com/python-cffi/cffi) from 1.17.1 to 2.0.0. - [Release notes](https://github.com/python-cffi/cffi/releases) - [Commits](python-cffi/cffi@v1.17.1...v2.0.0) --- updated-dependencies: - dependency-name: cffi dependency-version: 2.0.0 dependency-type: indirect update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [virtualenv](https://github.com/pypa/virtualenv) from 20.34.0 to 20.36.1. - [Release notes](https://github.com/pypa/virtualenv/releases) - [Changelog](https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst) - [Commits](pypa/virtualenv@20.34.0...20.36.1) --- updated-dependencies: - dependency-name: virtualenv dependency-version: 20.36.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
Bump virtualenv from 20.34.0 to 20.36.1
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.20.1 to 3.20.3. - [Release notes](https://github.com/tox-dev/py-filelock/releases) - [Changelog](https://github.com/tox-dev/filelock/blob/main/docs/changelog.rst) - [Commits](tox-dev/filelock@3.20.1...3.20.3) --- updated-dependencies: - dependency-name: filelock dependency-version: 3.20.3 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
Bump filelock from 3.20.1 to 3.20.3
Bumps the dev-dependencies group with 1 update: [bandit](https://github.com/PyCQA/bandit). Updates `bandit` from 1.9.2 to 1.9.3 - [Release notes](https://github.com/PyCQA/bandit/releases) - [Commits](PyCQA/bandit@1.9.2...1.9.3) --- updated-dependencies: - dependency-name: bandit dependency-version: 1.9.3 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
…-3473c1682a Bump bandit from 1.9.2 to 1.9.3 in the dev-dependencies group
Bumps [markupsafe](https://github.com/pallets/markupsafe) from 3.0.2 to 3.0.3. - [Release notes](https://github.com/pallets/markupsafe/releases) - [Changelog](https://github.com/pallets/markupsafe/blob/main/CHANGES.rst) - [Commits](pallets/markupsafe@3.0.2...3.0.3) --- updated-dependencies: - dependency-name: markupsafe dependency-version: 3.0.3 dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
…hot models - Add PanelCapability flags and PanelGeneration enum to models.py - Add SpanPanelSnapshot / SpanCircuitSnapshot unified data models - Add SpanPanelClientProtocol + capability mixin Protocols (protocol.py) - Add SpanGrpcClient Gen3 transport (grpc/client.py, grpc/models.py, grpc/const.py) - Add create_span_client() factory with auto-detection (factory.py) - Add SpanPanelGrpcError, SpanPanelGrpcConnectionError to exceptions.py - Add get_snapshot() / connect() / ping() shims to SpanPanelClient for protocol conformance - Add grpcio as optional [grpc] dependency; omit grpc/* and factory.py from coverage - Add design document docs/Dev/grpc-transport-design.md - Bump version to 1.1.15
…s fields Add 17 optional Gen2-specific fields to SpanPanelSnapshot so that the HA integration can derive all domain objects (SpanPanelHardwareStatus, SpanPanelData, SpanPanelCircuit, SpanPanelStorageBattery) from a single snapshot. Gen3 clients leave these fields None; Gen2-only entities are capability-gated in the integration. Fields added to SpanPanelSnapshot: - feedthrough_power_w, feedthrough_energy_produced/consumed_wh - main_meter_energy_produced/consumed_wh - current_run_config - hardware_door_state, hardware_uptime, hardware_proximity_proven - hardware_is_ethernet/wifi/cellular_connected - hardware_update_status, hardware_env, hardware_manufacturer, hardware_model Updated SpanPanelClient.get_snapshot() to populate all new fields from the existing get_status(), get_panel_state(), get_circuits() calls.
The original _parse_instances() computed circuit_id as instance_id - METRIC_IID_OFFSET (hardcoded 27), reverse-engineered from one MAIN40 where trait 26 IIDs happened to be 28-52. On the MLO48, trait 26 IIDs are [2, 35, 36, ...] — the offset differs, so most computed circuit_ids were out of range and silently discarded, leaving the panel with no circuits discovered. Reported in PR #169. Two bugs fixed: 1. Offset-based circuit_id: replaced with positional pairing. Trait 16 and trait 26 IIDs are now collected independently, sorted, deduplicated, and paired by position (circuit_id = idx + 1). Works correctly regardless of actual IID values or panel model. 2. GetRevision instance_id: _get_circuit_name() was passing the positional circuit_id as the trait 16 instance ID. On the MAIN40 this accidentally worked (IIDs 1-25 match positions); on the MLO48 trait 16 IIDs are non-contiguous so names were fetched from wrong instances. CircuitInfo now stores name_iid (the actual trait 16 IID) and _fetch_circuit_names() uses it directly. Also adds _metric_iid_to_circuit reverse map built at connect time for O(1) streaming lookup, replacing the broken IID-offset arithmetic in _decode_and_store_metric(). Removes METRIC_IID_OFFSET from grpc/const.py — the constant embodied the incorrect assumption. Updates grpc-transport-design.md with root cause analysis and fix.
Covers editable install workflow for both local HA core and Docker container deployments, debug logging config, diagnostic symptom table, and iteration workflow for protobuf decoder fixes.
Replace positional pairing with Breaker Group (BG) based mapping. Each BG IID equals its corresponding trait 26 metric IID and contains an explicit reference to the trait 16 name IID, eliminating fragile positional assumptions. Changes: - Add _fetch_breaker_groups() using trait 15 as authoritative source - Add _query_breaker_group() to parse single/dual-phase BG instances - Add _extract_trait_ref_iid() helper for protobuf ref extraction - Add breaker_position field to CircuitInfo (physical slot 1-48) - Detect dual-phase circuits (field 11=single, field 13=dual) - Build _metric_iid_to_circuit reverse map for O(1) stream lookup - Filter orphan metric IIDs (e.g. 2, 401, 402) automatically - Fall back to positional pairing if no BG instances available Validated on MAIN 40 (25 circuits, 4 dual-phase) and MLO 48 (31 circuits, 10 dual-phase) — all correct. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ndling Handle NetworkError exceptions in retry logic for parallel requests
Bump markupsafe from 3.0.2 to 3.0.3
Bumps [cryptography](https://github.com/pyca/cryptography) from 45.0.5 to 46.0.5. - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst) - [Commits](pyca/cryptography@45.0.5...46.0.5) --- updated-dependencies: - dependency-name: cryptography dependency-version: 46.0.5 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
….0.5 Bump cryptography from 45.0.5 to 46.0.5
…nto grpc_addition
Gen3 gRPC does not expose serial/firmware via a dedicated trait yet. The panel_resource_id (captured during instance discovery) serves as a unique, stable panel identifier that can be used for entity unique_id generation in Home Assistant. Without this fix, serial_number is empty and HA sensors cannot be registered in the entity registry (no unique_id = no persistent entity). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add a check before the deps-installed condition to detect when the virtual environment has been recreated (e.g. for a new Python version) but the .deps-installed marker still reflects the old install. Uses pre_commit importability as the sentinel since it is always a dev dependency. Also add exit code checking for `poetry run pre-commit install` so failures are surfaced rather than silently swallowed.
Home Assistant now requires Python >=3.14.2. Update mypy python_version from 3.13 to 3.14 so type checking reflects the actual runtime. Update black target-version from py312 to py313 (py314 not yet supported by black 25.1.0).
Extract _decode_main_feed_leg() from _decode_main_feed() and _parse_instance_item() from _parse_instances() to bring both methods below the complexity threshold flagged by CodeFactor. - _decode_main_feed: CC 20 -> 7 (D -> B) - _parse_instances: CC 23 -> 13 (D -> C) Also fix pre-existing type and attribute issues surfaced by mypy/pylint when the file was first staged: - _extract_trait_ref_iid: broaden parameter to ProtobufValue | None and fix the return type to always produce int - _parse_breaker_group: remove unnecessary "or b""" coercions now that _extract_trait_ref_iid handles None directly - Initialize _raw_bg_iids/_raw_name_iids/_raw_metric_iids in __init__ to satisfy pylint attribute-defined-outside-init
Split the monolithic README into a concise top-level overview with dedicated detail pages: - README.md: high-level introduction, quick start via create_span_client, Gen2 vs Gen3 capability table, documentation table of contents - docs/gen2-client.md: connection patterns, auth, full API reference, timeout/retry/caching, Home Assistant integration, simulation mode - docs/gen3-client.md: gRPC usage, streaming callbacks, snapshot model, low-level PanelData access, error handling - docs/error-handling.md: exception hierarchy, HTTP to exception mapping, retry configuration, Gen3 gRPC errors - docs/development.md: setup, test/lint commands, project structure, OpenAPI client regeneration, Gen3 internals, contributing guide
Add Gen3 gRPC transport layer
Bumps [nodeenv](https://github.com/ekalinin/nodeenv) from 1.9.1 to 1.10.0. - [Release notes](https://github.com/ekalinin/nodeenv/releases) - [Changelog](https://github.com/ekalinin/nodeenv/blob/master/CHANGES) - [Commits](ekalinin/nodeenv@1.9.1...1.10.0) --- updated-dependencies: - dependency-name: nodeenv dependency-version: 1.10.0 dependency-type: indirect update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps nodeenv from 1.9.1 to 1.10.0.
Release notes
Sourced from nodeenv's releases.
Commits
9dee547chore: bump nodeenv version to 1.10.0d45aabbchore: add pyright ignore comments for compatibility55d6c21chore: update AUTHORS5f694e6test: update test test_node_system_creates_shimfa3fdfbMerge branch 'master' of github.com:ekalinin/nodeenve868dbeReplace additional use ofwhich(1)withshutil.which()(#355)b4cd00dtest: enhance activation tests for nodeenv with custom prompts and file handling0b5ea9drefactor(tests): improve readability of mock patches in nodeenv tests37c0c30ci: add GH workflow for testing and coverage in PR326a7a4test: add comprehensive tests for install_npm and install_npm_win functionsDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)