lifx-emulator-core 3.0.3__tar.gz → 3.1.1__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_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/CHANGELOG.md +16 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/PKG-INFO +3 -2
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/pyproject.toml +4 -3
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_server.py +2 -2
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/.gitignore +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/README.md +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/__init__.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/constants.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/devices/__init__.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/devices/device.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/devices/manager.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/devices/observers.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/devices/persistence.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/devices/state_restorer.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/devices/state_serializer.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/devices/states.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/factories/__init__.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/factories/builder.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/factories/default_config.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/factories/factory.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/factories/firmware_config.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/factories/serial_generator.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/handlers/__init__.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/handlers/base.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/handlers/device_handlers.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/handlers/light_handlers.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/handlers/multizone_handlers.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/handlers/registry.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/handlers/tile_handlers.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/products/__init__.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/products/generator.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/products/registry.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/products/specs.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/products/specs.yml +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/protocol/__init__.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/protocol/base.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/protocol/const.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/protocol/generator.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/protocol/header.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/protocol/packets.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/protocol/protocol_types.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/protocol/serializer.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/repositories/__init__.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/repositories/device_repository.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/repositories/storage_backend.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/scenarios/__init__.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/scenarios/manager.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/scenarios/models.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/scenarios/persistence.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/server.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/conftest.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_async_storage.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_backwards_compatibility.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_device.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_device_edge_cases.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_device_handlers_extended.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_device_manager.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_handler_registry.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_integration.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_light_handlers_extended.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_multizone_handlers_extended.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_observers.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_products_generator.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_products_specs.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_protocol_generator.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_protocol_types_coverage.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_repositories.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_scenario_manager.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_scenario_persistence.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_serializer.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_state_restorer.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_switch_devices.py +0 -0
- {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_tile_handlers_extended.py +0 -0
|
@@ -2,6 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- version list -->
|
|
4
4
|
|
|
5
|
+
## v3.1.1 (2026-02-01)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- **tests**: Relax timing threshold in test_no_delay_by_default
|
|
10
|
+
([`dd1b416`](https://github.com/Djelibeybi/lifx-emulator/commit/dd1b4162e7b6111a13818aad0450f15367c7c9ac))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## v3.1.0 (2026-01-11)
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
- Add Python 3.10 support
|
|
18
|
+
([`c19eee5`](https://github.com/Djelibeybi/lifx-emulator/commit/c19eee5181fc3e0e3b4ef9fc3e6d47308dce7a0f))
|
|
19
|
+
|
|
20
|
+
|
|
5
21
|
## v3.0.3 (2025-11-27)
|
|
6
22
|
|
|
7
23
|
### Bug Fixes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lifx-emulator-core
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.1.1
|
|
4
4
|
Summary: Core LIFX Emulator library for testing LIFX LAN protocol libraries
|
|
5
5
|
Author-email: Avi Miller <me@dje.li>
|
|
6
6
|
Maintainer-email: Avi Miller <me@dje.li>
|
|
@@ -10,6 +10,7 @@ Classifier: Framework :: Pytest
|
|
|
10
10
|
Classifier: Intended Audience :: Developers
|
|
11
11
|
Classifier: Natural Language :: English
|
|
12
12
|
Classifier: Operating System :: OS Independent
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
13
14
|
Classifier: Programming Language :: Python :: 3.11
|
|
14
15
|
Classifier: Programming Language :: Python :: 3.12
|
|
15
16
|
Classifier: Programming Language :: Python :: 3.13
|
|
@@ -18,7 +19,7 @@ Classifier: Topic :: Software Development :: Libraries
|
|
|
18
19
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
19
20
|
Classifier: Topic :: Software Development :: Testing
|
|
20
21
|
Classifier: Typing :: Typed
|
|
21
|
-
Requires-Python: >=3.
|
|
22
|
+
Requires-Python: >=3.10
|
|
22
23
|
Requires-Dist: pydantic>=2.0.0
|
|
23
24
|
Requires-Dist: pyyaml>=6.0.3
|
|
24
25
|
Description-Content-Type: text/markdown
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "lifx-emulator-core"
|
|
3
|
-
version = "3.
|
|
3
|
+
version = "3.1.1"
|
|
4
4
|
description = "Core LIFX Emulator library for testing LIFX LAN protocol libraries"
|
|
5
5
|
readme = "README.md"
|
|
6
|
-
requires-python = ">=3.
|
|
6
|
+
requires-python = ">=3.10"
|
|
7
7
|
dependencies = [
|
|
8
8
|
"pydantic>=2.0.0",
|
|
9
9
|
"pyyaml>=6.0.3",
|
|
@@ -22,6 +22,7 @@ classifiers = [
|
|
|
22
22
|
"Intended Audience :: Developers",
|
|
23
23
|
"Natural Language :: English",
|
|
24
24
|
"Operating System :: OS Independent",
|
|
25
|
+
"Programming Language :: Python :: 3.10",
|
|
25
26
|
"Programming Language :: Python :: 3.11",
|
|
26
27
|
"Programming Language :: Python :: 3.12",
|
|
27
28
|
"Programming Language :: Python :: 3.13",
|
|
@@ -41,7 +42,7 @@ packages = ["src/lifx_emulator"]
|
|
|
41
42
|
|
|
42
43
|
[tool.pyright]
|
|
43
44
|
typeCheckingMode = "standard"
|
|
44
|
-
pythonVersion = "3.
|
|
45
|
+
pythonVersion = "3.10"
|
|
45
46
|
include = ["src"]
|
|
46
47
|
exclude = ["**/__pycache__"]
|
|
47
48
|
|
|
@@ -298,8 +298,8 @@ class TestResponseDelays:
|
|
|
298
298
|
await server.handle_packet(packet_data, addr)
|
|
299
299
|
elapsed = time.time() - start_time
|
|
300
300
|
|
|
301
|
-
# Should be very fast (<
|
|
302
|
-
assert elapsed < 0.
|
|
301
|
+
# Should be very fast (< 100ms, generous for CI runners)
|
|
302
|
+
assert elapsed < 0.1
|
|
303
303
|
|
|
304
304
|
|
|
305
305
|
class TestServerLifecycle:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/devices/observers.py
RENAMED
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/devices/persistence.py
RENAMED
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/devices/state_restorer.py
RENAMED
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/devices/state_serializer.py
RENAMED
|
File without changes
|
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/factories/__init__.py
RENAMED
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/factories/builder.py
RENAMED
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/factories/default_config.py
RENAMED
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/factories/factory.py
RENAMED
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/factories/firmware_config.py
RENAMED
|
File without changes
|
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/handlers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/handlers/device_handlers.py
RENAMED
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/handlers/light_handlers.py
RENAMED
|
File without changes
|
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/handlers/registry.py
RENAMED
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/handlers/tile_handlers.py
RENAMED
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/products/__init__.py
RENAMED
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/products/generator.py
RENAMED
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/products/registry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/protocol/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/protocol/generator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/protocol/protocol_types.py
RENAMED
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/protocol/serializer.py
RENAMED
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/repositories/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/scenarios/__init__.py
RENAMED
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/scenarios/manager.py
RENAMED
|
File without changes
|
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/scenarios/persistence.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_device_handlers_extended.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_multizone_handlers_extended.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
|