J. Nick Koston
21e548f1d7
[core] Sensitive redaction via yaml_util representer ( #16690 )
2026-05-27 09:20:50 -05:00
J. Nick Koston
489cf483d0
[core] Enable ruff PYI (flake8-pyi) lint family ( #16654 )
2026-05-25 20:55:35 -05:00
Jesse Hills
1d3eea098e
[core] Support YAML frontmatter for arbitrary user metadata ( #16552 )
2026-05-22 13:00:22 +12:00
J. Nick Koston
ec1826a6ed
[yaml_util] Promote include-discovery helper, share it with bundle ( #16447 )
2026-05-15 10:17:50 -07:00
65ea29b44a
[core] Fix !include vars not being substituted in !lambda values ( #16320 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-05-12 22:41:30 -05:00
b5ccd55f4e
[packages] Fix premature substitution of vars in remote package files ( #15997 )
...
Co-authored-by: J. Nick Koston <nick+github@koston.org >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-04-25 17:06:58 +00:00
Javier Peletier and J. Nick Koston
9cebce1b6e
[substitutions] Improve error messages with include stack trace ( #15874 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-04-22 03:19:01 +02:00
0b051289f5
[core] Add missing exception chaining (raise from) across codebase ( #15648 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-04-16 15:19:33 +00:00
J. Nick Koston
a72609e640
[yaml] Resolve top-level IncludeFile in load_yaml ( #15557 )
2026-04-08 08:39:14 -04:00
J. Nick Koston
4db82877af
[yaml] Add IncludeFile representer to ESPHomeDumper ( #15549 )
2026-04-07 16:27:11 -10:00
d20d613c1d
[substitutions] !include ${filename}, Substitutions in include filename paths (package refactor part 5) ( #12213 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-04-07 15:12:55 -10:00
J. Nick Koston
ef6c65c7ec
[cli] Add config bundle CLI command for remote compilation ( #13791 )
2026-04-07 10:37:19 -10:00
bf6000ef3d
[substitutions] substitutions pass and !include redesign (package refactor part 2b) ( #14918 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-03-23 12:50:28 -10:00
Javier Peletier and J. Nick Koston
c2c50ceea7
[substitutions] substitutions pass and !include redesign (package refactor part 2a) ( #14917 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-03-18 23:10:01 -10:00
9de7df7b5b
Add build info to image ( #12425 )
...
Co-authored-by: J. Nick Koston <nick+github@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-18 00:06:52 +00:00
Javier Peletier
7629903afb
[substitutions] implement !literal ( #10785 )
2025-09-22 16:32:59 +12:00
9ea3643b74
[core] os.path -> Path ( #10654 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2025-09-19 12:59:48 +00:00
J. Nick Koston
f13e742bd5
[ruff] Enable RET and fix all violations ( #9929 )
2025-08-01 02:10:56 +00:00
J. Nick Koston
ffebd30033
[ruff] Enable SIM rules and fix code simplification violations ( #9872 )
2025-07-25 18:26:08 +12:00
Javier Peletier
8c34b72b62
Jinja expressions in configs (Take #3 ) ( #8955 )
2025-07-01 14:57:00 +12:00
Jesse Hills
87df3596a2
[config validation] Add more ip address / network validators ( #9181 )
2025-06-23 15:41:06 +12:00
Javier Peletier
daf2bd7e66
Have ESPHome's YAML dumper comply with its own yamllint rules ( #8957 )
2025-05-30 08:43:05 +12:00
Thomas Rupprecht
aeb4e63950
update minimal python version to 3.10 ( #8850 )
2025-05-22 13:21:43 +12:00
Guillermo Ruffino and J. Nick Koston
bc56d319b5
Fix vscode validation not showing error squiggles ( #8500 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2025-04-16 07:52:07 +12:00
Pawel and Jesse Hills
1b7111affb
Add option to include vars in remote packages ( #7606 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2025-02-26 14:02:51 +13:00
Jimmy Hedman
d69926485c
Convert IPAddress to use Pythonmodule ipaddress ( #8072 )
2025-01-13 08:12:38 +13:00
Jesse Hills
e64709c37e
[code-quality] Organise core imports ( #7149 )
2024-07-29 14:07:44 +12:00
Samuel Sieb
06d3829b45
allow defaults with no include vars ( #6613 )
2024-04-23 18:43:11 +12:00
J. Nick Koston
2345e7606a
Fix editor live validation ( #6431 )
2024-03-26 20:24:58 +13:00
J. Nick Koston
25ab6f0297
Ensure filename is shown when YAML raises an error ( #6139 )
...
* Ensure filename is shown when YAML raises an error
fixes #5423
fixes #5377
* Ensure filename is shown when YAML raises an error
fixes #5423
fixes #5377
* Ensure filename is shown when YAML raises an error
fixes #5423
fixes #5377
* Ensure filename is shown when YAML raises an error
fixes #5423
fixes #5377
* Ensure filename is shown when YAML raises an error
fixes #5423
fixes #5377
2024-01-23 23:11:03 -06:00
J. Nick Koston
5220c9edf8
Fallback to pure-python loader for better error when YAML loading fails ( #6081 )
2024-01-15 08:06:13 +09:00
mknjc
3c2383e261
Add default substitutions for package includes ( #5752 )
2023-12-21 09:08:13 +09:00
Subhash Chandra
8f70ef24a2
feat(packages): support removing components ( #5821 )
2023-12-06 10:04:17 +09:00
J. Nick Koston
3b891bc146
Speed up YAML by using YAML C loader when available ( #5721 )
2023-11-10 22:17:40 +13:00
dentra
cfbf3681f3
Fallback to main secrets.yaml for packages ( #5604 )
2023-10-27 10:16:43 +13:00
40df3aa55e
Merge components in packages ( #3555 )
...
Co-authored-by: Paul Monigatti <pm@paul.pm >
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2023-02-07 14:08:40 +13:00
Jesse Hills
e847766514
Dump full parsed config to json-config api call ( #4373 )
2023-02-01 16:59:51 +13:00
Jesse Hills
b184b01600
Remove a bunch of unnecessary pylint disabling ( #4079 )
2022-11-24 11:09:19 +13:00
jimtng
5aa42e5e66
Add variable substitutions for !include ( #3510 )
2022-05-31 16:45:18 +12:00
Jesse Hills
55db190875
Add endpoint to fetch secrets keys ( #2873 )
2021-12-06 20:15:34 +13:00
dependabot[bot] and Otto winter
dbb195691b
Bump pylint from 2.10.2 to 2.11.1 ( #2334 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Otto winter <otto@otto-winter.com >
2021-09-19 19:22:28 +02:00
dependabot[bot] and Sean Vig
fc42f14448
Bump pylint from 2.8.2 to 2.9.4 ( #2047 )
...
* Bump pylint from 2.8.2 to 2.9.4
Bumps [pylint](https://github.com/PyCQA/pylint ) from 2.8.2 to 2.9.4.
- [Release notes](https://github.com/PyCQA/pylint/releases )
- [Changelog](https://github.com/PyCQA/pylint/blob/main/ChangeLog )
- [Commits](https://github.com/PyCQA/pylint/compare/v2.8.2...v2.9.4 )
---
updated-dependencies:
- dependency-name: pylint
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Fix up functionality needed for latest pylint (#2049 )
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sean Vig <sean.v.775@gmail.com >
2021-07-21 14:40:09 +12:00
Guillermo Ruffino
69879920eb
add-black ( #1593 )
...
* Add black
Update pre commit
Update pre commit
add empty line
* Format with black
2021-03-07 16:03:16 -03:00
Guillermo Ruffino
342d5166a0
More yaml validation ( #1568 )
...
* validate keys
* refactor line info
2021-02-27 19:21:07 -03:00
Guillermo Ruffino
28e39f7f76
Add config validator location ( #1490 )
...
* show validation source location for id
* show validation source location for lambda
* refactor lambda #line position
* account content offset on made lambdas
* lint
* remove redundant check
2021-02-06 12:09:15 -03:00
Andrew Zaborowski
c7c71089ce
codegen: Lambda improvements ( #1476 )
...
* Use #line directives in generated C++ code for lambdas
The #line directive in gcc is meant specifically for pieces of imported
code included in generated code, exactly what happens with lambdas in
the yaml files: https://gcc.gnu.org/onlinedocs/cpp/Line-Control.html
With this change, if I add the following at line 165 of kithen.yaml:
- lambda: undefined_var == 5;
then "$ esphome kitchen.yaml compile" shows the following:
INFO Reading configuration kitchen.yaml...
INFO Generating C++ source...
INFO Compiling app...
INFO Running: platformio run -d kitchen
<...>
Compiling .pioenvs/kitchen/src/main.cpp.o
kitchen.yaml: In lambda function:
kitchen.yaml:165:7: error: 'undefined_var' was not declared in this scope
*** [.pioenvs/kitchen/src/main.cpp.o] Error 1
== [FAILED] Took 2.37 seconds ==
* Silence gcc warning on multiline macros in lambdas
When the \ is used at the end of the C++ source in a lambda (line
continuation, often used in preprocessor macros), esphome will copy that
into main.cpp once as code and once as a // commment. gcc will complain
about the multiline commment:
Compiling .pioenvs/kitchen/src/main.cpp.o
kitchen.yaml:640:3: warning: multi-line comment [-Wcomment]
Try to replace the \ with a "<cont>" for lack of a better idea.
2021-01-23 20:17:15 -03:00
dependabot[bot] and Otto Winter
e7bd93b4b0
Bump pylint from 2.5.3 to 2.6.0 ( #1262 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Otto Winter <otto@otto-winter.com >
2020-09-16 12:12:40 +02:00
Otto Winter
55388724af
Revert "Sort keys in dicts in output yaml for 'config' command ( #1049 )" ( #1191 )
2020-07-25 14:21:56 +02:00
Ivan Shvedunov
64bd33a94e
Sort keys in dicts in output yaml for 'config' command ( #1049 )
...
Having different output each time due to random key order makes some
tasks harder (such as CI scripts).
2020-06-09 00:10:49 -03:00
Otto Winter
056c72d50d
Drop Python 2 Support ( #793 )
...
* Remove Python 2 support
* Remove u-strings
* Remove docker symlinks
* Remove from travis
* Update requirements
* Upgrade flake8/pylint
* Fixes
* Manual
* Run pyupgrade
* Lint
* Remove base_int
* Fix
* Update platformio_api.py
* Update component.cpp
2019-12-07 18:28:55 +01:00