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.
Files changed (73) hide show
  1. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/CHANGELOG.md +16 -0
  2. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/PKG-INFO +3 -2
  3. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/pyproject.toml +4 -3
  4. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_server.py +2 -2
  5. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/.gitignore +0 -0
  6. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/README.md +0 -0
  7. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/__init__.py +0 -0
  8. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/constants.py +0 -0
  9. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/devices/__init__.py +0 -0
  10. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/devices/device.py +0 -0
  11. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/devices/manager.py +0 -0
  12. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/devices/observers.py +0 -0
  13. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/devices/persistence.py +0 -0
  14. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/devices/state_restorer.py +0 -0
  15. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/devices/state_serializer.py +0 -0
  16. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/devices/states.py +0 -0
  17. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/factories/__init__.py +0 -0
  18. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/factories/builder.py +0 -0
  19. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/factories/default_config.py +0 -0
  20. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/factories/factory.py +0 -0
  21. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/factories/firmware_config.py +0 -0
  22. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/factories/serial_generator.py +0 -0
  23. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/handlers/__init__.py +0 -0
  24. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/handlers/base.py +0 -0
  25. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/handlers/device_handlers.py +0 -0
  26. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/handlers/light_handlers.py +0 -0
  27. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/handlers/multizone_handlers.py +0 -0
  28. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/handlers/registry.py +0 -0
  29. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/handlers/tile_handlers.py +0 -0
  30. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/products/__init__.py +0 -0
  31. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/products/generator.py +0 -0
  32. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/products/registry.py +0 -0
  33. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/products/specs.py +0 -0
  34. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/products/specs.yml +0 -0
  35. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/protocol/__init__.py +0 -0
  36. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/protocol/base.py +0 -0
  37. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/protocol/const.py +0 -0
  38. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/protocol/generator.py +0 -0
  39. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/protocol/header.py +0 -0
  40. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/protocol/packets.py +0 -0
  41. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/protocol/protocol_types.py +0 -0
  42. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/protocol/serializer.py +0 -0
  43. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/repositories/__init__.py +0 -0
  44. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/repositories/device_repository.py +0 -0
  45. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/repositories/storage_backend.py +0 -0
  46. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/scenarios/__init__.py +0 -0
  47. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/scenarios/manager.py +0 -0
  48. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/scenarios/models.py +0 -0
  49. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/scenarios/persistence.py +0 -0
  50. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/src/lifx_emulator/server.py +0 -0
  51. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/conftest.py +0 -0
  52. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_async_storage.py +0 -0
  53. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_backwards_compatibility.py +0 -0
  54. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_device.py +0 -0
  55. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_device_edge_cases.py +0 -0
  56. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_device_handlers_extended.py +0 -0
  57. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_device_manager.py +0 -0
  58. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_handler_registry.py +0 -0
  59. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_integration.py +0 -0
  60. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_light_handlers_extended.py +0 -0
  61. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_multizone_handlers_extended.py +0 -0
  62. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_observers.py +0 -0
  63. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_products_generator.py +0 -0
  64. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_products_specs.py +0 -0
  65. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_protocol_generator.py +0 -0
  66. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_protocol_types_coverage.py +0 -0
  67. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_repositories.py +0 -0
  68. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_scenario_manager.py +0 -0
  69. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_scenario_persistence.py +0 -0
  70. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_serializer.py +0 -0
  71. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_state_restorer.py +0 -0
  72. {lifx_emulator_core-3.0.3 → lifx_emulator_core-3.1.1}/tests/test_switch_devices.py +0 -0
  73. {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.0.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.11
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.0.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.11"
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.11"
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 (< 10ms)
302
- assert elapsed < 0.01
301
+ # Should be very fast (< 100ms, generous for CI runners)
302
+ assert elapsed < 0.1
303
303
 
304
304
 
305
305
  class TestServerLifecycle: