Skip to main content

A Python package for automating VideoIPath configuration workflows.

Project description

A Python package for automating VideoIPath configuration workflows.

GitHub Workflow Status Python Versions License: AGPL v3


⚠️ Attention ⚠️
This Python package, the VideoIPath Automation Tool, is still under development and currently in the beta phase. Features and interfaces may change as development progresses. Feel free to use the module and provide feedback, but be aware that breaking changes may occur in future versions.

Introduction

The VideoIPath Automation Tool is a Python package designed to simplify and optimize interactions with the VideoIPath API. The focus is on providing a user-friendly and efficient way to automate configuration tasks and bulk operations on VideoIPath servers. The package abstracts the complexity of the API and provides a high-level interface. Currently, the package offers methods for managing devices in the Inventory and Topology apps, as well as the configuration of multicast pools and profiles.

The provided methods and data models ensure easy handling, robust validation, comprehensive logging, and enhanced reliability.

Quick Start Guide

Prerequisites

  • Access to a VideoIPath Server (version 2023.4.2 or higher, LTS versions recommended)
  • A user account with API access credentials
  • Python 3.11 or higher

Installation

Since the repository is currently private, the package must be downloaded manually as a build artifact from the GitHub Releases section.

Once the repository is public, the package will be available via the public PyPI registry for easy installation.

Install the package using pip

pip3 install "path/to/downloads/videoipath_automation_tool-0.1.2.tar.gz"

A Simple Example: Adding a Device to the Inventory

# Import the `VideoIPathApp` class from the videoipath_automation_tool package
from videoipath_automation_tool import VideoIPathApp

# Initialize the VideoIPathApp
app = VideoIPathApp(server_address="10.1.100.10", username="api-user", password="veryStrongPassword")

# Create a device object with NMOS Multidevice driver
staged_device = app.inventory.create_device(driver="com.nevion.NMOS_multidevice-0.1.0")

# Set the device label, description, address, nmos port and disable 'Use indices in IDs' option
staged_device.configuration.label = "Media-Node-1"
staged_device.configuration.description = "Hello World"
staged_device.configuration.address = "10.100.100.1"
staged_device.configuration.custom_settings.port = 8080
staged_device.configuration.custom_settings.indices_in_ids = False

# Add the configured device to the inventory of the VideoIPath server
# This immediately registers the device and returns the assigned device object.
try:
    device = app.inventory.add_device(staged_device)
    print(f"Device added successfully: {device.device_id}")
    #> Device added successfully: device34
except Exception as e:
    print(f"Failed to add device: {e}")

Documentation

Feedback & Contributions

Your feedback and contributions are highly appreciated! There are several ways to participate and help improve the VideoIPath Automation Tool:

Report issues & suggest features: Open an issue on GitHub: ➝ GitHub Issues

[After release] Contribute via pull requests: If you want to implement a fix or a new feature yourself, feel free to fork the repository and submit a pull request. ➝ Fork the Repository

Discuss & provide feedback: If you have general feedback or ideas that don’t fit into an issue, feel free to reach out via email: 📧 moip@swr.de

Thank you for your support and contributions!

Disclaimer

"VideoIPath Automation Tool" is an independent software tool that can be used with the VideoIPath media orchestration platform. However, it is not a product or service offered by Nevion, and Nevion is not responsible for its functionality, performance, support, or any unforeseen consequences arising from its use. Nevion's VideoIPath platform is used to manage critical media infrastructure, and special care is advised concerning the use of external tools such as this.

License

Affero General Public License v3.0

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

videoipath_automation_tool-0.1.2.dev132.tar.gz (257.4 kB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file videoipath_automation_tool-0.1.2.dev132.tar.gz.

File metadata

File hashes

Hashes for videoipath_automation_tool-0.1.2.dev132.tar.gz
Algorithm Hash digest
SHA256 e7f6c5ad88a2a3a6b72b078c00048e58e3227149f95f1b2813fa2da259885029
MD5 44c667eb4cc3d6e7e5c3938b5b0e048e
BLAKE2b-256 ea795d87efb005900f8adfeca9adde78b754ac74383d4e6500636b7c141ebcf8

See more details on using hashes here.

File details

Details for the file videoipath_automation_tool-0.1.2.dev132-py3-none-any.whl.

File metadata

File hashes

Hashes for videoipath_automation_tool-0.1.2.dev132-py3-none-any.whl
Algorithm Hash digest
SHA256 9d0f8eda9af666dfd80d26796f9c194f75d1c1768521c2221f2a6f66a5d36b26
MD5 392fde269a49c04fc4ce5c7b6c20ecf1
BLAKE2b-256 94f2a1bce6d45483fe400009f02a8332ad393a8ef745c073517942df312fba14

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