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
tahoe
sequoia
sonoma
Linux ARM64
x86_64

Current versions:

stable 2026.8.2
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
Installs1,2525,18223,488
Installs (--HEAD)1935
Installs on Request1,2525,18223,487
Installs on Request (--HEAD)1935
Build Errors0