Skip to main content

OmniVista Cirrus RestFul API library for Python

Project description

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 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

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

ovcirrus_api-10.4.3.post8.tar.gz (20.1 kB view details)

Uploaded Source

Built Distribution

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

ovcirrus_api-10.4.3.post8-py3-none-any.whl (18.6 kB view details)

Uploaded Python 3

File details

Details for the file ovcirrus_api-10.4.3.post8.tar.gz.

File metadata

  • Download URL: ovcirrus_api-10.4.3.post8.tar.gz
  • Upload date:
  • Size: 20.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for ovcirrus_api-10.4.3.post8.tar.gz
Algorithm Hash digest
SHA256 c515b45b835b977ed2fb1e63562caf500a060b0f35c34dc25104c31c78b34bc9
MD5 4e521b0adb2fb3ae8b73dc8aafa9fc3a
BLAKE2b-256 a7f39d5808cb3664131fd6733787ef00f60ee0f662ff435c7e5cae12c8474596

See more details on using hashes here.

File details

Details for the file ovcirrus_api-10.4.3.post8-py3-none-any.whl.

File metadata

File hashes

Hashes for ovcirrus_api-10.4.3.post8-py3-none-any.whl
Algorithm Hash digest
SHA256 593647ca18eac3521fd0037cb0134d2add354ff983d5e0d2692659f6f4b44ff2
MD5 1a19de98275ff294472c8c8830b4d5e7
BLAKE2b-256 a5de1c674aae1d55a09c2ff48c65e234da913d625ef129e8e36c8c2febc94356

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