Skip to main content

kc-sdk-python — Kvindo Cloud Python SDK

PyPI version Python versions License: MIT

Official Python SDK / client for the Kvindo Cloud API — manage cloud infrastructure as code from Python: VMs, volumes, S3 object storage, Kubernetes, load balancers, VPCs, VPNs, and managed PostgreSQL.

A thin, typed client over the REST API: one resource client per resource type, all sharing the same create / read / update / delete / list contract.

Using Claude Code? This repo ships a Claude Code skill that teaches Claude how to script Kvindo Cloud with this SDK — clone this repo (or otherwise have it on disk) and open Claude Code there to pick it up automatically.

Install

pip install kc-sdk-python

Dependencies: requests, marshmallow-dataclass, py-ulid.

Usage

from kc_api import KcClient

client = KcClient("YOUR_API_TOKEN")  # api_url defaults to https://cloud-api.kvindo.ru
# TLS certificate verification is on by default (verify_ssl=True). Pass
# verify_ssl=False only to point this SDK at a genuinely self-hosted instance
# with a self-signed cert.

# List (label-filtered, paginated)
resp = client.vms.get_by_labels({"env": "prod"}, max_page_size=50)
for vm in resp.resources:
    print(vm["metadata"]["name"])

# Read one
vm = client.vms.read("01H...")
print(vm.resource)

# Create / update (async) then wait for it to reconcile
created = client.vms.create_or_update({
    "metadata": {"name": "my-vm", "folderId": "01H..."},
    "spec": {"offerId": "g3-1c2-100", "state": "running", ...},
})
status = client.vms.wait_request_satisfied(created.requestId, timeout_seconds=300)
assert status.succeeded

# Delete (optionally block until reconciled)
client.vms.delete("01H...", wait=True)

Create / update / delete are asynchronous: they return a requestId; poll read_request(requestId) or use wait_request_satisfied(...). Every response object carries errorMessage / errorCode (a typed KcApi*ErrorCode) which are None on success.

Available resources

KcClient exposes one KcResourceClient per type, e.g. client.vms, client.volumes, client.s3_buckets, client.kubernetes, client.load_balancers, client.vpcs, client.postgresql_standalones, client.folders, client.transactions, … (the surface mirrors the official Kvindo Cloud API).

Related projects

Part of the Kvindo Cloud developer toolchain:

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kc_sdk_python-4.2.0.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

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

kc_sdk_python-4.2.0-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file kc_sdk_python-4.2.0.tar.gz.

File metadata

  • Download URL: kc_sdk_python-4.2.0.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for kc_sdk_python-4.2.0.tar.gz
Algorithm Hash digest
SHA256 0c03f3a7b598484dff84c5d951f97f8e7767ed268e94ca82e72f1402e69c9ee6
MD5 4f5d517ebbb108af091f8e3b03c21162
BLAKE2b-256 1e72c902f9b1f4f7557a5c71dc490f39f848b9136d0f2958349837595d3d8de7

See more details on using hashes here.

Provenance

The following attestation bundles were made for kc_sdk_python-4.2.0.tar.gz:

Publisher: publish.yml on Kvindo/kc-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kc_sdk_python-4.2.0-py3-none-any.whl.

File metadata

  • Download URL: kc_sdk_python-4.2.0-py3-none-any.whl
  • Upload date:
  • Size: 12.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for kc_sdk_python-4.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7e240099114e3e71f9e8ca96b947c1751965e91014a5f3d0f2e49683080bfbac
MD5 2491c28e154e2cea3ad5a7d4217cf451
BLAKE2b-256 18275e326ec2da9d45b342fc3a4dbc9578dacabcf22bf09dd1afded8af7b9791

See more details on using hashes here.

Provenance

The following attestation bundles were made for kc_sdk_python-4.2.0-py3-none-any.whl:

Publisher: publish.yml on Kvindo/kc-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page