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

    # auth_instance.py
    from api_client.auth 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 instance and use the apiClient in the .py file

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

    print(userProfile.firstname)

🧪 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

📦 Releases

Version Date Notes
v10.4.3post2 2025-04-16 Initial release
v10.4.3post3 2025-04-18 Site API, Device API added

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.post3.tar.gz (18.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.post3-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ovcirrus_api-10.4.3.post3.tar.gz
  • Upload date:
  • Size: 18.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.post3.tar.gz
Algorithm Hash digest
SHA256 5c2dcc7d244204896106858563714c03e0bfb43617243c00c48c084a5d4cfe8d
MD5 255f9112093d80400c8ba9edf9bf341b
BLAKE2b-256 5b91ae61e02852865a5d24d2bc6ba1146a2924dbeb09c244ef0153f58e0bac3d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ovcirrus_api-10.4.3.post3-py3-none-any.whl
Algorithm Hash digest
SHA256 3b1ea6db826982e07ad1ff7720e4ef46773d3edbd10730fb892ffb261f016617
MD5 0f40374d4bceb972fbe112d5f4355c76
BLAKE2b-256 fd4626729e10ef6b9ab85f20b24fe86deb07b151a45fe15cc1b038dc166d3363

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