mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-07-04 13:03:13 +02:00
- Add python-kasa-based smart-plug control (_smart_plug.py) with turn_on_plug / turn_off_plug called around the alarm window. Reads ~/.config/wake_alarm/tapo.json (host/email/password). - Hard timeout (TAPO_TIMEOUT_SECONDS) so plug never blocks the alarm. - Install fan-control script + sudoers entry (install.sh step 6); _max_fans / _restore_fans now invoke it via /usr/bin/sudo -n so pwm1_enable writes succeed. - Remove ntfy.sh push notifications entirely (silent no-op was useless). - Replace every silent skip with _logger.warning() so failures are loud: missing xset / xrandr / speaker-test, unreadable hwmon files, fan script errors, missing Tapo config, kasa import failure, etc. - wake-alarm.service: Restart=on-failure with 10s backoff. - Tests: 100% line+branch coverage on python_pkg/wake_alarm.
81 lines
1.7 KiB
Plaintext
81 lines
1.7 KiB
Plaintext
# ==============================================================================
|
|
# testsAndMisc — combined runtime + development dependencies
|
|
# Install with: pip install -r meta/requirements.txt
|
|
# Sorted alphabetically (enforced by pre-commit `requirements-txt-fixer`).
|
|
# ==============================================================================
|
|
|
|
add-trailing-comma>=3.1.0
|
|
aiohttp>=3.9
|
|
autoflake>=2.2.0
|
|
autopep8>=2.0.0
|
|
bandit>=1.7.0
|
|
beautifulsoup4>=4.0
|
|
berserk>=0.13
|
|
black>=24.0.0
|
|
bottle>=0.12
|
|
codespell>=2.2.0
|
|
coverage>=7.4.0
|
|
darglint>=1.8.0
|
|
dead>=1.5.0
|
|
docformatter>=1.7.0
|
|
fixit>=2.1.0
|
|
flake8>=7.0.0
|
|
flake8-annotations>=3.0.0
|
|
flake8-bandit>=4.1.0
|
|
flake8-bugbear>=24.0.0
|
|
flake8-comprehensions>=3.14.0
|
|
flake8-docstrings>=1.7.0
|
|
flake8-eradicate>=1.5.0
|
|
flake8-pie>=0.16.0
|
|
flake8-print>=5.0.0
|
|
flake8-pyi>=24.0.0
|
|
flake8-pytest-style>=2.0.0
|
|
flake8-return>=1.2.0
|
|
flake8-simplify>=0.21.0
|
|
genanki>=0.13
|
|
geopandas>=1.0
|
|
howlongtobeatpy>=1.0
|
|
hypothesis>=6.98.0
|
|
importlib-metadata>=7.0.0
|
|
interrogate>=1.5.0
|
|
isort>=5.13.0
|
|
lxml>=5.0
|
|
matplotlib>=3.0
|
|
mccabe>=0.7.0
|
|
mitmproxy>=10.0
|
|
mypy>=1.8.0
|
|
numpy>=1.20
|
|
opencv-python>=4.0
|
|
pillow>=10.0
|
|
pip-audit>=2.6.0
|
|
pipdeptree>=2.14.0
|
|
pre-commit>=3.6.0
|
|
prospector>=1.10.0
|
|
pycodestyle>=2.11.0
|
|
pydocstyle>=6.3.0
|
|
pyflakes>=3.2.0
|
|
pygame>=2.0
|
|
pylama>=8.4.0
|
|
pylint>=3.0.0
|
|
pyright>=1.1.350
|
|
pytest>=8.0.0
|
|
pytest-cov>=4.1.0
|
|
pytest-randomly>=3.15.0
|
|
pytest-sugar>=1.0.0
|
|
pytest-timeout>=2.2.0
|
|
pytest-xdist>=3.5.0
|
|
python-chess>=1.999
|
|
python-kasa>=0.7
|
|
pyupgrade>=3.15.0
|
|
radon>=6.0.0
|
|
reorder-python-imports>=3.12.0
|
|
requests>=2.0
|
|
ruff>=0.8.0
|
|
safety>=2.3.0
|
|
selenium>=4.0
|
|
types-python-dateutil>=2.8.0
|
|
types-PyYAML>=6.0.0
|
|
types-requests>=2.31.0
|
|
types-setuptools>=69.0.0
|
|
websockets>=13.0
|