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
- 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
- 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>"
- 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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.