skillfed

axis

A Python library for communicating with devices from Axis Communications

axis v74 81.0K downloads/30d#14,254 on PyPI41
Permissive license MIT Active released

What it is and what it does

axis is a Python library for communicating with Axis Communications network devices (cameras, intercoms, etc.) using the Vapix API. It handles device discovery, authentication, and typed request/response contracts for querying device capabilities and subscribing to event streams. The library organizes handlers into initialization phases (API_DISCOVERY, PARAM_CGI_FALLBACK, APPLICATION) and exposes both low-level API access and higher-level event models.

The package is built around async I/O using aiohttp and includes an optional interactive CLI for device exploration. It's designed to be reusable by non-CLI consumers through presentation-agnostic domain layers. The library requires Python 3.14.0 and has been actively maintained since its initial release.

Use it for:

  • Integrate Axis network cameras into home automation systems to query device status and subscribe to motion/audio events.
  • Build a device management tool that discovers Axis devices on a network and exposes their capabilities through a typed API.
  • Monitor Axis devices for specific events and trigger downstream actions based on event subscriptions.
  • Automate configuration tasks on Axis devices by reading and writing parameters through the Vapix API.
  • Develop a CLI utility to explore and test Axis device APIs without writing custom HTTP code.

Worth the install?

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

Establishes connections to Axis Communications devices and subscribes to events on their metadata streams, providing typed request/response interfaces and device discovery.

Yes. The package is actively maintained, has no known vulnerabilities, low install friction, and a permissive MIT license. It's well-suited for anyone integrating Axis Communications devices into Python applications or home automation systems. The only constraint is the requirement for Python 3.14.0 or later.

Install

axis on PyPI

pip

pip install axis

uv

uv add axis

poetry

poetry add axis

Installing axis

Before you install

Low friction install with a pure-Python wheel. Actively maintained with a recent release and no known vulnerabilities. Eight runtime dependencies are all well-established packages.

License in practice

MIT license is permissive; you can use, modify, and distribute this package freely with minimal restrictions.

Quickstart

pip install axis

from axis.vapix import Vapix
from axis.models import ApiRequest

# Create a Vapix instance to communicate with an Axis device
vapix = Vapix(host='device_ip', username='root', password='pass')
await vapix.initialize()

Requires Python 3.14.0 or later; async/await patterns require an asyncio event loop.

Verify before relying

  • Whether the package supports older Axis device models or only recent firmware versions.
  • Performance characteristics when handling high-frequency event streams from multiple devices.
  • Whether CLI features are stable or still experimental given the development-focused documentation.
  • Specific example IP addresses or device configurations for typical deployment scenarios.

Package facts

License MIT (permissive)
Python support capped below the current Python release (>=3.14.0)
Install friction low — pure-Python wheel
Runtime dependencies 8 — aiohttp, faust-cchardet, orjson, packaging, tomli, tomli-w, xmltodict, zeroconf
Maintenance actively maintained — 40 days since the last release
Last repo commit
First released
Downloads 81,047/month — #14,254 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: axis-74-py3-none-any.whl

Keywords: axis, vapix, homeassistant

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3.14Topic :: Home Automation

Tags

axis communications device controlvapix api clientaxis camera integrationdevice event subscriptionaxis homeassistant librarynetwork device discoveryaxis metadata streaming
device-integrationhome-automationasync-io

More Home Automation packages