Skip to main content

Python client library for WyreStorm NetworkHD API operations - matrix switching, device control, video walls, and multiview.

Project description

WyreStorm NetworkHD Python Client

PyPI version Python Support Coverage License: MIT Code style: black

A Python client library for WyreStorm NetworkHD devices, providing a high-level interface for device control and monitoring. Features strongly typed APIs, async/await support, multiple connection types (SSH and RS232), comprehensive API coverage, robust error handling, and real-time notifications.

📖 View Documentation | 🚀 Quick Start | 💻 API Reference

Installation

pip install wyrestorm-networkhd

# For RS232 support (optional)
pip install wyrestorm-networkhd[rs232]

Quick Start

import asyncio
from wyrestorm_networkhd import NetworkHDClientSSH, NHDAPI

async def main():
    # Create SSH client
    client = NetworkHDClientSSH(
        host="192.168.1.100",
        port=10022,
        username="wyrestorm",
        password="networkhd",
        ssh_host_key_policy="warn"
    )

    # Register notification callbacks for real-time updates
    def on_device_status(notification):
        print(f"Device {notification.device} is {'online' if notification.online else 'offline'}")

    def on_cec_data(notification):
        print(f"CEC data from {notification.device}: {notification.cec_data}")

    client.register_notification_callback("endpoint", on_device_status)
    client.register_notification_callback("cecinfo", on_cec_data)

    # Use async context manager for automatic connection handling
    async with client:
        # Create API wrapper for organized command access
        api = NHDAPI(client)

        # Execute commands and get typed responses
        device_list = await api.api_query.get_devicelist()
        matrix_info = await api.api_query.matrix_get()
        await api.video_wall.scene_active("office", "splitmode")

        # Real-time notifications are automatically handled in the background

# Run the async function
asyncio.run(main())

📚 Documentation

🌐 Complete Documentation

License

This project is licensed under the MIT License - see the 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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

wyrestorm_networkhd-1.1.1-py3-none-any.whl (60.2 kB view details)

Uploaded Python 3

File details

Details for the file wyrestorm_networkhd-1.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for wyrestorm_networkhd-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 491f9ed88a91c4e75e4a70f41576c4cee17cff2115ced9210a5b227925f6c47a
MD5 8f093d6566d904d1041e7d7f0a34893f
BLAKE2b-256 836670aa06fa2b80474a0ea940fa6dc54a478eac4cc889e7069f4a2a8bb2a57c

See more details on using hashes here.

Provenance

The following attestation bundles were made for wyrestorm_networkhd-1.1.1-py3-none-any.whl:

Publisher: release.yml on Matt-Hadley/wyrestorm-networkhd-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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