render-lab-tasks-contentful
Python port of all 11 registered tasks in the pinned TypeScript pack at
45f9c2d44bd28e01ae9813e0d2ff56ee6c533816. Python 3.12+.
Install this distribution and its dependencies:
pip install render-lab-tasks-contentful==0.1.0
Import definitions from render_lab_tasks_contentful.tasks; combine app objects
with Workflows.from_workflows(...). JSON fields retain TS spelling; functions
use snake_case. Package root imports are inert.
Tasks
| Registered name | Python export (also exposes _impl) |
|---|---|
contentful.createAsset |
create_asset |
contentful.createEntry |
create_entry |
contentful.deleteEntry |
delete_entry |
contentful.getAssets |
get_assets |
contentful.getContentTypes |
get_content_types |
contentful.getEntries |
get_entries |
contentful.getEntry |
get_entry |
contentful.publishAsset |
publish_asset |
contentful.publishEntry |
publish_entry |
contentful.unpublishEntry |
unpublish_entry |
contentful.updateEntry |
update_entry |
Dependencies and retries
Raw implementations accept context first and keyword-only deps. The .client
module exports typed Port, Deps, and Client classes. Inject a fake port, or
pass a caller-owned httpx.AsyncClient to Client. Default dependencies close
their client after one operation. Credentials resolve at first use. Transport
retries are disabled; retry.py owns durable policies. DTO types are in .types.
Requires core >=0.1.1.
Environment
| Variable | Contract |
|---|---|
CONTENTFUL_SPACE_ID |
Required space. |
CONTENTFUL_ENVIRONMENT |
Optional environment; defaults to master. |
CONTENTFUL_CDA_TOKEN |
Required for delivery reads: getEntries/getAssets. |
CONTENTFUL_CMA_TOKEN |
Required for management reads and writes. |
Verification and limitations
Delivery and management credentials are separate. DTOs flatten sys metadata and preserve localized fields. Versioned writes and creates disable durable retries; delete treats 404 as already deleted. Asset creation processes each requested locale and rereads its version, but does not wait for processing completion. Collection results at or above 4 MiB are rejected. Each read is a single page.
Shared fixtures execute the actual pinned TS implementations and compare Python outputs and requests. Sanity's SDK calls are translated into separately asserted REST requests. These are hermetic checks, not real account or hosted verification. See the testing backlog and the root verification tracker. Licensed under MIT.
Webhook adapter
render_lab_tasks_contentful.webhooks.contentful_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 CONTENTFUL_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.
Metadata
Release files for render-lab-tasks-contentful 0.1.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 | Actions |
|---|---|---|---|---|
| render_lab_tasks_contentful-0.1.0.tar.gz | 8.3 kB | With provenance | Details for render_lab_tasks_contentful-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| render_lab_tasks_contentful-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for render_lab_tasks_contentful-0.1.0-py3-none-any.whl |
Total release size: 23.4 kB
Release files / render_lab_tasks_contentful-0.1.0.tar.gz
| Download URL | render_lab_tasks_contentful-0.1.0.tar.gz |
|---|---|
| Size | 8.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9dfda239f4ee4f47262d8341e7005ad3559927f34dd805151bc51f460c3cb5f7
|
|
BLAKE2b-256 checksum How to use checksums |
903451dd0b82d7f07a44d746619c43a7665521d6b83ecf3ad39a12aaf25d1be0
|
| 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 logRelease files / render_lab_tasks_contentful-0.1.0-py3-none-any.whl
| Download URL | render_lab_tasks_contentful-0.1.0-py3-none-any.whl |
|---|---|
| Size | 15.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a3df73882663d1c7521b54991b20578abb684634a9f82a2ee83ecc09fa8126ec
|
|
BLAKE2b-256 checksum How to use checksums |
19cb043d12e167f291f5a666fbfc54c092b4229d9dbcdfcec6b467dd67aa7ee9
|
| 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 logSecurity for render-lab-tasks-contentful 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.
Attestation for render_lab_tasks_contentful-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 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.