Commit Graph

692 Commits (5fe96390f54bde28bbfe190f111ca0578ec4af88)

Author SHA1 Message Date
J. Nick Koston 69307374f4
Signficantly reduce executor contention during bootstrap (#107312)
* Signficantly reduce executor contention during bootstrap

At startup we have a thundering herd wanting to use the executor
to load manifiest.json. Since we know which integrations we are
about to load in each resolver step, group the manifest loads
into single executor jobs by calling async_get_integrations on
the deps of the integrations after they are resolved.

In practice this reduced the number of executor jobs
by 80% during bootstrap

* merge

* naming

* tweak

* tweak

* not enough contention to be worth it there

* refactor to avoid waiting

* refactor to avoid waiting

* tweaks

* tweaks

* tweak

* background is fine

* comment
2024-01-07 22:55:40 -05:00
J. Nick Koston 75d591593d
Remove calls to distribution and legacy zip support from package util (#107427) 2024-01-07 07:39:48 -10:00
Marc Mueller 43fa51b696
Enable strict typing for blueprint (#106887) 2024-01-02 20:48:51 +01:00
Erik Montnemery 8f9bd75a36
Enable strict typing of date_time (#106868)
* Enable strict typing of date_time

* Fix parse_datetime

* Add test

* Add comments

* Update tests/util/test_dt.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-01-02 13:57:25 +01:00
J. Nick Koston a4f0c84457
Reduce duplicate code in json_loads (#106859) 2024-01-01 20:25:23 -10:00
Ville Skyttä 24b1e01d71
Update Ruff to 0.1.8, avoid linter/formatter conflicts (#106080)
* Disable Ruff rules that may conflict with the formatter

* Upgrade Ruff to 0.1.8

- https://github.com/astral-sh/ruff/releases/tag/v0.1.7
- https://github.com/astral-sh/ruff/releases/tag/v0.1.8

* Format with Ruff 0.1.8
2023-12-20 23:55:09 +01:00
Erik Montnemery 0c2485bc03
Freeze integration entity descriptions (#105984)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-18 16:28:13 -10:00
Marc Mueller b671de8942
Improve logging util typing (#105968) 2023-12-18 14:54:12 +01:00
Marc Mueller aac02d7b84
Add first TypeVarTuple annotations (#105379) 2023-12-18 00:38:07 +01:00
J. Nick Koston 47f8e08261
Reduce overhead to connect dispatcher (#105715)
Reduce overhead connect dispatcher

- We tend to have 1000s (or 10000s) of connected dispatchers which
  makes these prime targets to reduce overhead/memory

- Instead of creating new functions to wrap log exceptions each time
  use partials which reuses the function body and only create new
  arguments

Previous optimizations #103307 #93602
2023-12-16 10:16:58 +01:00
Erik Montnemery 22c3847c0e
Allow inheriting `FrozenOrThawed` with custom init (#105624) 2023-12-13 10:13:34 +01:00
Erik Montnemery 5bd0833f49
Improve FrozenOrThawed (#105541) 2023-12-12 21:19:41 +01:00
Erik Montnemery d4cf049016
Remove unneeded class _EntityDescriptionBase (#105518) 2023-12-11 23:10:11 +01:00
Erik Montnemery dd338799d4
Make it possible to inherit EntityDescription in frozen and mutable dataclasses (#105211) 2023-12-11 20:00:55 +01:00
vexofp 885410bcfc
Prevent duplicate default SSLContext instances (#105348)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-09 11:30:12 -10:00
Erik Montnemery af715a4b9a
Add workaround for orjson not handling subclasses of str (#105314)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-12-08 18:13:34 +01: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
Erik Montnemery 5b59e043fa
Don't use deprecated_class decorator on deprecated YAML classes (#105063) 2023-12-05 11:36:26 +01:00
Erik Montnemery ae002e2f38
Remove breaks_in_ha_version from deprecated YAML classes (#105062) 2023-12-05 10:48:31 +01:00
Jan Bouwhuis e8475b9b33
Add scaling utils for brightness and fanspeed (#104753)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-12-04 12:10:58 +01:00
Erik Montnemery db51a8e1f7
Allow passing breaks_in_ha_version to deprecation helper decorators (#104985) 2023-12-04 11:52:10 +01:00
J. Nick Koston 67039e0f26
Remove monotonic_time_coarse datetime helper (#104892) 2023-12-04 09:10:13 +01:00
Niccolò Maggioni 0232c8dcb0
Add temperature to the light color mode parameter fallbacks (#86026)
* Add color temperature to the color mode fallbacks

* Manually add ATTR_COLOR_TEMP since ATTR_COLOR_TEMP_KELVIN is pre-parsed

* Include the legacy ATTR_COLOR_TEMP attribute in the tests

* Apply suggestions from code review

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Add citation for McCamy's approximation formula

If still existing, also see page 3 of https://www.st.com/resource/en/application_note/an5638-how-correlated-color-temperature-is-calculated-by-vd6283-stmicroelectronics.pdf

* Update homeassistant/util/color.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-12-01 08:26:07 +01:00
Erik Montnemery 00e57ab9a4
Use deprecated_class decorator in deprecated YAML loader classes (#104835) 2023-11-30 22:43:34 +01:00
Erik Montnemery abc05451a2
Restore renamed yaml loader classes and warn when used (#104818) 2023-11-30 18:14:48 +01:00
Erik Montnemery 12902b8a68
Add NodeStrClass.__voluptuous_compile__ (#104808) 2023-11-30 17:45:27 +01:00
Aarni Koskela 706add4a57
Switch formatting from black to ruff-format (#102893)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-27 14:38:59 +01:00
Erik Montnemery 88698d8dfe
Fix docstring in yaml util (#104240) 2023-11-20 11:34:14 +01:00
J. Nick Koston cc31d77205
Use ulid_now instead of ulid_at_timestamp if no timestamp is passed (#104226)
* Use ulid_now instead of ulid_at_timestamp if no timestamp is passed

ulid_now is slightly faster than ulid_at_timestamp

* tweak usage
2023-11-19 22:27:24 -05:00
Erik Montnemery f89194784d
Fix including yaml files with scalar values (#103914) 2023-11-13 15:23:50 +01:00
Erik Montnemery e49f6b41ee
Rename YAML loader classes (#103609) 2023-11-08 00:26:54 +01:00
Erik Montnemery c29b0cd05b
Correct line numbers in yaml node annotations (#103605) 2023-11-07 23:22:23 +01:00
Erik Montnemery 05deae09fc
Add file and line annotation to strings when loading yaml (#103586) 2023-11-07 17:10:15 +01:00
Erik Montnemery dff18b4a16
Rename `gather_with_concurrency` to `gather_with_limited_concurrency` (#102241)
* Rename gather_with_concurrency to gather_with_limited_concurrency

* Update test
2023-10-19 15:08:52 +02:00
Franck Nijhof 664e490cfa
Update base image to 2023.10.0 (#102126) 2023-10-18 19:11:41 +02:00
J. Nick Koston d0ba42283c
Use stdlib ip_address method in the network helper when compatible (#102019) 2023-10-15 21:24:49 -04:00
Erik Montnemery e6e190e7e2
Remove unused HideSensitiveDataFilter (#101689) 2023-10-09 12:02:52 +02:00
Erik Montnemery 4e98d39106
Use loader.async_suggest_report_issue in async util (#101516) 2023-10-06 19:57:43 +02:00
mbo18 b7914582db
Update homeassistant color (#101372) 2023-10-05 20:10:27 +02:00
Dave T 8626a4888c
Remove deprecated temperature conversion functions (#101204) 2023-10-04 06:04:23 +02:00
Dave T efca5ba554
Remove deprecated pressure conversion functions (#101347)
Remove deprecated pressure conversion utils
2023-10-04 06:03:32 +02:00
Dave T adf6d34d95
Remove deprecated speed conversion functions (#101350) 2023-10-04 06:01:45 +02:00
Dave T 8b7fae5200
Remove deprecated distance conversion functions (#101199) 2023-10-01 16:17:31 +02:00
Dave T a4a99ce957
Remove deprecated volume conversion functions (#101200) 2023-10-01 16:06:14 +02:00
Joost Lekkerkerker 59207be5f8
Add body_exists to MockRequest in aiohttp util (#100932)
* Add body_exists to MockRequest in aiohttp util

* Add body_exists to MockRequest in aiohttp util

* Add body_exists to MockRequest in aiohttp util
2023-09-26 17:52:29 +02:00
Marc Mueller 11e8bf0b9c
Update types packages (#100850) 2023-09-25 18:53:22 +02:00
Michael Hansen e69c88a0d2
Use aliases when listing pipeline languages (#99672) 2023-09-08 08:22:08 -04:00
Ville Skyttä 6399d74c15
Remove unnnecessary pylint configs from core (#98704) 2023-08-22 23:12:12 +02:00
Ville Skyttä 2399cd283a
Python 3.10 support cleanups (#98640) 2023-08-21 19:14:07 +02:00
Ville Skyttä 3094991236
Upgrade ruff to 0.0.285 (#98647) 2023-08-19 08:17:17 -04:00