skillfed

hassil

The Home Assistant Intent Language parser

hassil v3.11.0 190.8K downloads/30d#9,899 on PyPI111
Permissive license Apache-2.0 Active released

What it is and what it does

HassIL is a sentence template parser that converts natural language input into structured intent objects with extracted slots and metadata. It uses YAML files to define intents, sentence templates with alternatives, optional phrases, permutations, slot lists, and expansion rules—allowing developers to specify how voice commands should be recognized and parsed without writing custom NLU logic.

The package is designed for Home Assistant's voice command system but can be used standalone for any application needing template-based intent recognition. It provides both a command-line interface for testing and sampling sentences, and a Python API for integration. The parser handles linguistic variations through template syntax (alternatives with pipes, optional bracketed phrases, permutations with semicolons) and supports inline range lists for numeric values.

Use it for:

  • Build voice command handlers for Home Assistant by defining intents and sentence templates in YAML without training a machine learning model.
  • Generate test datasets of valid sentences for each intent using the sampling feature to validate coverage before deployment.
  • Extract structured parameters (area names, device names, numeric values) from user utterances for automation rule matching.
  • Implement multi-language voice control by switching between different YAML intent definition files per language.
  • Create a lightweight intent recognizer for IoT or embedded systems where ML-based NLU is too resource-intensive.

Worth the install?

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

Parses natural language sentences into structured intents using YAML-defined templates, slot lists, and expansion rules for Home Assistant voice command recognition.

Yes, if you need template-based intent recognition for Home Assistant or similar voice automation systems. The low install friction, permissive license, active maintenance, and zero known vulnerabilities make it a safe choice. Not suitable if you need statistical NLU with out-of-the-box support for typos, synonyms, or paraphrasing—this is a rule-based parser that requires explicit template definitions.

Install

hassil on PyPI

pip

pip install hassil

uv

uv add hassil

poetry

poetry add hassil

Installing hassil

Before you install

Low install friction with a pure Python wheel and only two runtime dependencies (PyYAML and unicode-rbnf). Active maintenance with a recent release (14 days old) and steady repository activity.

License in practice

Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most projects including proprietary integrations.

Quickstart

pip install hassil

python3 -m hassil examples/en.yaml --areas 'living room'
# Type: what is the temperature in the living room
# Output: {'intent': 'HassClimateGetTemperature', 'area': 'living room', 'domain': 'climate'}

Requires Python 3.9 or later; YAML intent definition files must be provided to the CLI or loaded programmatically.

Verify before relying

  • Whether the package provides a stable public API for programmatic use beyond the CLI interface shown in examples.
  • Performance characteristics when matching against large numbers of intents or with complex template rules.
  • Whether unicode-rbnf dependency is required for all use cases or only for certain language/locale scenarios.

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.9.0)
Install friction low — pure-Python wheel
Runtime dependencies 2 — PyYAML, unicode-rbnf
Maintenance actively maintained — 14 days since the last release
Last repo commit
First released
Downloads 190,791/month — #9,899 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: hassil-3.11.0-py3-none-any.whl

Keywords: home, assistant, intent, recognition

Development Status :: 3 - AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Topic :: Text Processing :: Linguistic

Tags

natural language intent parsingvoice command recognitionsentence template matchingintent extraction from texthome automation voice controlNLU intent classifierYAML-based sentence parsing
intent-recognitionvoice-automationhome-assistant

More Linguistic packages