$npx skillfedfor your agent

hassil

The Home Assistant Intent Language parser

With conditionsPyPI LinguisticReleased Jul 2026190.8K downloads / moApache-2.0Pure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — hassil-3.11.0-py3-none-any.whl
v3.11.0 · released 2026-07-31 · Python >=3.9.0 · 2 runtime deps: PyYAML, unicode-rbnf

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.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.9 or later; YAML intent definition files must be provided to the CLI or loaded programmatically.
  • 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 · maintenance · safety

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

last release 2026-07-31 (14 days) · last repo commit 2026-07-31 · 111 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 190,791 downloads/mo, #9,899 on PyPI

Verify before relying

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'}
  • 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.
Same gist for agents: .md · .json

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 on it.

With conditions

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

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.

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

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'}

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

LicenseApache-2.0 permissive
Python supportSupports the current Python release >=3.9.0
Install frictionLow. Pure-Python wheel
Runtime dependencies
2 packages
PyYAMLunicode-rbnf
MaintenanceActively maintained 14 days since the last release
Last repo commit
First released
Downloads190,791 / month, #9,899 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
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

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

Tags

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

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “voice command recognition”

  • hassilParses natural language sentences into structured intents using…
  • home-assistant-intentsProvides intent recognition data and utilities for Home Assistant…
  • pvporcupinePorcupine is a lightweight wake word detection engine that identifies…

Give your agent the search over MCP, or paste the wish link into any chat.

More Linguistic packages

charset-normalizer Worth it
PyPI · Utilities · released Aug 2026

Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.

permissive licensepure Python · 3.7+
1.7Bdownloads / mo
tiktoken Worth it
PyPI · Linguistic · released May 2026

tiktoken is a fast BPE tokenizer that converts text into token sequences compatible with OpenAI models, supporting multiple encoding schemes including o200k_base and model-specific encodings.

Install it if you work with OpenAI APIs or need to understand token boundaries in GPT-family models.

permissive licensecompiled wheel · 3.9+
233.0Mdownloads / mo
chardet Worth it
PyPI · Python Modules · released Aug 2026

Detects character encoding and language in byte sequences with high accuracy, supporting 99 encodings and returning confidence scores, language tags, and MIME types.

Install it if you need to detect character encoding or language in byte data; the rewrite makes it substantially faster and more accurate than its predecessors.

0BSDpure Python · 3.10+
199.0Mdownloads / mo
text-unidecode With conditions
PyPI · Python Modules · released Aug 2019

Converts Unicode text to ASCII by transliterating non-ASCII characters into their closest ASCII equivalents, with no runtime dependencies.

However, if transliteration quality or ongoing maintenance matters, consider unidecode instead despite its GPL-only license.

GPL-2.0-or-laterpure Pythonabandoned
89.0Mdownloads / mo
lark Worth it
PyPI · Python Modules · released Oct 2025

Lark is a parsing library that builds abstract syntax trees from context-free grammars, supporting multiple parsing algorithms (Earley, LALR(1), CYK) with automatic line and column tracking.

MITpure Python · 3.8+
79.7Mdownloads / mo
tree-sitter Worth it
PyPI · Linguistic · released Jun 2026

Python bindings to the tree-sitter parsing library, enabling incremental parsing and syntax tree analysis for source code.

MITcompiled wheel · 3.10+
79.0Mdownloads / mo

See also home-assistant-intents · azure-ai-language-conversations · razdel · conllu · segtok · wonderwords · hass-nabucasa · sentence-stream · pyobjc-framework-Intents