Metadata-Version: 2.4
Name: hass-nabucasa
Version: 0.107.1
Summary: Home Assistant cloud integration by Nabu Casa, Inc.
Author-email: "Nabu Casa, Inc." <opensource@nabucasa.com>
License: GPL v3
Platform: any
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Classifier: Topic :: Internet :: Proxy Servers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Development Status :: 5 - Production/Stable
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.13
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: acme==4.1.1
Requires-Dist: aiohttp>=3.6.1
Requires-Dist: async_timeout>=4
Requires-Dist: atomicwrites-homeassistant==1.4.1
Requires-Dist: attrs>=19.3
Requires-Dist: ciso8601>=2.3.0
Requires-Dist: cryptography>=42.0.0
Requires-Dist: josepy<3,>=2
Requires-Dist: pycognito==2024.5.1
Requires-Dist: PyJWT>=2.8.0
Requires-Dist: snitun==0.40.0
Requires-Dist: webrtc-models<1.0.0
Provides-Extra: test
Requires-Dist: codespell==2.4.1; extra == "test"
Requires-Dist: freezegun==1.5.3; extra == "test"
Requires-Dist: mypy==1.17.0; extra == "test"
Requires-Dist: pre-commit==4.2.0; extra == "test"
Requires-Dist: pre-commit-hooks==5.0.0; extra == "test"
Requires-Dist: pylint==3.3.7; extra == "test"
Requires-Dist: pytest-aiohttp==1.1.0; extra == "test"
Requires-Dist: pytest-timeout==2.4.0; extra == "test"
Requires-Dist: pytest==8.4.1; extra == "test"
Requires-Dist: ruff==0.12.3; extra == "test"
Requires-Dist: types_atomicwrites==1.4.5.1; extra == "test"
Requires-Dist: types_pyOpenSSL==24.1.0.20240722; extra == "test"
Requires-Dist: xmltodict==0.14.2; extra == "test"
Requires-Dist: syrupy==4.9.1; extra == "test"
Requires-Dist: tomli==2.2.1; extra == "test"
Dynamic: license-file

# hass-nabucasa

`hass-nabucasa` is the underlying library that enables Home Assistant to connect to and utilize Nabu Casa cloud services.

This library handles a range of cloud-related functionality including:

- Authentication and account management
- Remote UI connections via [SniTun](https://www.github.com/NabuCasa/snitun)
- API interactions with Nabu Casa cloud services
- Voice processing capabilities
- ACME certificate management
- Google Assistant and Alexa integration
- Cloud webhook management
- Cloud file storage and management

## Installation

```bash
python3 -m pip install hass-nabucasa==x.y.z
```

## Release process

`hass-nabucasa` is released through GitHub and published to [PyPI].
The release process is automated and triggered through the GitHub UI:

1. Go to the [GitHub Releases page][releases].
2. Find the draft release created by release-drafter.
3. Verify that the tag and name are the expected ones (e.g., `1.2.3`)
4. Publish the release (and set it as the latest release)

Once published, GitHub Actions workflows automatically:

- Build the package
- Publish to [PyPI]

There is no need to manually update version information in the codebase.

## Development and contributing

### Development environment

We recommend using Visual Studio Code with the official Dev Container extension for development. This provides a consistent, pre-configured environment with all dependencies installed.

This will automatically set up a development environment with all required dependencies.

### Running tests

```bash
scripts/test
```

### Code quality

This project uses pre-commit hooks for code quality checks:

```bash
scripts/lint
```

### Updating voice data

To update the voice data with the latest from Azure:

```bash
python3 -m scripts.update_voice_data
```

You will need to fetch an Azure TTS token. You can generate one by running the [sample key generator server](https://github.com/Azure-Samples/cognitive-services-speech-sdk/tree/master/samples/js/browser/server) and visiting `http://localhost:3001/api/get-speech-token`.

[releases]: https://github.com/NabuCasa/hass-nabucasa/releases
[PyPI]: https://pypi.org/project/hass-nabucasa/
