lifx-emulator 3.0.1__tar.gz → 4.0.0__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 (32) hide show
  1. lifx_emulator-4.0.0/CHANGELOG.md +63 -0
  2. {lifx_emulator-3.0.1 → lifx_emulator-4.0.0}/PKG-INFO +3 -2
  3. {lifx_emulator-3.0.1 → lifx_emulator-4.0.0}/pyproject.toml +5 -4
  4. lifx_emulator-4.0.0/src/lifx_emulator_app/__main__.py +1120 -0
  5. {lifx_emulator-3.0.1 → lifx_emulator-4.0.0}/src/lifx_emulator_app/api/app.py +6 -1
  6. lifx_emulator-4.0.0/src/lifx_emulator_app/api/static/dashboard.js +588 -0
  7. lifx_emulator-4.0.0/src/lifx_emulator_app/api/templates/dashboard.html +357 -0
  8. lifx_emulator-4.0.0/src/lifx_emulator_app/config.py +314 -0
  9. lifx_emulator-4.0.0/tests/test_cli.py +1913 -0
  10. lifx_emulator-4.0.0/tests/test_config.py +738 -0
  11. lifx_emulator-4.0.0/tests/test_export_config.py +661 -0
  12. lifx_emulator-3.0.1/CHANGELOG.md +0 -27
  13. lifx_emulator-3.0.1/src/lifx_emulator_app/__main__.py +0 -592
  14. lifx_emulator-3.0.1/src/lifx_emulator_app/api/templates/dashboard.html +0 -899
  15. lifx_emulator-3.0.1/tests/test_cli.py +0 -897
  16. {lifx_emulator-3.0.1 → lifx_emulator-4.0.0}/.gitignore +0 -0
  17. {lifx_emulator-3.0.1 → lifx_emulator-4.0.0}/README.md +0 -0
  18. {lifx_emulator-3.0.1 → lifx_emulator-4.0.0}/src/lifx_emulator_app/__init__.py +0 -0
  19. {lifx_emulator-3.0.1 → lifx_emulator-4.0.0}/src/lifx_emulator_app/api/__init__.py +0 -0
  20. {lifx_emulator-3.0.1 → lifx_emulator-4.0.0}/src/lifx_emulator_app/api/mappers/__init__.py +0 -0
  21. {lifx_emulator-3.0.1 → lifx_emulator-4.0.0}/src/lifx_emulator_app/api/mappers/device_mapper.py +0 -0
  22. {lifx_emulator-3.0.1 → lifx_emulator-4.0.0}/src/lifx_emulator_app/api/models.py +0 -0
  23. {lifx_emulator-3.0.1 → lifx_emulator-4.0.0}/src/lifx_emulator_app/api/routers/__init__.py +0 -0
  24. {lifx_emulator-3.0.1 → lifx_emulator-4.0.0}/src/lifx_emulator_app/api/routers/devices.py +0 -0
  25. {lifx_emulator-3.0.1 → lifx_emulator-4.0.0}/src/lifx_emulator_app/api/routers/monitoring.py +0 -0
  26. {lifx_emulator-3.0.1 → lifx_emulator-4.0.0}/src/lifx_emulator_app/api/routers/scenarios.py +0 -0
  27. {lifx_emulator-3.0.1 → lifx_emulator-4.0.0}/src/lifx_emulator_app/api/services/__init__.py +0 -0
  28. {lifx_emulator-3.0.1 → lifx_emulator-4.0.0}/src/lifx_emulator_app/api/services/device_service.py +0 -0
  29. {lifx_emulator-3.0.1 → lifx_emulator-4.0.0}/tests/conftest.py +0 -0
  30. {lifx_emulator-3.0.1 → lifx_emulator-4.0.0}/tests/test_api.py +0 -0
  31. {lifx_emulator-3.0.1 → lifx_emulator-4.0.0}/tests/test_api_validation.py +0 -0
  32. {lifx_emulator-3.0.1 → lifx_emulator-4.0.0}/tests/test_cli_validation.py +0 -0
