esphome

Install command:
brew install esphome

Make creating custom firmwares for ESP32/ESP8266 super easy

https://esphome.io/

License: MIT

Development: Pull requests

Formula JSON API: /api/formula/esphome.json

Formula code: esphome.rb on GitHub

Bottle (binary package) installation support provided for:

macOS on
Apple Silicon
golden gate ✅
tahoe ✅
sequoia ✅
Linux ARM64 ✅
x86_64 ✅

Current versions:

stable ✅ 2026.9.0
head ⚡️ HEAD

Depends on:

certifi 2026.7.22 Mozilla CA bundle for Python
cryptography 50.0.1 Cryptographic recipes and primitives for Python
libyaml 0.2.5 YAML Parser
pillow 12.3.0 Friendly PIL fork (Python Imaging Library)
pydantic 2.13.5 Data validation using Python type hints
python@3.14 3.14.7 Interpreted, interactive, object-oriented programming language

Depends on when building from source:

rust 1.98.1 Safe, concurrent, practical language

Binaries: esphome

Known vulnerabilities in the current version:

GHSA-86qp-5c8j-p5mr (medium) Starlette has missing Host header validation that poisons request.url.path, bypassing path-based ...
GHSA-x746-7m8f-x49c (medium) Starlette: Arbitrary HTTP method dispatched to `HTTPEndpoint` attributes via `getattr`
GHSA-wqp7-x3pw-xc5r (high) Starlette: SSRF and NTLM credential theft via UNC paths in StaticFiles on Windows
GHSA-jp82-jpqv-5vv3 (low) Starlette: Unvalidated request path concatenated into authority poisons request.url.hostname
GHSA-82w8-qh3p-5jfq (high) Starlette: request.form() limits silently ignored for application/x-www-form-urlencoded enable DoS

Data from Homebrew/advisory-database. Run brew vulns esphome for a live check.

Analytics:

30 days90 days365 days
Installs5324,25822,686
Installs (--HEAD)31134
Installs on Request5324,25822,685
Installs on Request (--HEAD)31134
Build Errors0