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)
| File | Size | Uploaded | |
|---|---|---|---|
| zpodsdk-0.8.0.tar.gz | 34.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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}
|