pyisy
Python module to talk to ISY devices from UDI.
Decision gist · record as of 2026-08-14
Yes. PyISY is actively maintained, has no known vulnerabilities, minimal dependencies, and is the de facto standard for ISY control in Python. Install it if you need to interact with an ISY-994, Polisy, or eisy controller from Python—especially if you're building a Home Assistant integration or custom automation. The async design and real-time event support make it suitable for production home automation use.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.11 or later; requires a reachable ISY-994, Polisy, or eisy controller on the network.
- Low install friction with only two runtime dependencies (aiohttp and colorlog).
- Active maintenance with a release 24 days ago and recent commits; suitable for production use.
License · maintenance · safety
Apache-2.0 (permissive) — Licensed under Apache-2.0 (permissive), allowing commercial and private use with minimal restrictions.
last release 2026-07-21 (24 days) · last repo commit 2026-08-14 · 19 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 75,877 downloads/mo, #14,674 on PyPI
Alternatives
Verify before relying
pip install pyisy
import asyncio
from pyisy import ISY
async def main():
isy = ISY("192.168.1.10", 80, "admin", "password")
await isy.initialize()
node = isy.nodes["1A 2B 3C 1"]
await node.turn_on()
await isy.shutdown()
asyncio.run(main())- Whether the library supports all ISY firmware versions or only specific ones beyond v4 and v5 mentioned.
- Performance characteristics and scalability limits when managing large numbers of nodes or programs.
- Specific WebSocket vs SOAP event stream trade-offs and which is recommended for typical deployments.
What it is and what it does
PyISY is a Python async library for controlling and monitoring Universal Devices ISY home automation controllers (ISY-994, Polisy, eisy). It wraps the ISY REST API and event streams, letting you query and command nodes, programs, variables, and network settings from Python code. The library uses aiohttp for async HTTP and supports real-time updates via WebSocket or SOAP, so your application can react to device state changes without polling.
Typical use is in home automation integrations (notably Home Assistant's isy994 integration) where you initialize a connection to an ISY controller, download its device tree, then interact with individual nodes—reading their status, turning them on/off, or adjusting settings. The library handles the XML parsing and event subscription plumbing, so you work with Python objects rather than raw HTTP calls.
Use it for
- Build a home automation dashboard that displays and controls ISY devices in real time.
- Integrate ISY controllers with Home Assistant or other home automation platforms.
- Monitor ISY programs and variables and trigger external actions based on their state.
- Create scripts to batch-configure or query ISY node settings and network modules.
- Develop a CLI tool or web service that exposes ISY control to non-technical users.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
PyISY is actively maintained, has no known vulnerabilities, minimal dependencies, and is the de facto standard for ISY control in Python. Install it if you need to interact with an ISY-994, Polisy, or eisy controller from Python—especially if you're building a Home Assistant integration or custom automation. The async design and real-time event support make it suitable for production home automation use.
Install
pyisy on PyPI
Before you install
Low install friction with only two runtime dependencies (aiohttp and colorlog). Active maintenance with a release 24 days ago and recent commits; suitable for production use.
Requires Python 3.11 or later; requires a reachable ISY-994, Polisy, or eisy controller on the network.
License in practice
Licensed under Apache-2.0 (permissive), allowing commercial and private use with minimal restrictions.
Quickstart
pip install pyisy
import asyncio
from pyisy import ISY
async def main():
isy = ISY("192.168.1.10", 80, "admin", "password")
await isy.initialize()
node = isy.nodes["1A 2B 3C 1"]
await node.turn_on()
await isy.shutdown()
asyncio.run(main())
Verify before relying
- Whether the library supports all ISY firmware versions or only specific ones beyond v4 and v5 mentioned.
- Performance characteristics and scalability limits when managing large numbers of nodes or programs.
- Specific WebSocket vs SOAP event stream trade-offs and which is recommended for typical deployments.
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release >=3.11 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesaiohttpcolorlog |
| Maintenance | Actively maintained 24 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 75,877 / month, #14,674 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: End Users/DesktopLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Topic :: Home Automation |
Evidence: pyisy-3.7.0-py3-none-any.whl
Tags
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 › “ISY controller Python library”
- pyisyPyISY is a Python library for asynchronous communication with…
- aiounifiAsynchronous Python library for communicating with UniFi Network…
- tplink-omada-clientA Python client library for interacting with TP-Link Omada SDN…
Give your agent the search over MCP, or paste the wish link into any chat.
More Home Automation packages
Represents and manipulates IPv4, IPv6, MAC addresses and related network objects; supports CIDR notation, subnetting, set operations, IANA lookups, and DNS reverse generation.
Home Assistant is an open-source home automation platform that centralizes control of smart home devices and automations on a local server or Raspberry Pi, prioritizing local control and privacy over cloud dependency.
Defines finite state machines and statecharts with a declarative Python API, supporting flat states, compound hierarchies, parallel regions, history states, guards, and both sync and async callbacks.
Install it if you need to model workflows, control logic, or any system with discrete states and event-driven transitions — from simple state machines to complex…
A Python library for controlling BlueZ Bluetooth adapters on Linux via the Management API, supporting both synchronous and event-driven command patterns.
An async Python library for controlling and monitoring Homematic and HomematicIP devices through multiple backend systems (CCU3, OpenCCU, Homegear, CUxD, CCU-Jack) using XML-RPC and JSON-RPC protocols.
Install it if you need to control Homematic devices from Python; the only constraint is a requirement for Python 3.14 or later and network access to a compatible…
Provides base classes and utilities for Home Assistant integrations to proxy HTTP and WebSocket traffic through Home Assistant's web server.
Install only if you are building a custom Home Assistant integration; it is not useful as a standalone package.
See also asyncua · zwave-js-server-python · pysoem · pyserial-asyncio · py-unifi-access · zigpy-xbee · python-izone · pymisp · pyControl4 · pyads