lifx-async 4.7.3__tar.gz → 4.7.5__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.
- {lifx_async-4.7.3 → lifx_async-4.7.5}/PKG-INFO +1 -1
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/changelog.md +16 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/pyproject.toml +1 -1
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/devices/ceiling.py +356 -114
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_devices/test_ceiling.py +432 -53
- {lifx_async-4.7.3 → lifx_async-4.7.5}/uv.lock +1 -1
- {lifx_async-4.7.3 → lifx_async-4.7.5}/.claude/settings.json +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/.github/dependabot.yml +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/.github/labeler.yml +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/.github/workflows/ci.yml +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/.github/workflows/docs.yml +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/.github/workflows/pr-automation.yml +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/.gitignore +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/.pre-commit-config.yaml +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/CLAUDE.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/LICENSE +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/README.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/context7.json +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/api/colors.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/api/devices.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/api/effects.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/api/exceptions.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/api/high-level.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/api/index.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/api/network.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/api/protocol.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/api/themes.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/architecture/effects-architecture.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/architecture/overview.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/faq.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/getting-started/effects.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/getting-started/installation.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/getting-started/quickstart.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/getting-started/themes.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/index.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/migration/effect-api-changes.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/stylesheets/extra.css +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/user-guide/advanced-usage.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/user-guide/ceiling-lights.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/user-guide/effects-custom.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/user-guide/effects-troubleshooting.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/user-guide/protocol-deep-dive.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/user-guide/themes.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/docs/user-guide/troubleshooting.md +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/examples/01_simple_discovery.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/examples/02_simple_control.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/examples/03_waveforms.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/examples/04_logging.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/examples/06_pulse_effect.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/examples/07_colorloop_effect.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/examples/08_custom_effect.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/examples/09_background_effect.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/examples/10_find_specific_devices.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/examples/11_matrix_basic.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/examples/12_matrix_effects.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/examples/13_matrix_large.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/mkdocs.yml +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/renovate.json +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/__init__.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/api.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/color.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/const.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/devices/__init__.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/devices/base.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/devices/hev.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/devices/infrared.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/devices/light.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/devices/matrix.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/devices/multizone.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/effects/__init__.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/effects/base.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/effects/colorloop.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/effects/conductor.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/effects/const.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/effects/models.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/effects/pulse.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/effects/state_manager.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/exceptions.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/network/__init__.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/network/connection.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/network/discovery.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/network/message.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/network/transport.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/products/__init__.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/products/generator.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/products/quirks.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/products/registry.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/protocol/__init__.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/protocol/base.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/protocol/generator.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/protocol/header.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/protocol/models.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/protocol/packets.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/protocol/protocol_types.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/protocol/serializer.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/py.typed +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/theme/__init__.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/theme/canvas.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/theme/generators.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/theme/library.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/src/lifx/theme/theme.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/__init__.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/conftest.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_api/__init__.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_api/test_api_apply_theme.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_api/test_api_batch_errors.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_api/test_api_batch_operations.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_api/test_api_discovery.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_api/test_api_organization.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_color.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_devices/__init__.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_devices/conftest.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_devices/test_base.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_devices/test_hev.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_devices/test_infrared.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_devices/test_light.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_devices/test_mac_address.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_devices/test_matrix.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_devices/test_multizone.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_devices/test_state_ceiling.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_devices/test_state_hev.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_devices/test_state_infrared.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_devices/test_state_light.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_devices/test_state_management.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_devices/test_state_matrix.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_devices/test_state_multizone.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_effects/__init__.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_effects/test_base.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_effects/test_capability_filtering.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_effects/test_colorloop.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_effects/test_integration.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_effects/test_models.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_effects/test_pulse.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_effects/test_state_manager.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_network/__init__.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_network/test_concurrent_requests.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_network/test_connection.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_network/test_discovery_devices.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_network/test_discovery_errors.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_network/test_message.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_network/test_message_advanced.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_network/test_transport.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_products/test_product_generator.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_products/test_registry.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_protocol/test_generated.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_protocol/test_header.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_protocol/test_protocol_generator.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_protocol/test_serializer.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_theme/__init__.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_theme/conftest.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_theme/test_apply_theme.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_theme/test_canvas.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_theme/test_generators.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_theme/test_library.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_theme/test_theme.py +0 -0
- {lifx_async-4.7.3 → lifx_async-4.7.5}/tests/test_utils.py +0 -0
|
@@ -2,6 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- version list -->
|
|
4
4
|
|
|
5
|
+
## v4.7.5 (2025-12-16)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- **devices**: Override set_color in CeilingLight to track component state
|
|
10
|
+
([`0d20563`](https://github.com/Djelibeybi/lifx-async/commit/0d20563c170363229ab17620398283bd85ee7829))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## v4.7.4 (2025-12-16)
|
|
14
|
+
|
|
15
|
+
### Performance Improvements
|
|
16
|
+
|
|
17
|
+
- **devices**: Reduce get_all_tile_colors calls in CeilingLight
|
|
18
|
+
([`3936158`](https://github.com/Djelibeybi/lifx-async/commit/39361582856fcde57f30f052b8286f0bbb695f67))
|
|
19
|
+
|
|
20
|
+
|
|
5
21
|
## v4.7.3 (2025-12-16)
|
|
6
22
|
|
|
7
23
|
### Bug Fixes
|