--- id: pyrisco version: "0.8.0" license: MIT license_treatment: permissive maintenance: active --- # pyrisco — A Python library to communicate with Risco Cloud. License: permissive · Maintenance: active · Downloads: 74.6K/mo ## What it is and what it does Pyrisco is an async Python library that bridges your code to Risco alarm systems, either through Risco Cloud's web service or direct local panel connection. It handles the low-level protocol details so you can query and control partitions and zones, arm/disarm, and receive real-time state updates without polling. The library supports two main modes: Cloud mode uses Server-Sent Events for push updates (recommended) or polling, while Local mode connects directly to your panel. Both modes expose the same high-level API for reading zone and partition state and issuing control commands. The async design means it integrates naturally with Home Assistant and other event-driven systems. It depends only on aiohttp for HTTP operations. Use it for: - Home Assistant integration: subscribe to alarm state changes and trigger automations based on partition armed status or zone triggers. - Security monitoring dashboard: poll alarm state periodically and display zone status, armed state, and recent events in a web interface. - Automated response system: listen for specific zone triggers and execute actions like unlocking doors or sending alerts. - Local panel control: connect directly to panel for offline arming/disarming without relying on cloud service availability. - Event logging: fetch historical events from Risco Cloud and store them in a local database for audit or analysis. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Pyrisco provides an async Python interface to Risco alarm systems via Risco Cloud, supporting both real-time state updates through Server-Sent Events and manual polling, plus local control via direct panel connection. Yes. Pyrisco is actively maintained, has no known vulnerabilities, installs with minimal friction, and is the primary Python interface to Risco systems. Install it if you need to integrate a Risco alarm into a Python automation or monitoring system. The async design and support for both cloud and local modes make it flexible for different deployment scenarios. ## Install pip install pyrisco uv add pyrisco poetry add pyrisco ## Installing pyrisco Before you install: Low friction: pure Python wheel with a single async dependency (aiohttp). Active maintenance with recent release (77 days ago). Requires Python 3.11 or above. License in practice: MIT license permits commercial and private use with minimal restrictions; suitable for most integration and automation scenarios. Quickstart: import asyncio from pyrisco import RiscoCloud async def main(): r = RiscoCloud(username, password, pin) await r.login() alarm = await r.get_state() print(alarm.partitions[0].armed) await r.close() asyncio.run(main()) Requires Python 3.11 or above; Risco Cloud credentials (username, password, PIN) needed for authentication. Verify before relying: - Whether local panel connection requires specific hardware or network setup beyond IP and port. - Scope and frequency of automatic reconnection backoff behavior in production scenarios. - Whether assumed_control_panel_state fallback is suitable for critical security decisions. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 74.6K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags risco alarm system integration, risco cloud python client, alarm system state monitoring, async risco panel control, home automation alarm api, risco sse push updates, risco local panel connection, home-automation, alarm-systems, async-io [View on SkillFed](https://skillfed.io/packages/pyrisco) · [View on PyPI](https://pypi.org/project/pyrisco/)