Skip to main content

render-lab-tasks-exa

Unreleased Python port: 12 registered tasks from render-lab/render-tasks. Python 3.12+, Render SDK 1.0.1. Requires core 0.1.1 or later.

From the repository root:

uv sync --all-packages --locked

Import render_lab_tasks_exa.tasks to register tasks. The package root is inert. Compose the exported app with Workflows.from_workflows; call tasks through ctx.run. Every operation also exports *_impl(ctx, input, *, deps=None) for injection. Client(http, env) accepts a caller-owned HTTPX client, and Deps(exa=client) injects it. Default dependencies open and close the HTTP client per invocation; credentials are read lazily at use. No HTTP retries or background vendor polling occur; retry.py owns the durable retry policies.

Task surface

Registered task Python export
exa.answer answer
exa.awaitAgent await_agent
exa.awaitWebset await_webset
exa.cancelAgent cancel_agent
exa.cancelWebset cancel_webset
exa.createWebset create_webset
exa.createWebsetMonitor create_webset_monitor
exa.deleteWebset delete_webset
exa.getContents get_contents
exa.listWebsetItems list_webset_items
exa.search search
exa.startAgent start_agent

Typed JSON inputs and results are in types.py. Task names and JSON field names match the pinned source; Python function names use snake_case.

Environment

Variable Requirement
EXA_API_KEY Required at first API call.

Behavior and limits

Uses direct HTTP matching exa-js 2.16.0 requests rather than installing a Python vendor SDK. Search defaults to text with maxCharacters 10000 when contents is omitted; answer uses model exa and stream false. Search/contents/answers enforce content-character budgets; agent results and Webset pages enforce output-byte budgets. Websets use stable externalId values and recover duplicate-create 409s by reading that ID. Missing/already-terminal cancellations normalize 404/409. Unknown agent states become queued and unknown Webset states become pending, matching the source. Answer text itself is not covered by the citation-content budget; this inherited limitation needs a separate bound before production use.

Verification

All registered tasks have hermetic contract fixtures executed independently against the pinned TS implementation. SDK-backed tasks also have explicit HTTP request fixtures. See tests/test_batch3_contracts.py and tests/test_batch3_edges.py. These are not live vendor results.

Vendor webhooks subpaths and other registration-free TS exports are outside this batch unless explicitly listed above. Full registered-task coverage does not imply all supporting exports are ported.

Pending scopes, test resources, replay, and hosted checks are in the live-testing backlog and verification tracker.

Webhook adapter

render_lab_tasks_exa.webhooks.exa_websets_adapter(on_event, ...) returns a registration-free adapter for render_lab_triggers. The callback receives the verified event and returns {"task": "namespace.task", "args": [event]} or None. The signing credential EXA_WEBHOOK_SECRET is read inside verification unless provided explicitly. Importing this module does not register tasks. Signature checks use the raw body; live delivery remains in the testing backlog.

Installation

pip install render-lab-tasks-exa==0.1.0

Metadata

Release files for render-lab-tasks-exa 0.1.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 render-lab-tasks-exa 0.1.0
File Size Uploaded Provenance Actions
render_lab_tasks_exa-0.1.0.tar.gz 10.3 kB With provenance Details for render_lab_tasks_exa-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for render-lab-tasks-exa 0.1.0
File Interpreter ABI Platform Actions
render_lab_tasks_exa-0.1.0-py3-none-any.whl Python 3 none any Details for render_lab_tasks_exa-0.1.0-py3-none-any.whl

Total release size: 27.5 kB

Release files / render_lab_tasks_exa-0.1.0.tar.gz

Download URL render_lab_tasks_exa-0.1.0.tar.gz
Size 10.3 kB
Tags Source
SHA-256 checksum
How to use checksums
6fe62ef0342fc93ddbf87ede26440afdd4b58166521cd03c7f5c8ec2c8773024
BLAKE2b-256 checksum
How to use checksums
6c55bf2e61ce310d436736fbc39290fc6ef9280d7b63dca41cfe442d79827819
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 9, 2026.

Transparency log

Release files / render_lab_tasks_exa-0.1.0-py3-none-any.whl

Download URL render_lab_tasks_exa-0.1.0-py3-none-any.whl
Size 17.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d69787301cbea7b86c8c2413a67dcdd8253639d0e68a9be27787129ea6d9b810
BLAKE2b-256 checksum
How to use checksums
67d8bad02b72616198e06ce372ee18ee175b900f0b1546840989a0d1a668feea
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 9, 2026.

Transparency log

Security for render-lab-tasks-exa 0.1.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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for render_lab_tasks_exa-0.1.0.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 9, 2026.

Transparency log

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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

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