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")
# List excluded (unclassified) devices with optional filters
excluded_devices = inventory.get_excluded_devices(
vendor="Philips",
page=0,
page_size=50,
)
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):
Metadata
Release files for cylera-client 1.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cylera_client-1.3.0.tar.gz | 9.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cylera_client-1.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.2 kB
Release files / cylera_client-1.3.0.tar.gz
| Download URL | cylera_client-1.3.0.tar.gz |
|---|---|
| Size | 9.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
07c45d2b6f9bc22f1e544241a6d65c05c347d99675974f7840af9559f98dd1fc
|
|
BLAKE2b-256 checksum How to use checksums |
6a1351775accb8676c195b736d26d8fd993658dd8cb21f24a7d1f51d22b2486e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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}
|
Release files / cylera_client-1.3.0-py3-none-any.whl
| Download URL | cylera_client-1.3.0-py3-none-any.whl |
|---|---|
| Size | 9.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a28d79f8fe7651702d26c51484fad9bb58bb131f833244ab7560db382f8b9ba8
|
|
BLAKE2b-256 checksum How to use checksums |
232a223980961fb2400d62fbd393d60a1ad2046d32c0eb046cc177bcc8b69c3b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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}
|