Skip to main content

OmniVista Cirrus API Library for Python - OVCirrusApi

OVCirrusApi is a lightweight python library that enables developers to interact seamlessly with the OmniVista Cirrus RESTful API.


✨ Supported APIs

The full API documentation is available at: OmniVista Cirrus API Docs

  • Authentication API
  • User API
  • Organization API
  • Site API
  • Device API

🛠️ Built With

  • python 3.8
    dependencies = [
        "httpx>=0.24.1",
        "requests>=2.31.0",
        "pydantic>=2.0",
        "pybreaker>=0.7.0",
        "backoff>=2.2.1"
    ]

🚀 Installation

  1. pip install ovcirrus-api

📦 Usage Guide

Step 1: Create a global instance of Authenticator object in auth_instance.py

    # auth_instance.py
    from aos8_api.api_client import Authenticator
    auth = (
        Authenticator()
        .setURL("https://api.example.com/auth")
        .setCredentials("your@email.com", "your_password")
        .setApp("your_app_id", "your_app_secret")
        .build()
    )

Step 2: Import the auth instance and apiClient library in your .py application

    from auth_instance import auth  # auth_instance.py
    from api_client import OVCirrusApiClient
    
    apiClient = OVCirrusApiClient(base_url=API_BASE_URL, auth=auth)
    userProfile = await apiClient.user.getUserProfile()
    if userProfile is None:
        print("Failed to retrieve profile.")
        return
    else:
        print(userProfile.firstname)

    await apiClient.close()

🧪 Give it a try - example_usage.py

  1. Fill in the API credentials in the .env file
API_BASE_URL = "https://<base_url>/"
AUTH_URL = API_BASE_URL + "api/ov/v1/applications/authenticate"

EMAIL = "<email>"
PASSWORD = "<password>"
APP_ID = "<appId>"
APP_SECRET = "<appSecret>"
  1. Run the script, python .\example_usage.py

📚 Available Methods

User API:

  • getUserProfile
  • UpdateUserProfile

Organization API:

  • createAnOrganization
  • getAllUserOrganizations
  • getOrganizationBasicSettings
  • getOrganization
  • updateOrganization
  • deleteOrganization

Site API

  • createSite
  • getOrganizationSites
  • getOrganizationSitesBuildingsFloors
  • getSite
  • updateSite
  • deleteSite

Device API

  • createDevice
  • getAllDevices
  • createRemoteAP
  • getAllDevicesFromOrganization
  • getDevice
  • getDeviceDetails
  • updateDevice
  • deleteDevice
  • updateRemoteAP
  • saveToRunning
  • reboot

SSID API

  • getAllSsids
  • createSSID

📦 Releases

Version Date Notes
v10.4.3 2025-04-16 Initial release
v10.4.3post2 2025-04-16 Authentication API
v10.4.3post3 2025-04-18 Profile API added
v10.4.3post4 2025-04-18 Organization API added
v10.4.3post5 2025-04-18 Sites API added
v10.4.3post6 2025-04-18 Device API added
v10.4.3post7 2025-04-18 SSID API added
v10.4.3post7 2025-04-18 Bugs fixes

Visit the Releases page to download .zip packages.


📄 License

Copyright (c) Samuel Yip Kah Yean <2025>

This software is licensed for personal, non-commercial use only.

You are NOT permitted to:
- Use this software for any commercial purposes.
- Modify, adapt, reverse-engineer, or create derivative works.
- Distribute, sublicense, or share this software.

All rights are reserved by the author.

For commercial licensing or permission inquiries, please contact:
kahyean.yip@gmail.com

Metadata

Release files for ovcirrus-api 10.4.3.post13

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ovcirrus-api 10.4.3.post13
File Size Uploaded Provenance Actions
ovcirrus_api-10.4.3.post13.tar.gz 23.2 kB Without provenance Details for ovcirrus_api-10.4.3.post13.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ovcirrus-api 10.4.3.post13
File Interpreter ABI Platform Actions
ovcirrus_api-10.4.3.post13-py3-none-any.whl Python 3 none any Details for ovcirrus_api-10.4.3.post13-py3-none-any.whl

Total release size: 48.1 kB

Release files / ovcirrus_api-10.4.3.post13.tar.gz

Download URL ovcirrus_api-10.4.3.post13.tar.gz
Size 23.2 kB
Tags Source
SHA-256 checksum
How to use checksums
aa1dcb862f46d4cfab84d03b5bc1e4aca343ca4a3cf8f3de44be97c173c952bd
BLAKE2b-256 checksum
How to use checksums
f86f41a91e0d4817929bbc6072c1b79028beefbeb438e6a33463ea1ef1455fa1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.4

Release files / ovcirrus_api-10.4.3.post13-py3-none-any.whl

Download URL ovcirrus_api-10.4.3.post13-py3-none-any.whl
Size 24.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fdf3edd5f271a9bef7edf5fc92bd19481dbdc351973468bd8ef7e7c835bf6085
BLAKE2b-256 checksum
How to use checksums
c9371cef8f6cee34b893b7f0103bc7aa21dc232b08cd20399af3a39a6d94e817
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.4

Security for ovcirrus-api 10.4.3.post13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page