@@ -0,0 +1,63 @@
1
+ # CHANGELOG
2
+
3
+ <!-- version list -->
4
+
5
+ ## v4.0.0 (2026-02-01)
6
+
7
+ ### Bug Fixes
8
+
9
+ - **app**: Pad zone_colors to zone_count with default color
10
+ ([`46aed0a`](https://github.com/Djelibeybi/lifx-emulator/commit/46aed0a389bf2c6185fc9f07751fea3fbbf6e8d5))
11
+
12
+ - **app**: Preserve explicit empty devices/scenarios and truncate zone_colors
13
+ ([`b5c420c`](https://github.com/Djelibeybi/lifx-emulator/commit/b5c420cb1a9bdc3cae3b6a7a373b4251828cfed5))
14
+
15
+ ### Features
16
+
17
+ - **app**: Add YAML config file support for CLI
18
+ ([`fceb9af`](https://github.com/Djelibeybi/lifx-emulator/commit/fceb9af1da6368a672cd24b58f68b2063b397c23))
19
+
20
+ ### Breaking Changes
21
+
22
+ - **app**: No devices are created by default anymore.
23
+
24
+
25
+ ## v3.1.0 (2026-01-11)
26
+
27
+ ### Features
28
+
29
+ - Add Python 3.10 support
30
+ ([`c19eee5`](https://github.com/Djelibeybi/lifx-emulator/commit/c19eee5181fc3e0e3b4ef9fc3e6d47308dce7a0f))
31
+
32
+
33
+ ## v3.0.2 (2025-12-24)
34
+
35
+ ### Bug Fixes
36
+
37
+ - **api**: Eliminate XSS vulnerabilities and extract dashboard JavaScript
38
+ ([`8302a09`](https://github.com/Djelibeybi/lifx-emulator/commit/8302a0947b326e73f6c2f15de85986a464a307ad))
39
+
40
+
41
+ ## v3.0.1 (2025-11-26)
42
+
43
+ ### Bug Fixes
44
+
45
+ - Adjust uv build for new monorepo layout
46
+ ([`a0d5b7c`](https://github.com/Djelibeybi/lifx-emulator/commit/a0d5b7c1c1ab5659acc8554931f6c441654add05))
47
+
48
+
49
+ ## v3.0.0 (2025-11-26)
50
+
51
+ ### Refactoring
52
+
53
+ - Split into monorepo with separate library and CLI packages
54
+ ([`402fe6e`](https://github.com/Djelibeybi/lifx-emulator/commit/402fe6e6c42e4fb730d076cd4dd0bfe7743b2c57))
55
+
56
+ ### Breaking Changes
57
+
58
+ - The project is now split into two packages:
59
+
60
+
61
+ ## v2.4.0 (2025-11-26)
62
+
63
+ - Initial Release
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lifx-emulator
3
- Version: 3.0.1
3
+ Version: 4.0.0
4
4
  Summary: Standalone LIFX Emulator with CLI and HTTP management API
5
5
  Author-email: Avi Miller <me@dje.li>
6
6
  Maintainer-email: Avi Miller <me@dje.li>
@@ -12,13 +12,14 @@ Classifier: Framework :: Pytest
12
12
  Classifier: Intended Audience :: Developers
13
13
  Classifier: Natural Language :: English
14
14
  Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3.10
15
16
  Classifier: Programming Language :: Python :: 3.11
16
17
  Classifier: Programming Language :: Python :: 3.12
17
18
  Classifier: Programming Language :: Python :: 3.13
18
19
  Classifier: Programming Language :: Python :: 3.14
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: cyclopts>=4.2.0
23
24
  Requires-Dist: fastapi>=0.115.0
24
25
  Requires-Dist: lifx-emulator-core>=2.4.0
@@ -1,9 +1,9 @@
1
1
  [project]
2
2
  name = "lifx-emulator"
3
- version = "3.0.1"
3
+ version = "4.0.0"
4
4
  description = "Standalone LIFX Emulator with CLI and HTTP management API"
5
5
  readme = "README.md"
6
- requires-python = ">=3.11"
6
+ requires-python = ">=3.10"
7
7
  dependencies = [
8
8
  "lifx-emulator-core>=2.4.0",
9
9
  "cyclopts>=4.2.0",
@@ -27,6 +27,7 @@ classifiers = [
27
27
  "Intended Audience :: Developers",
28
28
  "Natural Language :: English",
29
29
  "Operating System :: OS Independent",
30
+ "Programming Language :: Python :: 3.10",
30
31
  "Programming Language :: Python :: 3.11",
31
32
  "Programming Language :: Python :: 3.12",
32
33
  "Programming Language :: Python :: 3.13",
@@ -47,7 +48,7 @@ packages = ["src/lifx_emulator_app"]
47
48
 
48
49
  [tool.pyright]
49
50
  typeCheckingMode = "standard"
50
- pythonVersion = "3.11"
51
+ pythonVersion = "3.10"
51
52
  include = ["src"]
52
53
  exclude = ["**/__pycache__"]
53
54
 
@@ -63,7 +64,7 @@ asyncio_default_fixture_loop_scope = "function"
63
64
  [tool.semantic_release]
64
65
  commit_parser = "conventional-monorepo"
65
66
  commit_message = """\
66
- chore(release): lifx-emulator@{version}`
67
+ chore(release): lifx-emulator@{version}
67
68
 
68
69
  Automatically generated by python-semantic-release
69
70
  """