skillfed

python-smarttub

API to query and control hot tubs using the SmartTub system

python-smarttub v0.0.47 75.4K downloads/30d#14,720 on PyPI
Permissive license MIT AGING released

What it is and what it does

python-smarttub is an async Python client for the SmartTub hot tub control system. It wraps the SmartTub API to let you authenticate, query account information, and retrieve or control individual spas—checking status, managing pumps, controlling lights, and more. The package uses aiohttp for async HTTP requests and includes both a programmatic API and a command-line interface for quick diagnostics.

The library is built on modern async/await patterns and requires Python 3.13 or later. It depends on aiohttp, inflection, pyjwt, and python-dateutil to handle HTTP sessions, API response parsing, JWT authentication, and date handling. It's suitable for home automation integrations, monitoring dashboards, or direct spa control from Python applications.

Use it for:

  • Integrate hot tub status and control into a home automation system or dashboard
  • Automate spa pump or light schedules based on time or external conditions
  • Monitor multiple spas remotely and log their status over time
  • Build a CLI tool to quickly check or adjust spa settings without a web interface
  • Diagnose SmartTub connectivity or API issues using the verbose debug mode

Worth the install?

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

Provides an async API and CLI to query and control hot tubs connected to the SmartTub system, including status, pumps, and lights.

Yes, if you own a SmartTub-compatible hot tub and need programmatic control or monitoring. The low install friction and permissive license make it a straightforward addition. However, the aging maintenance status (last release 189 days ago) means you should verify that it still works with your current hardware and be prepared to troubleshoot or fork if the upstream project stalls.

Install

python-smarttub on PyPI

pip

pip install python-smarttub

uv

uv add python-smarttub

poetry

poetry add python-smarttub

Installing python-smarttub

Before you install

Low install friction with a pure Python wheel. Maintenance status is aging—last release was 189 days ago—so expect slower response to issues or updates.

License in practice

MIT license is permissive; you can use, modify, and distribute this package freely with minimal restrictions.

Quickstart

pip install python-smarttub

import aiohttp
from smarttub import SmartTub

async with aiohttp.ClientSession() as session:
    st = SmartTub(session)
    await st.login(username, password)
    account = await st.get_account()
    spas = await account.get_spas()
    for spa in spas:
        print(spa.get_status())

Requires Python 3.13 or later; also requires valid SmartTub account credentials and an active SmartTub-compatible hot tub device.

Verify before relying

  • Whether the SmartTub API endpoint remains stable and whether this client works with current SmartTub hardware versions
  • Active community or maintainer support for bug fixes or feature requests

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.13)
Install friction low — pure-Python wheel
Runtime dependencies 4 — aiohttp, inflection, pyjwt, python-dateutil
Maintenance aging — 189 days since the last release
First released
Downloads 75,400/month — #14,720 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: python_smarttub-0.0.47-py3-none-any.whl

Tags

smarttub api clienthot tub control librarysmarttub integrationspa device automationasync hot tub apismarttub python client
home-automationasync-clientiot-device

More WWW/HTTP packages