adaptive-lighting/webapp
Casey 1c56674379 Clean up all remaining ruff errors; lint is now fully green
Config:
- .ruff.toml target-version py310 -> py312, matching pyproject's
  requires-python (>=3.12) and the 3.12 'type' aliases switch.py
  already ships. Unblocks two false invalid-syntax errors.
- Ignore D102 in tests (test-class methods), consistent with the
  existing D100/D103 test ignores.

Code (no behavior changes):
- COM812 trailing commas + UP017 dt.UTC via ruff --fix, black re-wrap
- RUF002: unicode minus/en-dash -> ASCII hyphen in docstrings
- SIM105: contextlib.suppress for the lux-reading parse in config_flow
- TRY300: move return out of try in _read_lux_sensor
- PLC0415: hoist inline asyncio/logging imports to module top
- E741: rename ambiguous 'l' comprehension variable to light_id
- PT006/PT018: parametrize tuple + split compound assertion
- D102: docstring for OptionsFlow.async_step_init
- ARG001/ARG002: noqa with justification on HA-required signatures
- PLR0912/PLR0915: noqa on prepare_adaptation_data and
  _update_attrs_and_maybe_adapt_lights (upstream-inherited complexity;
  splitting would hurt readability more than it helps)

./scripts/lint passes clean; 148 tests pass.
2026-06-05 12:16:40 +02:00
..
__init__.py Include core 2024.9.3 until 2024.12.0 in the tests (#1130) 2024-12-07 11:29:05 -08:00
app.py Clean up all remaining ruff errors; lint is now fully green 2026-06-05 12:16:40 +02:00
color_and_brightness.py Fix propcache dependency (revert to functools) (#1314) 2025-11-28 16:43:52 -08:00
homeassistant_util_color.py [pre-commit.ci] pre-commit autoupdate (#882) 2024-02-05 14:13:13 -08:00
README.md Delete upstream docs apparatus; rewrite README for the fork 2026-05-21 10:23:04 +02:00
requirements-dev.txt Properly fix the webapp 2025-07-21 15:49:55 -07:00
requirements.txt Properly fix the webapp 2025-07-21 15:49:55 -07:00
requirements.txt.in Properly fix the webapp 2025-07-21 15:49:55 -07:00

⚠️ Not used by the CDiT fork

This Shiny webapp is the upstream Adaptive Lighting simulator. It models the upstream curve (with brightness_mode, brightness_mode_time_*, sleep mode, etc.) — features the CDiT fork has removed.

The CDiT fork uses a fixed-tanh curve with a hardcoded 30-minute half-width, anchored at the user's configured sunrise_entity / sunset_entity. The simulator's outputs will not match what the integration computes.

Kept here for upstream-merge hygiene. Not built or deployed by the fork's CI. See ../README.md for the fork's actual behavior.


To run this app locally, install the requirements and run shiny run.

$ cd webapp
$ pip install -r requirements-dev.txt
$ shiny run

After the server starts, which should take only a moment, you can open http://127.0.0.1:8000 to see the interface.