render-lab-tasks-core
Shared mechanisms for Python 3.12+. Version 0.1.1 extends the original 0.1.0 HTTP/polling subset.
pip install render-lab-tasks-core==0.1.1
Registration-free shared HTTP and polling mechanisms. The HTTP/polling surface exposes
HttpClient, ApiError, and is_retryable from .http, plus poll_until and
poll_gate from .poll. No tasks, credentials, or vendor-specific DTOs.
Clients use a caller-owned async HTTPX client. Authentication and base URLs resolve at call time, per-call headers override defaults, empty/malformed JSON maps to None like the TS reference, and every request makes one attempt by default. Polling checks once and throws so the durable task policy schedules the next attempt; it never sleeps.
Version 0.1.1 additionally provides UTF-8 byte budgets from
.bounded and lazy Google access-token refresh from .google_auth. The OAuth
helper accepts either GOOGLE_ACCESS_TOKEN or GOOGLE_CLIENT_ID,
GOOGLE_CLIENT_SECRET, and GOOGLE_REFRESH_TOKEN; it shares concurrent refreshes
and caches tokens for the caller-owned client's lifetime with a 60-second margin.
Default task dependencies live for one operation, so reuse an injected client
when cross-call caching is useful. Failed OAuth responses never echo their body. .http.loads_json rejects
non-finite numbers so Python-specific NaN/Infinity values cannot escape a DTO.
.poll.await_retry(every_ms=..., for_ms=...) returns SDK Retry keyword arguments:
Retry(**await_retry(every_ms=3000, for_ms=10000)). The SDK import belongs to the
caller; core has no Render dependency.
.http.HttpRetryOptions enables bounded retries only when explicitly passed as
HttpClient(..., retry=options). It retries 429/5xx responses, honors Retry-After,
and otherwise uses capped exponential full jitter. Transport errors propagate.
Sleep and randomness are injectable. All pack defaults remain single-attempt.
.signatures provides pure byte comparisons, HMAC encoding, header parsing,
and timestamp-window mechanisms for vendor-owned webhook adapters.
.http.throw_if_not_ok(response, label) preserves HTTP status even when reading
the error body fails. Cancellation is never swallowed.
Metadata
Release files for render-lab-tasks-core 0.1.1
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 | Actions |
|---|---|---|---|---|
| render_lab_tasks_core-0.1.1.tar.gz | 10.4 kB | With provenance | Details for render_lab_tasks_core-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| render_lab_tasks_core-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for render_lab_tasks_core-0.1.1-py3-none-any.whl |
Total release size: 20.4 kB
Release files / render_lab_tasks_core-0.1.1.tar.gz
| Download URL | render_lab_tasks_core-0.1.1.tar.gz |
|---|---|
| Size | 10.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
418df8c6d9a682b7788446189b1ee6a43fac25e7c5447b58344778118b155e9b
|
|
BLAKE2b-256 checksum How to use checksums |
c98bb3713ef82ce18a0c7a3ea5d15feb4dab940ae9972bb454ae78173860a948
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.
Transparency logRelease files / render_lab_tasks_core-0.1.1-py3-none-any.whl
| Download URL | render_lab_tasks_core-0.1.1-py3-none-any.whl |
|---|---|
| Size | 10.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c42545f18e068a961ef0079b57ed518fbbd374cd99516ed7a3ca9a8e8275c1e4
|
|
BLAKE2b-256 checksum How to use checksums |
9334a78dff62aacf28427b51b9dd76f157947ef10977bbce75ffad7347328bc6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.
Transparency logSecurity for render-lab-tasks-core 0.1.1
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for render_lab_tasks_core-0.1.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.
Transparency logA 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.