Python client for the Cylera Partner API
Project description
cylera-client
A Python client for the Cylera Partner API
Installation
pip install cylera-client
Or with uv:
uv add cylera-client
Usage
from cylera_client import CyleraClient, Organization, Inventory, Utilization, Network, Risk, Threat
client = CyleraClient(
username="you@example.com",
password="your-password",
base_url="https://partner.us1.cylera.com/",
)
Authentication is handled automatically. Tokens are cached and refreshed before expiry.
Organization
organization = Organization(client)
# Get the organization associated with your API credentials
org = organization.get_organization()
# {"organization_id": 17, "name": "Cylera", "internal_name": "cylera"}
# List organizations available to switch into
available = organization.get_available_organizations()
# Switch into a different organization (token is invalidated after switch)
# Note that switch_organization is handled asynchronously
# So, whenever you switch, it is wise to sleep for a few seconds to give
# the back-end time to process the reset request.
organization.switch_organization(available[0]["id"])
# Reset back to your home organization
# Note that reset_organization is handled asynchronously
# So, whenever you reset, it is wise to sleep for a few seconds to give
# the back-end time to process the reset request.
organization.reset_organization()
Inventory
inventory = Inventory(client)
# Get a single device by MAC address
device = inventory.get_device("7f:14:22:72:00:e5")
# List devices with optional filters
devices = inventory.get_devices(
vendor="Philips",
device_class="Medical",
page=0,
page_size=50,
)
# Get device attributes
attrs = inventory.get_device_attributes("7f:14:22:72:00:e5")
Utilization
utilization = Utilization(client)
procedures = utilization.get_procedures(
device_uuid="ffc20dfe-4c24-11ec-8a38-5eeeaabea551",
completed_after="2024/01/01",
page=0,
page_size=100,
)
Network
network = Network(client)
subnets = network.get_subnets(vlan=477)
Risk
risk = Risk(client)
# Get vulnerabilities
vulns = risk.get_vulnerabilities(severity="CRITICAL", status="OPEN")
# Get mitigations for a specific CVE
mitigations = risk.get_mitigations(vulnerability="CVE-2017-2852")
Threats
threat = Threat(client)
threats = threat.get_threats(severity="HIGH", status="OPEN", page=0, page_size=50)
Debugging
Set DEBUG=1 to print request details to stderr (authorization headers are redacted):
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
cylera_client-1.2.1.tar.gz
(8.8 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cylera_client-1.2.1.tar.gz.
File metadata
- Download URL: cylera_client-1.2.1.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d04cb309290e747407412e4c5477f02732773a312ead408cd33ef391027e5dc6
|
|
| MD5 |
df6e3c787cc367ecf1719bf366953f4e
|
|
| BLAKE2b-256 |
90079e2cc04ce4cfb38b56dcf0fb505d0cff373cf5e35d05939516b70c7c4646
|
File details
Details for the file cylera_client-1.2.1-py3-none-any.whl.
File metadata
- Download URL: cylera_client-1.2.1-py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
96dcc644820e9f7d516c8af490f191bbfb02a202d98e2d5829999d1084c0be01
|
|
| MD5 |
69aacf46cbb1d53f9ac5babb6d795ede
|
|
| BLAKE2b-256 |
19f2789bcd7a267787fba9c51b58689aa59acf9280999c36e627a05339a25816
|