xoople-sdk
Official Python SDK for the Xoople Products API.
from xoople.sdk import Config, XoopleClient, StaticToken, models
client = XoopleClient.from_credentials(
"https://api.xoople.com", StaticToken("...")
)
# Or pass the complete transport configuration directly:
# client = XoopleClient(Config.from_env())
estimate = client.analyses.estimate(request)
analysis = client.analyses.create(request)
# `list` returns a paginator: iterate it for items across every page.
for run in client.analyses.runs.list(analysis.uid):
print(run.state)
# Sub-resources take the parent analysis uid:
output = client.analyses.outputs.get(analysis.uid, output_uid)
access = client.analyses.outputs.generate_access_url(analysis.uid, output_uid, ttl_seconds=900)
# A table output resolves to a handle that reads itself:
table = client.table(analysis.uid) # or client.table(uid, output=output_uid)
print(table.shared) # measures, grid, size, created time
df = table.to_pandas() # pip install "xoople-sdk[sharing]"
sdf = table.to_spark(spark) # your session, your connector
# Custom verbs are plain methods:
client.analyses.cancel(analysis.uid)
client.analyses.schedules.pause(analysis.uid, schedule_uid)
# Cross-analysis reads and catalogs are top-level:
client.schedules.list(state=models.ScheduleStatus.ACTIVE)
client.usage.limits()
client.catalog.measures(product="tabular_time_series")
Config.from_env() reads XOOPLE_API_URL and XOOPLE_TOKEN.
Connection profiles
Config.from_profile(path) reads the URL and the credential from one file, for tools
that take a file and not an environment:
{
"version": 1,
"api_url": "https://gateway.xoople.com",
"auth": { "type": "bearer", "token": "<token>" },
"expires_at": "2026-09-30T00:00:00Z"
}
expires_at is optional and is what the issuer stamped. It carries a UTC offset. A
profile past it raises ProfileExpiredError on load, not at the first request.
The file is a credential. Keep it out of projects and repositories. Restrict who can read it.
client.table() is the authenticated half of xoople.sdk.sharing, which reads
a .share profile with no API credential at all. It downloads one profile for
the client's lifetime and removes it on close(), so keep the client open
through every read — Spark reads lazily. client.table(uid, profile_path=...) uses a profile you own instead; the SDK never writes or
removes that one.
Every failure raises a subclass of xoople.sdk.errors.XoopleError.
Metadata
Release files for xoople-sdk 0.3.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 | Provenance | |
|---|---|---|---|---|
| xoople_sdk-0.3.0.tar.gz | 50.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xoople_sdk-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 107.5 kB
Release files / xoople_sdk-0.3.0.tar.gz
| Download URL | xoople_sdk-0.3.0.tar.gz |
|---|---|
| Size | 50.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
137415929d65fe7f4434e880c15d48ffde472f432d46a803d1eec3e8de4283be
|
|
BLAKE2b-256 checksum How to use checksums |
4431c296f249534704f2126030d6cb030d1d1b114ba605140e387dd19f38bcef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","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 / xoople_sdk-0.3.0-py3-none-any.whl
| Download URL | xoople_sdk-0.3.0-py3-none-any.whl |
|---|---|
| Size | 57.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8bb9c68cfce73ab59879a5f396dce0a381907dced7d880af16e25c79d3ad48f3
|
|
BLAKE2b-256 checksum How to use checksums |
8136c562693e1237ac1615a3868e195df7ddf52240881ec6e60cdf2c827ab07c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","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}
|
Security for xoople-sdk 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.