Hottub for Python
Host a small, live Audio Soak in the Hottub ecosystem.
pip install hottub
hottub audio-soak create --title "Python Porch" --now
Version 0.1 is intentionally focused: it discovers Hottubs you own or host, checks that Hottub voice and its production TURN relay are ready, creates a members-only Audio Soak, and can take it live. Participants join through the Hottub website or native apps.
The Python package does not access microphones, carry audio, record, transcribe, or contain the Harmonic Engine. Voice remains opt-in and is handled by Hottub's peer-to-peer WebRTC clients.
This repository contains only the public Python client. It does not contain or grant access to Hottub's private monorepo or proprietary Harmonic Engine implementation.
Requirements
- Python 3.10 or newer
- A Hottub account
- Owner or Host membership in at least one Hottub
- At most eight active voice participants during this beta
CLI
The CLI uses HOTTUB_TOKEN when present. Otherwise, it prompts for your email,
password, and—when enabled—your authenticator or recovery code. Credentials and
tokens are not written to disk.
# See the Tubs in which you may host.
hottub tubs --hostable
# Confirm that live audio and relay service are ready.
hottub audio-soak status
# Schedule for later. The timestamp must include its UTC offset.
hottub audio-soak create \
--title "Evening Python Soak" \
--start "2026-07-27T19:00:00-07:00"
# Open the room immediately.
hottub audio-soak create --title "Python Porch" --now
If you own or host more than one Hottub, pass the ID shown by
hottub tubs --hostable:
hottub audio-soak create \
--tub-id clx_example \
--title "Maintainers' Soak" \
--now
Python
from datetime import datetime, timezone
import os
from hottub import HottubClient
client = HottubClient(token=os.environ["HOTTUB_TOKEN"])
tub = client.list_tubs(hostable_only=True)[0]
soak = client.create_audio_soak(
tub_id=tub.id,
title="Python Porch",
start_time=datetime.now(timezone.utc),
go_live=True,
)
print(soak.url)
For interactive software, client.login(email, password) returns either a
Session or TotpChallenge; complete the latter with client.verify_totp.
Applications should keep bearer tokens in their platform's secure credential
store and must never log them.
Beta boundaries
Audio Soaks created by this package are online, members-only, free, and use
Hottub's existing hottub_audio room provider. The host is RSVP'd
automatically. The beta does not expose room signaling, audio streams,
recording, moderation automation, or proprietary Harmonic implementation
details through Python.
License and security
This package is proprietary software distributed under the terms in
LICENSE. Public source visibility does not make it open source.
Please report vulnerabilities privately as described in
SECURITY.md.
Metadata
Release files for hottub 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| hottub-0.1.0.tar.gz | 12.7 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hottub-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.3 kB
Release files / hottub-0.1.0.tar.gz
| Download URL | hottub-0.1.0.tar.gz |
|---|---|
| Size | 12.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dfc78c4433d09e71a1a5e2117f2a6cb0d888e5b09e5e1223f838d02837954945
|
|
BLAKE2b-256 checksum How to use checksums |
26cce8beea4791418fc8e9523d1637121f6e30ab723e06384bcf9375c9b67db6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 28, 2026.
Transparency logRelease files / hottub-0.1.0-py3-none-any.whl
| Download URL | hottub-0.1.0-py3-none-any.whl |
|---|---|
| Size | 11.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ffa3f0e0ee0ee6b6e248fe657429e9630594fbe246edb21d114430b33a863635
|
|
BLAKE2b-256 checksum How to use checksums |
ae5cf5eeec0c88b052808a3ad27fa819bb8249239d90186e5a07dd7d82181fd9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 28, 2026.
Transparency logSecurity for hottub 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for hottub-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 28, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.