Commit Graph

1458 Commits (bd3f0da3851a947c4c8b85195418525285e1d27e)

Author SHA1 Message Date
epenet 067c9e63e9
Adjust bootstrap script to use correct version of pre-commit (#117621) 2024-05-17 16:18:44 +02:00
Marc Mueller 4edee94a81
Update mypy-dev to 1.11.0a2 (#117630) 2024-05-17 13:32:20 +02:00
epenet eacbebce22
Prevent `const.py` in coverage ignore list (#117625) 2024-05-17 12:53:58 +02:00
MatthewFlamm 9aa7d3057b
Add diagnostics for nws (#117587)
* add diagnostics

* remove hassfezt exception
2024-05-16 21:26:22 +02:00
epenet 996132f3f8
Ensure gold and platinum integrations implement diagnostic (#117565) 2024-05-16 11:33:23 -04:00
Sid 2cc916db6d
Replace pylint broad-except with Ruff BLE001 (#116250) 2024-05-07 14:00:27 +02:00
Sid b456d97e65
Replace pylint protected-access with Ruff SLF001 (#115735) 2024-05-06 20:33:26 +02:00
Marc Mueller 1ec7a515d2
Add constraint for tuf (#116627) 2024-05-02 09:12:26 -05:00
Christopher Bailey c7a84b1c7b
Bump pydantic constraint (#116401)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-30 13:13:56 -05:00
puddly 380f192c93
Expose the SkyConnect integration with a firmware config/options flow (#115363)
Co-authored-by: Stefan Agner <stefan@agner.ch>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Erik <erik@montnemery.com>
2024-04-24 17:06:24 +02:00
Robert Resch a4829330f6
Add strict connection for cloud (#115814)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-24 09:57:38 +02:00
Volker Stolz 5e250d8a76
Augment SyntaxError raised during dependency collection with offending filename (#109204)
* Capture parsing exception when collecting dependencies and augment with offending filename.

Whereas before any syntax error in some component-file would result in an opaque SyntaxError without pointing out the file, now the result will show as:

```
  File "/usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/pool.py", line 873, in next
    raise value
SyntaxError: Can't parse file homeassistant/components/your/file.py
```

* tweak

* D'oh, had pre-commit hook still off.

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-23 17:13:25 +02:00
Erik Montnemery 2caca7fbe3
Generate requirements per supported architecture (#115708)
* Generate requirements per supported architecture

* Don't store wheels requirements in the repo

* Dry run

* Set Python version

* Install base packages

* Fix

* Fix

* Fix

* Fix typo

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Genarate requirements_all_pytest.txt

* Fix hassfest

* Reenable building wheels

* Remove unneeded code

* Address review comment

* Fix lying comment

* Add tests, address review comments

* Deduplicate

* Fix file name

* Add comment

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-22 19:23:08 +02:00
Martin Hjelmare 47f0d5ed1f
Add script to compare alexa locales with upstream (#114247)
* Add script to compare alexa locales with upstream

* Use a function in script

* Add test base

* Complete output assertion

* Add type annotation

* Add note to docstring

* Update script call example

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-04-18 13:41:34 +02:00
Erik Montnemery 5c018f6ffc
Improve standard library violation check in hassfest (#115752)
* Improve standard library violation check in hassfest

* Improve prints

* Improve error message
2024-04-17 14:10:26 +02:00
Erik Montnemery fee1f2833d
Fix hassfest requirements check (#115744)
* Fix hassfest requirements check

* Add electrasmart to ignore list
2024-04-17 12:27:48 +02:00
Erik Montnemery ff1ac1a544
Remove useless any in gen_requirements_all.comment_requirement (#115751) 2024-04-17 12:12:51 +02:00
Erik Montnemery a3c767da2d
Correct normalize_package_name (#115750) 2024-04-17 12:03:06 +02:00
J. Nick Koston 135fe26704
Bump httpcore to 1.0.5 (#115672)
Fixes missing handling of EndOfStream errors
2024-04-16 18:13:47 +03:00
Martin Hjelmare d1ed8d817c
Remove Adafruit-BBIO from commented requirements (#115689) 2024-04-16 10:50:51 +02:00
Marc Mueller 881e201a15
Set platform for mypy (#115638) 2024-04-15 14:12:26 +02:00
Marc Mueller 6422bc4c19
Set follow_imports to normal [mypy] (#115521) 2024-04-15 00:26:06 +02:00
J. Nick Koston 33412dd9f6
Remove unused legacy state translations (#112023)
* Remove unused state translations

There have been replaced with entity translations
https://github.com/home-assistant/developers.home-assistant/pull/1557
https://github.com/home-assistant/core/pull/82701

* nothing does merging anymore

* useless dispatch

* remove

* remove platform code from hassfest

* preen

* Update homeassistant/helpers/translation.py

* ruff

* fix merge

* check is impossible now since we already know if translations exist or not

* keep the function for now

* remove unreachable code since we filter out `.` before now

* reduce

* reduce

* fix merge conflict (again)
2024-04-14 07:13:17 -04:00
Marc Mueller 27f6a7de43
Revert mypy_config formatting (#115518) 2024-04-13 10:48:34 +02:00
epenet bea4c52d10
Ignore coverage for aiohttp_resolver backport helper (#115177)
* Ignore coverage for aiohttp_resolver backport helper

* Adjust generate to sort core items

* Adjust validate to sort core items

* Split line

* Apply suggestion

Co-authored-by: Dave T <17680170+davet2001@users.noreply.github.com>

* Fix suggestion

---------

Co-authored-by: Dave T <17680170+davet2001@users.noreply.github.com>
2024-04-12 16:33:05 +02:00
Sid 9bf87329da
Enable Ruff FLY002 rule (#115112)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-04-12 09:04:16 +02:00
konsti cad4c3c0c2
Remove pip jemalloc config from dockerfile (#115206) 2024-04-09 15:08:55 +02:00
Paulus Schoutsen f9a7e6bb9f
Add migration logic to assist_pipeline (#115172) 2024-04-08 11:29:55 -04:00
Sid 376aafc83e
Enable Ruff INP001 (#115082) 2024-04-08 15:43:58 +02:00
Joost Lekkerkerker ecda6b70ff
Filter out fuzzy translations from Lokalise (#114968) 2024-04-08 10:04:16 +02:00
Jan Bouwhuis 2e3cb1a767
Correct changes hassfest coverage backports (#115044) 2024-04-06 21:17:44 +02:00
Joost Lekkerkerker 57cc3495c2
Sort coveragerc again (#115017)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-04-06 15:51:56 +02:00
Øyvind Matheson Wergeland fdef3ece13
Fix placeholder quotes (#114974)
* When quoting placeholders, always use double quotes so Lokalise recognizes the placeholder.

* Ensure that strings does not contain placeholders in single quotes.

* Avoid redefining value

* Moved string_with_no_placeholders_in_single_quotes

* Define regex once

* Fix tests
2024-04-06 13:01:56 +02:00
Sid 0d66d298ec
Enable Ruff RET504 (#114528)
* Enable Ruff RET504

* fix test

* Use noqa instead of cast

* fix sonos RET504

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-06 11:07:37 +02:00
Michael Hansen 1c2499b03a
Add "conversation" key to translations (#114887)
* Use translated trigger response

* Use conversation key instead
2024-04-04 14:45:27 -05:00
Robert Resch ed88c2abc9
Replace pytest-test-groups by custom tests splitter (#114381)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-04-03 15:43:12 +02:00
epenet ad3577804b
Ensure coverage entries are sorted (#114424)
* Ensure coverage entries are sorted

* Use autofix

* Adjust

* Add comment to coverage file

* test CI

* revert CI test

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-01 14:12:24 +02:00
Sid d846676e84
Enable first batch of Ruff RET rules (#114480)
* Enable first batch of Ruff RET rules

* disable pylint rules
2024-03-31 11:30:59 +02:00
Franck Nijhof 192fad040a
Fix hassfest service icons check for custom integrations (#114389) 2024-03-28 16:20:20 +01:00
Robert Resch 4a9c592f3c
Mark core as codeowner for some folders (#114357) 2024-03-28 10:54:10 +01:00
Sid f7b7f74d10
Enable Ruff TRY201 (#114269)
* Enable Ruff TRY201

* remove redundant rules
2024-03-28 10:18:07 +01:00
Robert Resch 1a64be6da6
Fix version_bump --set-nightly-version (#114304) 2024-03-27 14:45:28 +01:00
Robert Resch aaecbbdc40
Update bump_version.py to append also the time to nightlies and add possibility to set manual a nightly version (#114300) 2024-03-27 14:12:45 +01:00
J. Nick Koston 6599b9a36d
Restore scapy pin to >=2.5.0 (#114253) 2024-03-26 10:31:52 -10:00
Joost Lekkerkerker 6bb4e7d62c
Bump ruff to 0.3.4 (#112690)
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-26 00:02:16 +01:00
J. Nick Koston 27219b6962
Bump anyio to 4.3.0 (#114198) 2024-03-25 23:52:28 +01:00
Jan Bouwhuis a4f52cc622
Use a constant to reference `homeassistant` domain (#113889)
* Use CONF_CORE to reference `homeassistant` domain

* Just use DOMAIN

* USE DOMAIN for `homeasistant` domain in config_schema.py

* Use DOMAIN_HA as constant for homeassistant domain

* Rename CONF_CORE to DOMAIN_HA

* Rename DOMAIN_HA to HA_DOMAIN

* Use relative import

* Use direct imports
2024-03-23 19:58:39 +01:00
Robert Resch ce48e6e574
Fix building images for nightlies (#114054) 2024-03-23 11:22:38 +01:00
Robert Resch c282172252
Use uv instead of pip on production images (#112496) 2024-03-22 16:50:07 +01:00
Sid 00ec7f11f0
Enable Ruff rule PT007 (#113764)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-03-19 09:01:07 +01:00
Joost Lekkerkerker 85e13bdb87
Require an icon for a service (#112373) 2024-03-19 08:29:29 +01:00
Sid 727581eea3
Add first batch of Ruff PT rules (#113665)
* Add first batch of Ruff PT rules

* fix weather test

* Fix pilight test

* Update test_intent.py

* Update pilight test_init.py

* Update test_init.py
2024-03-18 13:26:14 +01:00
Johnny Willemsen 0d279ccd13
Improve scaffold test_config_flow (#113229)
Update test_config_flow.py

Use DOMAIN constant
2024-03-18 00:47:11 +01:00
Sid 6ee273a548
Clean up unneeded ruff noqa directives (#113616) 2024-03-16 09:48:37 -10:00
Sid ccd2e989c3
Enable ruff RUF005 and fix occurrences (#113589) 2024-03-16 07:37:20 -10:00
Shay Levy e0b1531afa
Remove OpenCV integration (#113455) 2024-03-15 12:23:30 +01:00
Jan Bouwhuis b1c636c886
Fix hassfest icons check for notify and image_processing (#113446) 2024-03-14 22:51:18 +01:00
Joost Lekkerkerker 36123717be
Allow entity platforms without entity_component in icon validation (#113422)
* Allow entity platforms without entity_component

* Rename variable

---------

Co-authored-by: jbouwh <jan@jbsoft.nl>
2024-03-14 19:10:52 +01:00
Erik Montnemery a16ea3d7bd
Deprecate the map integration (#113215)
* Deprecate the map integration

* Revert changes in DashboardsCollection._async_load_data

* Add option to allow single word in dashboard URL

* Update tests

* Translate title

* Add icon

* Improve test coverage
2024-03-14 14:04:41 +01:00
Joost Lekkerkerker 05172d8e4d
Improve loops and lists (#113269)
* Enable PERF

* Enable PERF rule

* Enable PERF rule

* Don't enable flag yet
2024-03-14 10:22:20 +01:00
J. Nick Koston f3984a9d3e
Constrain pycountry to >=23.12.11 (#112849) 2024-03-13 13:53:52 +01:00
Joost Lekkerkerker cddce0ce0d
Enable more SIM ruff rules (#113015)
* SIM101 SIM103

* SIM107 SIM109

* SIM110

* SIM112 SIM113

* SIM115

* SIM116

* Fix

* Fix

* Fix
2024-03-10 23:20:37 -04:00
Marc Mueller aa16a9d707
Add empty line after module docstring (3) (#112750) 2024-03-08 20:38:34 +01:00
Marc Mueller a6b842f818
Add empty line after module docstring (2) [other] (#112738) 2024-03-08 19:16:38 +01:00
Paulus Schoutsen f416d67d21
Remove built-in support for import_executor in manifest (#112725) 2024-03-08 12:02:32 -05:00
Marc Mueller 19ab3d6daf
Add empty line after module docstring [helpers + other] (#112707) 2024-03-08 10:36:11 -05:00
Erik Montnemery fa4c0d78e9
Restore the juicenet integration (#112578) 2024-03-07 16:41:54 +01:00
Erik Montnemery a0e558c457
Add generic classes BaseFlowHandler and BaseFlowManager (#111814)
* Add generic classes BaseFlowHandler and BaseFlowManager

* Migrate zwave_js

* Update tests

* Update tests

* Address review comments
2024-02-29 16:52:39 +01:00
Paulus Schoutsen 4eb0f86a65
Remove 'values' from services validation (#111440)
* Remove 'values' from services validation

* Remove extra blank line
2024-02-29 02:53:03 +01:00
Erik Montnemery b336095239
Allow translating device names (#110711)
* Allow translating device names

* Don't keep a reference to translations in config entry

* Update kitchen_sink tests

* Add tests
2024-02-28 15:59:59 +01:00
J. Nick Koston 49eb664a05
Update httpx to 0.27.0 and httpcore to 1.0.4 (#111681) 2024-02-27 13:15:33 -10:00
J. Nick Koston 4ea1c5cc3c
Add support for importing integrations in the executor (#111336)
* Add support for pre-imports at setup time

alternative solution to #111331

* refactor

* refactor

* refactor

* mark >1.0s integrations

* no point in executor if already loaded

* no point in executor if already loaded

* cleanup

* cleanup

* two more

* one more

* analytics loads a lot more integrations

* cloud

* debug

* psutil, hardwre

* try zha

* Update homeassistant/setup.py

* await

* comments

* coverage

* coverage

* coverage

* move logic to loader

* move logic to loader

* preserve comments
2024-02-26 14:49:43 -05:00
Erik Montnemery 730fe760cf
Remove JuiceNet integration (#111477)
* Remove JuiceNet integration

* Adjust issue

* Add test

* Fix stale DOMAIN constant
2024-02-26 21:08:36 +02:00
Jan-Philipp Benecke baf84b6fba
Add `single_config_entry` manifest option (#109505)
* Allow setting if we support multiple config entries in config flow

* Move property to config flow instead of flow handler

* Move marking an integration as single instance only to manifest

* Revert line remove

* Avoid init a config flow or adding a new entry on a single instance with an entry

* Revert changes in test

* Process code review comments

* Apply code review suggestion
2024-02-26 19:00:33 +01:00
Maciej Bieniek ee57c924f2
Bump `pysnmp-lextudio` library to version 6.0.2 (#111193)
* Bump pysnmp-lextudio to version 6.0.2

* Update gen_requirements_all.py

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-24 11:30:00 +01:00
Steven Barth 5d0d3a5c2b
Remove matplotlib pinning due to Python 3.12 incompatibility (#110706) 2024-02-16 12:33:57 +01:00
puddly 6295f91a1f
Pin `chacha20poly1305-reuseable>=0.12.1` (#109807)
* Pin `chacha20poly1305-reuseable`
Prevents a runtime `assert isinstance(cipher, AESGCM)` error

* Update `gen_requirements_all.py` as well
2024-02-06 16:55:51 +01:00
Marc Mueller 545b888034
Update ruff to 0.2.1 (#109796)
* Update ruff to 0.2.1

* Rename config sections

* Update remapped error codes

* Add ignores
2024-02-06 15:41:34 +01:00
Michael Hansen 5b1e0b2602
Set default for OSTYPE in run-in-env script (#109731) 2024-02-05 20:23:52 +01:00
Joost Lekkerkerker 2c0b897658
Allow the helper integrations to omit icon translation field (#109648) 2024-02-04 22:57:11 +01:00
Paul Bottein 4170a447fc
Allow system and helper integrations to provide entity_component icons (#109045) 2024-01-29 19:26:55 +01:00
J. Nick Koston 601988ecf2
Bump cryptography to 42.0.1 and pyOpenSSL to 24.0.0 (#108956)
* Bump cryptography to 42.0.1

changes: https://github.com/pyca/cryptography/compare/41.0.7...42.0.1

Note that more of the non-rust backend code has been removed
I had to handle that in
https://github.com/bdraco/chacha20poly1305-reuseable/releases/tag/v0.12.1

So there may be other downstream consumers that have a problem

* need pyOpenSSL as well

* too early before coffee
2024-01-27 21:30:00 +01:00
Franck Nijhof fa485513d5
Ensure icon translations aren't the same as the default (#108568) 2024-01-21 12:02:15 +01:00
Franck Nijhof 2b90d968b4
Fix hassfest icon schema for service only (#108494) 2024-01-20 14:39:05 -05:00
Franck Nijhof 6cf8a3e5d1
Pin pandas to 2.1.4 (#108509) 2024-01-20 18:08:35 +01:00
Franck Nijhof 01372024f5
Add icon translations support (#103294)
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2024-01-19 16:56:56 +01:00
Robert Resch edd7feaf10
Add task to install all requirements of an integration (#108262)
* Add task to install the requirements of an integration

* Gather recursive requirements

* Move valid_integration to util

* Apply suggestions from code review

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>

* Implement suggestions

---------

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-01-18 22:11:02 +01:00
J. Nick Koston d8564eba17
Bump lxml to 5.1.0 (#106696)
* Bump lxml to 5.0.0

cython 3.0.7+ is required ?

* bump

* Apply suggestions from code review

* 5.1.0
2024-01-13 21:08:42 -05:00
J. Nick Koston 298e2e2b99
Attempt to fix 32bit docker builds (#107210) 2024-01-05 08:23:04 +01:00
steffenrapp 608d52f167
Add translatable title to holiday (#106825) 2024-01-02 23:40:38 +01:00
Sid 729a0fbcd5
Move urllib3 constraint to pyproject.toml (#106768) 2024-01-02 13:34:19 +01:00
Luke Lashley cc18b9a2d8
Constrain dacite to at least 1.7.0 (#105709) 2024-01-01 18:00:17 -10:00
J. Nick Koston a49999e984
Pin lxml to 4.9.4 (#106694) 2023-12-30 11:29:19 +01:00
Denis Shulyaka 9ba53e03ee
Bump httpx to 0.26.0 and httpcore to 1.0.2 (#106194) 2023-12-21 10:11:00 -10:00
J. Nick Koston f4ee2a1ab4
Bump anyio to 4.1.0 (#105529) 2023-12-12 08:24:24 +01:00
Tudor Sandu 636e38f4b3
Trigger Home Assistant shutdown automations right before the stop event instead of during it (#91165)
Co-authored-by: Erik <erik@montnemery.com>
2023-12-05 11:24:41 -10:00
Erik Montnemery 5b55c7da5f
Remove logic converting empty or falsy YAML to empty dict (#103912)
* Correct logic converting empty YAML to empty dict

* Modify according to github comments

* Add load_yaml_dict helper

* Update check_config script

* Update tests
2023-12-05 18:08:11 +01:00
Joost Lekkerkerker a8ca73a7dd
Finish scaffold config flow with either abort or create entry (#105012) 2023-12-05 17:13:29 +01:00
Joost Lekkerkerker 374b1cfd0c
Fix bug in config flow scaffold (#104965) 2023-12-04 07:48:05 +01:00
Joost Lekkerkerker b56cd169ac
Use constants in config flow scaffold (#104964) 2023-12-04 07:46:36 +01:00