cloady
A client library for accessing the Cloady API.
Usage
Create a client:
from cloady import Cloady
cloady = Cloady(base_url="https://cloady.com", token="cldy_…")
Cloady is an AuthenticatedClient that also carries cloady.files — file
operations over app volumes, speaking S3 (SigV4 via boto3) against the
same-origin /s3 endpoint internally:
from cloady.files import VolumeRef
ref = VolumeRef(slug="neptolab", region="hil1", env="prod",
svc_id="dailyfrog", volume="dailyfrog-data")
cloady.files.list(ref, "")
cloady.files.upload(ref, "logs", "out.txt", b"hi")
cloady.files.download(ref, "logs/out.txt", "./out.txt")
cloady.files.rename(ref, "", "old", "new", is_dir=True)
cloady.files.remove(ref, "", [("cache", True)])
File operations need the s3 extra: pip install 'cloady[s3]'.
For unauthenticated endpoints a plain Client is available:
from cloady import Client
client = Client(base_url="https://cloady.com")
REST endpoints live under cloady.generated.api — one module per
path/method combo, with sync, sync_detailed, asyncio, and
asyncio_detailed variants:
from cloady.generated.api.default import list_workspaces
from cloady.generated.types import Response
with cloady as client:
workspaces = list_workspaces.sync(client=client)
response = list_workspaces.sync_detailed(client=client)
Or async:
async with cloady as client:
workspaces = await list_workspaces.asyncio(client=client)
Models are in cloady.generated.models, error types in
cloady.generated.errors.
TLS behaves like httpx: pass verify_ssl="/path/to/bundle.pem" for a custom
CA bundle, or verify_ssl=False to disable verification (a security risk).
The underlying httpx.Client can be customized via httpx_args or replaced
with set_httpx_client — see the docstrings on Client.
Layout
cloady/generated/ is produced by openapi-python-client from the repo's
openapi.json (npm run gen:python) and is fully overwritten on every
regeneration — never edit it. Everything outside it (__init__.py,
files.py, pyproject.toml, this README) is handwritten.
Building / publishing
This project uses uv:
- Update the metadata in
pyproject.toml(e.g. version). - Build with
uv build, publish withuv publish.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cloady-0.5.0.tar.gz.
File metadata
- Download URL: cloady-0.5.0.tar.gz
- Upload date:
- Size: 86.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1145527a5231e5c129fc2dd605f9610d13361c319c199ae9e0772f48bbc52308
|
|
| MD5 |
fb3d4bfc7524487b8a42fd0fe3f7886c
|
|
| BLAKE2b-256 |
e35e8a68729bcef6da9e3b502debe9e62dbd33dcc1a27607ce9dc75a52445eb5
|
File details
Details for the file cloady-0.5.0-py3-none-any.whl.
File metadata
- Download URL: cloady-0.5.0-py3-none-any.whl
- Upload date:
- Size: 307.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2a07e6d36c6b3980c274adf887c3e6b7e4355283b917a374c784810dce1488fb
|
|
| MD5 |
352ddeccf93de576d8ddf351f4d17b06
|
|
| BLAKE2b-256 |
74aa2cfb655d1f4b2eb2b3e80e5fe147ae1f4822f8480800eada66bffdd620d6
|