Skip to main content

Python library for interacting with Axis device APIs

Project description

ax-devil-device-api

A Python library for interacting with Axis device APIs. Provides a type-safe interface with tools for device management, configuration, and integration.

Important Disclaimer

This project is an independent, community-driven implementation and is not affiliated with or endorsed by Axis Communications AB. For official APIs and development resources, please refer to Axis Developer Community.

Quick Start

Installation

pip install ax-devil-device-api

Environment Variables

For an easier experience, you can set the following environment variables:

export AX_DEVIL_TARGET_ADDR=<device-ip>
export AX_DEVIL_TARGET_USER=<username>
export AX_DEVIL_TARGET_PASS=<password>
export AX_DEVIL_USAGE_CLI="safe" # Set to "unsafe" to skip SSL certificate verification for CLI calls

Example Usage

from ax_devil_device_api import Client, DeviceConfig

# Initialize client (recommended way using context manager)
config = DeviceConfig.https("192.168.1.10", "admin", "password")
with Client(config) as client:
    # Get device information
    device_info = client.device.get_info()
    if device_info.is_success:
        print(f"Model: {device_info.data.model}")
        print(f"Serial: {device_info.data.serial}")
        
    # Use a fresh session for sensitive operations
    with client.new_session():
        client.device.restart()

# Alternative: Manual resource management (not recommended)
client = Client(config)
try:
    device_info = client.device.get_info()
    if device_info.is_success:
        print(f"Model: {device_info.data.model}")
finally:
    client.close()  # Always close the client when done

CLI Usage Examples

Get device information

ax-devil-device-api-device-info --device-ip 192.168.1.10 --username admin --password secret info

Capture media

ax-devil-device-api-media --device-ip 192.168.1.10 --username admin --password secret --output image.jpg capture

License

MIT License - See LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ax_devil_device_api-0.1.0.tar.gz (36.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ax_devil_device_api-0.1.0-py3-none-any.whl (52.9 kB view details)

Uploaded Python 3

File details

Details for the file ax_devil_device_api-0.1.0.tar.gz.

File metadata

  • Download URL: ax_devil_device_api-0.1.0.tar.gz
  • Upload date:
  • Size: 36.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for ax_devil_device_api-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7d6ce52eaf42ba4c98bf2da7c5ea36289341fb21369cdf94625324eec68879cd
MD5 656a9acbff1836fa1e8fc275b8ee2358
BLAKE2b-256 0e18d4f47c13a102ee8be9f733f639c30a07f1570417381279364eb46090a1ea

See more details on using hashes here.

File details

Details for the file ax_devil_device_api-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ax_devil_device_api-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b2a41f18a15c32bf545ac23b7c376fb42cfbc12af2f23b71078f31a5c8cf73cb
MD5 6acb78642f1f1f73bc056a8a73dd41ec
BLAKE2b-256 0507492726b7a888728d5c34da91d31b4efbb465e366406a768ff6a03aa69eea

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page