Skip to main content

zpodsdk

A Python client for the zPodFactory zPod API, generated from the API's OpenAPI document with openapi-python-client. zpodsdk carries the version of the API it was generated from: use the SDK whose major.minor matches your zPod API (zpodsdk 0.8.x for API 0.8.x).

uv add zpodsdk          # or: pip install zpodsdk

Python 3.14 or newer.

Usage

The API authenticates with an access_token header. ZpodClient wraps the generated client and exposes one attribute per operation:

from zpodsdk.zpod_client import ZpodClient

zpod = ZpodClient(
    base_url="https://zpodfactory.example.com:8000",
    headers={"access_token": "your-api-token"},
)

for z in zpod.zpods_get_all.sync():
    print(z.name, z.status)

detail = zpod.zpods_get.sync_detailed(id="name=my-zpod")
print(detail.status_code, detail.parsed)

Every operation has four callables: sync (parsed result, or None), sync_detailed (a Response with status_code, headers, content and parsed), and their asyncio and asyncio_detailed counterparts. Path and query parameters and request bodies are keyword arguments; request and response models live in zpodsdk.models.

The generated Client and AuthenticatedClient are available too, for callers that prefer the plain generated modules under zpodsdk.api.<tag>:

from zpodsdk import Client
from zpodsdk.api.zpods import zpods_get_all

client = Client(base_url="https://zpodfactory.example.com:8000", headers={"access_token": "your-api-token"})
zpods = zpods_get_all.ZpodsGetAll(client).sync()

Certificate verification is on by default; pass verify_ssl="/path/to/bundle.pem" or, for a lab you control, verify_ssl=False to the client.

raise_on_unexpected_status is True in ZpodClient: a status the OpenAPI document does not declare raises zpodsdk.errors.UnexpectedStatus instead of returning None.

Regenerating

The source of truth is the running API. From the repository root, with the dev stack up:

just zpodsdk-update

That exports openapi.json from the API container, runs openapi-python-client in the zpodsdk_builder image with the templates and config.yaml there, and rewrites src/zpodsdk/. This README and pyproject.toml are not generated; edit them by hand.

Releasing

zpodsdk is released from the zpodcore monorepo together with the API, the engine and zcli: one tag, one version, published to PyPI by the release workflow. See tools/README.md at the repository root. Nothing here is published by hand.

Metadata

Release files for zpodsdk 0.8.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for zpodsdk 0.8.0
File Size Uploaded
zpodsdk-0.8.0.tar.gz 34.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for zpodsdk 0.8.0
File Interpreter ABI Platform
zpodsdk-0.8.0-py3-none-any.whl Python 3 none any Details

Total release size: 187.8 kB

Release files / zpodsdk-0.8.0.tar.gz

Download URL zpodsdk-0.8.0.tar.gz
Size 34.5 kB
Tags Source
SHA-256 checksum
How to use checksums
9b3b85f9aa05b2fcb69446bd84212753323371b18e5e78348e764b257bc74542
BLAKE2b-256 checksum
How to use checksums
c2d70b850b946bf7a5bb0414d3cb3eee903eff501686cc03ecb0ad107cbdea1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","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 / zpodsdk-0.8.0-py3-none-any.whl

Download URL zpodsdk-0.8.0-py3-none-any.whl
Size 153.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
36f2c90b3716323f2323b9fd26048173d0fd6a359344582189e386a8f17ac902
BLAKE2b-256 checksum
How to use checksums
faee6cf07f38d6f159d3a21721408a6ab5c22d6218c9724eb76756c3b3b6e0a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","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 history Release notifications | RSS feed

This release

0.8.0 This release

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.9

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page