skillfed

jaraco.abode

A library interfacing to the Abode home security system

jaraco-abode v6.4.0 74.6K downloads/30d#14,806 on PyPI13
Permissive license MIT Active released

What it is and what it does

jaraco.abode is a reverse-engineered Python client for the Abode home security system. It provides both a programmatic API and command-line interface to interact with Abode alarm systems, including arming/disarming, controlling smart locks and door sensors, managing cameras, and triggering automations. The library wraps HTTP requests to Abode's servers and uses WebSocket connections (via lomond) to listen for real-time device state changes.

The package is designed for home automation integrations where you need to control or monitor an Abode system from Python code. It handles authentication (including MFA support), device discovery, state queries, and event streaming. The maintainers note that API calls should be throttled to avoid overwhelming Abode's servers, and cloud push notifications should be leveraged when possible rather than polling.

Use it for:

  • Integrate Abode alarm control into a broader home automation platform or custom dashboard
  • Automate lock/unlock sequences based on external triggers (location, time, or other sensors)
  • Monitor door and motion sensors in real time and log state changes to a database
  • Build a command-line tool to arm/disarm alarms or control devices without the Abode app
  • Trigger camera captures or video streams programmatically for security monitoring workflows

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

A Python library that interfaces with the Abode home security system API, allowing you to control alarms, devices, locks, cameras, and automations programmatically or via command line.

Yes, if you own an Abode system and need programmatic control or integration with other tools. The package is actively maintained, has no known vulnerabilities, and uses a permissive MIT license. Install friction is low. The main caveat is that it relies on reverse-engineered APIs rather than official Abode support, so stability depends on Abode not changing their backend significantly.

Install

jaraco-abode on PyPI

pip

pip install jaraco-abode

uv

uv add jaraco-abode

poetry

poetry add jaraco-abode

Installing jaraco.abode

Before you install

Low install friction with a pure-Python wheel distribution. The package is actively maintained with a recent commit on 2026-04-13 and stable status (Development Status :: 5 - Production/Stable). Requires Python 3.9 or later.

License in practice

MIT license permits free use, modification, and distribution with minimal restrictions, making it suitable for both personal and commercial projects.

Quickstart

pip install jaraco.abode

from jaraco.abode import Abode

abode = Abode(username='user@example.com', password='password')
abode.get_devices()
abode.arm('home')
abode.logout()

Requires Python 3.9 or later. Abode account credentials are needed. API calls faster than 60 seconds are not recommended per the package documentation.

Verify before relying

  • Whether the package supports MFA (multifactor authentication) mentioned in CLI help but not detailed in API docs
  • Current status of Abode's official API availability and whether reverse-engineered API remains stable
  • Whether WebSocket event listening (lomond dependency) works reliably across network conditions

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 15 — requests, lomond, colorlog, keyring, requests_toolbelt, jaraco.collections, jaraco.context, jaraco.classes, jaraco.net, more_itertools, importlib_resources, bx_py_utils, platformdirs, jaraco.itertools, jaraco.functools
Maintenance actively maintained — 459 days since the last release
Last repo commit
First released
Downloads 74,648/month — #14,806 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: jaraco_abode-6.4.0-py3-none-any.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: Only

Tags

abode alarm system apihome security system controlsmart lock and door controlalarm automation pythonsecurity system integrationhome automation api clientdevice state monitoring
home-automationiot-integrationalarm-system

More Monitoring packages

tqdm

Wraps any iterable to display a real-time…

copyleft · top 100 on PyPI

opentelemetry-semantic-conventions

Provides generated Python code for…

permissive · top 100 on PyPI

opentelemetry-sdk

Provides the reference implementation of the…

permissive · top 100 on PyPI

opentelemetry-api

Provides the abstract API and interfaces for…

permissive · top 100 on PyPI

opentelemetry-exporter-otlp-proto-http

Exports OpenTelemetry observability data to an…

permissive · top 1,000 on PyPI

opentelemetry-instrumentation

Provides automatic instrumentation commands and…

permissive · top 1,000 on PyPI

homematicip

A Python wrapper for the HomematicIP REST API…

copyleft · top 15,000 on PyPI

pyfritzhome

Provides Python access to AVM Fritz!Box home…

permissive · top 15,000 on PyPI

blinkpy

A Python library for controlling and monitoring…

permissive · top 15,000 on PyPI

gotailwind

Asynchronous Python client for controlling and…

permissive · top 15,000 on PyPI

homeassistant

Home Assistant is an open-source home…

permissive · top 5,000 on PyPI

seam

Official Python SDK for the Seam API that…

permissive · top 15,000 on PyPI

total-connect-client

A Python client library for authenticating with…

permissive · top 15,000 on PyPI

ring-doorbell

Exposes Ring.com doorbell, camera, and chime…

copyleft · top 15,000 on PyPI

yalexs

Async Python client library for Yale Access…

permissive · top 15,000 on PyPI

pyjvcprojector

A Python client library for controlling JVC…

permissive · top 15,000 on PyPI