--- id: hassil version: "3.11.0" license: Apache-2.0 license_treatment: permissive maintenance: active --- # hassil — The Home Assistant Intent Language parser License: permissive · Maintenance: active · Downloads: 190.8K/mo ## 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 above — 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 pip install hassil uv add hassil 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_current - Install friction: low - Maintenance: active - Downloads: 190.8K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags natural language intent parsing, voice command recognition, sentence template matching, intent extraction from text, home automation voice control, NLU intent classifier, YAML-based sentence parsing, intent-recognition, voice-automation, home-assistant [View on SkillFed](https://skillfed.io/packages/hassil) · [View on PyPI](https://pypi.org/project/hassil/)