skillfed

google-nest-sdm

Library for the Google Nest SDM API

google-nest-sdm v9.1.2 78.7K downloads/30d#14,420 on PyPI
Permissive license Apache-2.0 AGING released

What it is and what it does

google-nest-sdm is a Python client library for Google's Smart Device Management API, designed primarily for Home Assistant but usable in standalone applications. It handles OAuth2 authentication, device enumeration, state queries, and command execution (like setting thermostat modes or temperatures) against Google Nest devices. The library wraps the REST API and Pub/Sub event subscription mechanisms, abstracting away much of the complexity of direct API calls.

The package depends on aiohttp, google-auth, google-auth-oauthlib, google-cloud-pubsub, requests-oauthlib, PyYAML, and mashumaro for async HTTP, OAuth flows, event streaming, and data serialization. Setup requires significant upfront work: registering with Google's Device Access program, creating a Google Cloud project, configuring OAuth credentials, and setting up Pub/Sub topics and subscriptions. The documentation acknowledges this complexity and recommends testing the API with curl before attempting integration.

Use it for:

  • Integrate Nest thermostats and other devices into a custom home automation system or dashboard.
  • Subscribe to real-time device events (temperature changes, occupancy) via Pub/Sub for reactive automation logic.
  • Query device state and issue control commands (set mode, adjust temperature) programmatically from a Python application.
  • Build a Home Assistant custom component or integration layer on top of the library's abstractions.
  • Monitor and log Nest device telemetry over time for analysis or alerting.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

A Python library for interacting with Google Nest devices through the Smart Device Management API, providing access to device state, control commands, and event subscriptions.

Yes, if you need to programmatically control Google Nest devices and are willing to invest time in Google Cloud setup. The library is stable and permissively licensed, but maintenance is aging (last release 254 days ago), so expect slower bug fixes. Not suitable if you need rapid support or active feature development. Requires Python 3.13+.

Install

google-nest-sdm on PyPI

pip

pip install google-nest-sdm

uv

uv add google-nest-sdm

poetry

poetry add google-nest-sdm

Installing google-nest-sdm

Before you install

Low install friction with a pure-Python wheel distribution. Maintenance status is aging—last release was 254 days ago—so expect slower response to issues, though the package remains functional for current use.

License in practice

Licensed under Apache-2.0 (permissive), allowing free use, modification, and distribution with minimal restrictions; suitable for both open-source and commercial projects.

Quickstart

pip install google-nest-sdm

from google_nest_sdm.auth import GoogleNestSDMAuth
from google_nest_sdm.google_nest_device import GoogleNestDevice

# Requires OAuth2 credentials from Google Cloud Console
auth = GoogleNestSDMAuth(project_id="...", client_id="...", client_secret="...")
device = GoogleNestDevice(auth=auth)

Requires Python 3.13 or later; also requires prior registration with Google Nest Device Access, OAuth2 setup in Google Cloud Console, and Pub/Sub configuration for event subscriptions.

Verify before relying

  • Whether the library actively maintains compatibility with the current Google Nest SDM API specification given the aging maintenance status.
  • Community adoption and real-world usage patterns beyond the Home Assistant integration it was designed for.

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.13)
Install friction low — pure-Python wheel
Runtime dependencies 7 — aiohttp, google-auth, google-auth-oauthlib, google-cloud-pubsub, requests-oauthlib, PyYAML, mashumaro
Maintenance aging — 254 days since the last release
First released
Downloads 78,676/month — #14,420 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: google_nest_sdm-9.1.2-py3-none-any.whl

Tags

google nest api pythonsmart device management sdknest device control librarygoogle nest sdm integrationnest thermostat python apihome automation nest devicesnest device access python
home-automationoauth2pubsub-events

More WWW/HTTP packages