infrared-protocols
Library to decode and encode infrared signals.
What it is and what it does
infrared-protocols is a Python library designed specifically to support Home Assistant integrations by providing shared types and utilities for decoding and encoding infrared signals. It is not a general-purpose IR library; its API is driven by the concrete needs of Home Assistant Core rather than broad IR protocol coverage. The library serves as a foundational layer that Home Assistant integrations can depend on, allowing them to either use the protocols implemented here or wrap their own dedicated IR libraries while still benefiting from the shared types.
The package has no runtime dependencies and is actively maintained. It requires Python 3.14 or later, reflecting a modern Python baseline. With low install friction and a permissive MIT license, it integrates cleanly into Home Assistant's ecosystem. The library is explicitly scoped to Home Assistant's use cases, so its feature set and API will evolve based on integration needs rather than general IR protocol completeness.
Use it for:
- Building Home Assistant integrations that send or receive infrared commands from smart home devices
- Decoding IR signals from remote controls for use in Home Assistant automation rules
- Encoding IR commands to control air conditioners, TVs, or other IR-based appliances via Home Assistant
- Providing shared IR type definitions for multiple Home Assistant integrations to depend on
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Decodes and encodes infrared signals for use in Home Assistant integrations, providing foundational types for the Home Assistant ecosystem to build infrared protocol support on.
Yes, if you are building a Home Assistant integration that needs to work with infrared signals. The library is actively maintained, has no dependencies, and uses a permissive MIT license. However, it is explicitly scoped to Home Assistant's needs; if you need general-purpose IR protocol support outside that ecosystem, a different library may be more suitable. The Python 3.14 requirement is a hard constraint for older environments.
Install
infrared-protocols on PyPI
pip
pip install infrared-protocolsuv
uv add infrared-protocolspoetry
poetry add infrared-protocolsInstalling infrared-protocols
Before you install
Low install friction with a pure Python wheel. Actively maintained with a recent commit on 2026-08-14 and a release from 2026-08-03. No runtime dependencies to manage.
License in practice
MIT license permits free use, modification, and distribution with minimal restrictions, making it suitable for both open-source and commercial Home Assistant integrations.
Quickstart
pip install infrared-protocols==9.0.0
import infrared_protocols
# Use the library's types and functions to decode/encode IR signals
Requires Python 3.14 or later; older Python versions are not supported.
Verify before relying
- Whether the library supports decoding/encoding for specific IR protocols beyond what Home Assistant Core currently requires
- Performance characteristics when processing high-volume or complex infrared signal streams
- API stability guarantees or deprecation policy for integrations depending on this library
Package facts
| License | MIT (permissive) |
| Python support | capped below the current Python release (>=3.14) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 11 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 136,916/month — #11,380 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: infrared_protocols-9.0.0-py3-none-any.whl
Tags
More Application Frameworks packages
FastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
textualTextual is a Python framework for building…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
mcpBuild and connect to Model Context Protocol…
permissive · top 1,000 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
rf-protocolsDecodes and encodes radio frequency signals for…
permissive · top 15,000 on PyPI
aiohomekitAn asyncio-based HomeKit client library for…
permissive · top 15,000 on PyPI
zigpy-xbeeEnables zigpy to communicate with XBee-based…
copyleft · top 15,000 on PyPI
aiohasupervisorAsynchronous Python client library for…
permissive · top 15,000 on PyPI
ha-ffmpegProvides an asyncio-based Python interface to…
permissive · top 15,000 on PyPI
python-ecobee-apiA Python library for communicating with Ecobee3…
permissive · top 15,000 on PyPI
python-miioPython library and CLI tool for controlling…
copyleft · top 15,000 on PyPI
voip-utilsProvides Voice over IP utilities for Home…
permissive · top 15,000 on PyPI
airthings-bleLibrary to communicate with Airthings…
permissive · top 15,000 on PyPI
zigpy-znpAdds support for Texas Instruments ZNP Zigbee…
copyleft · top 15,000 on PyPI