skillfed

pyrisco

A Python library to communicate with Risco Cloud.

pyrisco v0.8.0 74.6K downloads/30d#14,812 on PyPI14
Permissive license MIT Active released

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 on this page — 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

pyrisco on PyPI

pip

pip install pyrisco

uv

uv add pyrisco

poetry

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 the current Python release (>=3.11)
Install friction low — pure-Python wheel
Runtime dependencies 1 — aiohttp
Maintenance actively maintained — 77 days since the last release
Last repo commit
First released
Downloads 74,597/month — #14,812 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyrisco-0.8.0-py3-none-any.whl

License :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.11Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy

Tags

risco alarm system integrationrisco cloud python clientalarm system state monitoringasync risco panel controlhome automation alarm apirisco sse push updatesrisco local panel connection
home-automationalarm-systemsasync-io

More Monitoring packages