| Name | huum-cli JSON |
| Version |
0.2.1
JSON |
| download |
| home_page | None |
| Summary | CLI for managing Huum sauna devices |
| upload_time | 2025-10-09 13:52:19 |
| maintainer | None |
| docs_url | None |
| author | None |
| requires_python | >=3.11 |
| license | MIT |
| keywords |
cli
huum
iot
sauna
smart-home
|
| VCS |
 |
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# Huum Sauna CLI
A command-line interface for managing Huum sauna devices remotely.
## Features
- đ **Secure Authentication** - Store credentials safely in OS keyring
- đĨ **Start Sessions** - Remotely start your sauna heating
- âšī¸ **Stop Sessions** - Turn off your sauna from the command line
- đ **Status Display** - View current and target temperatures with Rich formatting
- đ **Statistics & Graphs** - View historical temperature data as a table or graph
- đĄī¸ **Custom Temperatures** - Set target temperature (40-110°C)
- đ¯ **Auto-device Selection** - Automatically selects device if you have only one
- ⥠**Fast & Reliable** - Automatic retries with exponential backoff
## Installation
Requires Python 3.11 or higher.
```bash
pip install huum-cli
```
Or with `uv`:
```bash
uv tool install huum-cli
```
### Development Installation
```bash
# Clone the repository
git clone https://github.com/tomdyson/huum-cli
cd huum-cli
# Install dependencies
uv sync
# Install the CLI in editable mode
uv pip install -e .
```
## Quick Start
### 1. Authenticate
```bash
huum auth login
```
You'll be prompted for your Huum account credentials. Your session will be stored securely in your system keyring.
### 2. Start Your Sauna
```bash
# Start with default temperature (85°C)
huum start
# Start with custom temperature
huum start --temperature 75
```
### 3. Stop Your Sauna
```bash
huum stop
```
## Commands
### Authentication
```bash
# Log in
huum auth login
# Log in with credentials
huum auth login --username user@example.com --password mypass
# Log out
huum auth logout
```
### Sauna Control
```bash
# Check status
huum status
# Start sauna
huum start [DEVICE_ID] [--temperature 85]
# Stop sauna
huum stop [DEVICE_ID]
```
### Statistics
View historical temperature data. By default, it shows data for the last 24 hours.
```bash
# Show statistics for the last 24 hours
huum statistics
# Show all available data for the current month
huum statistics --all
# Display the data as a graph
huum statistics --graph
# Combine flags
huum statistics --all --graph
```
### Device Management
If you have multiple devices, specify the device ID:
```bash
huum start my-sauna-id --temperature 80
huum stop my-sauna-id
```
## Configuration
Credentials are stored securely using your operating system's keyring:
- **macOS**: Keychain
- **Windows**: Windows Credential Manager
- **Linux**: GNOME Keyring/KWallet
## API
This CLI uses the Huum API (v1.2) at `https://sauna.huum.eu`.
See the [API documentation](https://app.swaggerhub.com/apis-docs/info716/HUUM/1.2) for more details.
## Development
Built with:
- **Typer** - CLI framework
- **httpx** - HTTP client
- **Pydantic** - Data validation
- **Rich** - Terminal formatting
- **keyring** - Secure credential storage
## Publishing a New Version
The project uses GitHub Actions to automatically publish to PyPI when you push a version tag.
### Prerequisites
1. Add your PyPI API token to GitHub repository secrets:
- Go to https://github.com/tomdyson/huum-cli/settings/secrets/actions
- Add a new secret named `PYPI_API_TOKEN`
- Value: Your PyPI API token (starts with `pypi-`)
### Release Process
1. **Update version in `pyproject.toml`**:
```bash
# Edit pyproject.toml and change version = "0.1.0" to new version
```
2. **Commit the version change**:
```bash
git add pyproject.toml
git commit -m "Bump version to 0.2.0"
git push
```
3. **Create and push a git tag**:
```bash
git tag v0.2.0
git push origin v0.2.0
```
4. **GitHub Action runs automatically**:
- Builds the package with `uv build`
- Publishes to PyPI
- Check progress at https://github.com/tomdyson/huum-cli/actions
### Version Numbering
Follow semantic versioning (MAJOR.MINOR.PATCH):
- **MAJOR**: Breaking changes (e.g., 1.0.0 â 2.0.0)
- **MINOR**: New features, backwards compatible (e.g., 0.1.0 â 0.2.0)
- **PATCH**: Bug fixes, backwards compatible (e.g., 0.1.0 â 0.1.1)
## License
MIT
Raw data
{
"_id": null,
"home_page": null,
"name": "huum-cli",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "cli, huum, iot, sauna, smart-home",
"author": null,
"author_email": "Tom Dyson <tom@torchbox.com>",
"download_url": "https://files.pythonhosted.org/packages/f7/99/e8099110aa7c1620dc4faf03fa3861d206ba420d2bf1097f4151da56992a/huum_cli-0.2.1.tar.gz",
"platform": null,
"description": "# Huum Sauna CLI\n\nA command-line interface for managing Huum sauna devices remotely.\n\n## Features\n\n- \ud83d\udd10 **Secure Authentication** - Store credentials safely in OS keyring\n- \ud83d\udd25 **Start Sessions** - Remotely start your sauna heating\n- \u23f9\ufe0f **Stop Sessions** - Turn off your sauna from the command line\n- \ud83d\udcca **Status Display** - View current and target temperatures with Rich formatting\n- \ud83d\udcc8 **Statistics & Graphs** - View historical temperature data as a table or graph\n- \ud83c\udf21\ufe0f **Custom Temperatures** - Set target temperature (40-110\u00b0C)\n- \ud83c\udfaf **Auto-device Selection** - Automatically selects device if you have only one\n- \u26a1 **Fast & Reliable** - Automatic retries with exponential backoff\n\n## Installation\n\nRequires Python 3.11 or higher.\n\n```bash\npip install huum-cli\n```\n\nOr with `uv`:\n\n```bash\nuv tool install huum-cli\n```\n\n### Development Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/tomdyson/huum-cli\ncd huum-cli\n\n# Install dependencies\nuv sync\n\n# Install the CLI in editable mode\nuv pip install -e .\n```\n\n## Quick Start\n\n### 1. Authenticate\n\n```bash\nhuum auth login\n```\n\nYou'll be prompted for your Huum account credentials. Your session will be stored securely in your system keyring.\n\n### 2. Start Your Sauna\n\n```bash\n# Start with default temperature (85\u00b0C)\nhuum start\n\n# Start with custom temperature\nhuum start --temperature 75\n```\n\n### 3. Stop Your Sauna\n\n```bash\nhuum stop\n```\n\n## Commands\n\n### Authentication\n\n```bash\n# Log in\nhuum auth login\n\n# Log in with credentials\nhuum auth login --username user@example.com --password mypass\n\n# Log out\nhuum auth logout\n```\n\n### Sauna Control\n\n```bash\n# Check status\nhuum status\n\n# Start sauna\nhuum start [DEVICE_ID] [--temperature 85]\n\n# Stop sauna\nhuum stop [DEVICE_ID]\n```\n\n### Statistics\n\nView historical temperature data. By default, it shows data for the last 24 hours.\n\n```bash\n# Show statistics for the last 24 hours\nhuum statistics\n\n# Show all available data for the current month\nhuum statistics --all\n\n# Display the data as a graph\nhuum statistics --graph\n\n# Combine flags\nhuum statistics --all --graph\n```\n\n### Device Management\n\nIf you have multiple devices, specify the device ID:\n\n```bash\nhuum start my-sauna-id --temperature 80\nhuum stop my-sauna-id\n```\n\n## Configuration\n\nCredentials are stored securely using your operating system's keyring:\n- **macOS**: Keychain\n- **Windows**: Windows Credential Manager\n- **Linux**: GNOME Keyring/KWallet\n\n## API\n\nThis CLI uses the Huum API (v1.2) at `https://sauna.huum.eu`.\n\nSee the [API documentation](https://app.swaggerhub.com/apis-docs/info716/HUUM/1.2) for more details.\n\n## Development\n\nBuilt with:\n- **Typer** - CLI framework\n- **httpx** - HTTP client\n- **Pydantic** - Data validation\n- **Rich** - Terminal formatting\n- **keyring** - Secure credential storage\n\n## Publishing a New Version\n\nThe project uses GitHub Actions to automatically publish to PyPI when you push a version tag.\n\n### Prerequisites\n\n1. Add your PyPI API token to GitHub repository secrets:\n - Go to https://github.com/tomdyson/huum-cli/settings/secrets/actions\n - Add a new secret named `PYPI_API_TOKEN`\n - Value: Your PyPI API token (starts with `pypi-`)\n\n### Release Process\n\n1. **Update version in `pyproject.toml`**:\n ```bash\n # Edit pyproject.toml and change version = \"0.1.0\" to new version\n ```\n\n2. **Commit the version change**:\n ```bash\n git add pyproject.toml\n git commit -m \"Bump version to 0.2.0\"\n git push\n ```\n\n3. **Create and push a git tag**:\n ```bash\n git tag v0.2.0\n git push origin v0.2.0\n ```\n\n4. **GitHub Action runs automatically**:\n - Builds the package with `uv build`\n - Publishes to PyPI\n - Check progress at https://github.com/tomdyson/huum-cli/actions\n\n### Version Numbering\n\nFollow semantic versioning (MAJOR.MINOR.PATCH):\n- **MAJOR**: Breaking changes (e.g., 1.0.0 \u2192 2.0.0)\n- **MINOR**: New features, backwards compatible (e.g., 0.1.0 \u2192 0.2.0)\n- **PATCH**: Bug fixes, backwards compatible (e.g., 0.1.0 \u2192 0.1.1)\n\n## License\n\nMIT\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "CLI for managing Huum sauna devices",
"version": "0.2.1",
"project_urls": {
"Homepage": "https://github.com/tomdyson/huum-cli",
"Issues": "https://github.com/tomdyson/huum-cli/issues",
"Repository": "https://github.com/tomdyson/huum-cli"
},
"split_keywords": [
"cli",
" huum",
" iot",
" sauna",
" smart-home"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "15b477bcfef8df661bd50e57e6f1e2467e9ac54e13919dd51ed537565a0c51a7",
"md5": "787606c274768b10657491563e48b7d5",
"sha256": "f3dfe3362d80cf98405b9b96938ce22ac4d11d9806a94bbb15d0fa179db17e70"
},
"downloads": -1,
"filename": "huum_cli-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "787606c274768b10657491563e48b7d5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 17133,
"upload_time": "2025-10-09T13:52:19",
"upload_time_iso_8601": "2025-10-09T13:52:19.022506Z",
"url": "https://files.pythonhosted.org/packages/15/b4/77bcfef8df661bd50e57e6f1e2467e9ac54e13919dd51ed537565a0c51a7/huum_cli-0.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f799e8099110aa7c1620dc4faf03fa3861d206ba420d2bf1097f4151da56992a",
"md5": "e40e8b1d99efc5bd39b722e0a01607ea",
"sha256": "3e7611981740ef3d3efdb580cb47109049f36fb5149b1c9ce4cc7c396b44933d"
},
"downloads": -1,
"filename": "huum_cli-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "e40e8b1d99efc5bd39b722e0a01607ea",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 111624,
"upload_time": "2025-10-09T13:52:19",
"upload_time_iso_8601": "2025-10-09T13:52:19.859109Z",
"url": "https://files.pythonhosted.org/packages/f7/99/e8099110aa7c1620dc4faf03fa3861d206ba420d2bf1097f4151da56992a/huum_cli-0.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-09 13:52:19",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "tomdyson",
"github_project": "huum-cli",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "huum-cli"
}