Skip to main content

Kvindo Cloud Python SDK — typed client for managing Kvindo Cloud infrastructure (VMs, S3, Kubernetes, load balancers, VPCs, PostgreSQL) via the REST API

Project description

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.

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

# 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

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

kc_sdk_python-0.2.0.tar.gz (12.8 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-0.2.0-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kc_sdk_python-0.2.0.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kc_sdk_python-0.2.0.tar.gz
Algorithm Hash digest
SHA256 0705f4d092b2a82af713868a8d299808aff5e2cf1864bf64ea32440b9a400a47
MD5 f5413c10ed72dbc005a646b113c6c0f2
BLAKE2b-256 d89ab1bb72dc7fe0ed36d1a9baca5aea5fad8e4576238129d4b1f6ecbd83e3ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for kc_sdk_python-0.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-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: kc_sdk_python-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 11.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kc_sdk_python-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fd4f5f1115b3813052ef7e10eaad0b5d69bc03484cb90100978e37c25c08d851
MD5 19ded0b8245ae655debb4b5ab730364f
BLAKE2b-256 300f8293beeadd8d865dee973bdb79390fc208aad142b7fba2c5213e5ce809c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for kc_sdk_python-0.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 Pingdom Monitoring Sentry Error logging StatusPage Status page