render-lab-tasks-discord
Python port of all 8 registered tasks in the pinned TypeScript pack at
45f9c2d44bd28e01ae9813e0d2ff56ee6c533816. Python 3.12+.
From the repository, install this pack and its supporting core together:
pip install render-lab-tasks-discord==0.1.0
Import task definitions from render_lab_tasks_discord.tasks. Combine its app with
other pack apps using Workflows.from_workflows(...) and call tasks with
await ctx.run(task, input). Package roots do not register tasks. JSON fields
retain the TS spelling; Python functions use snake_case.
Tasks
| Registered name | Python export (also exposes _impl) |
|---|---|
discord.addReaction |
add_reaction |
discord.awaitButton |
await_button |
discord.awaitReaction |
await_reaction |
discord.createThread |
create_thread |
discord.createWebhookMessage |
create_webhook_message |
discord.editMessage |
edit_message |
discord.listMessages |
list_messages |
discord.postMessage |
post_message |
Dependencies and retries
Raw implementations accept context first and keyword-only deps. The .client
module exports typed Port, Deps, and Client classes (also vendor-named aliases).
Inject a fake port, or pass a caller-owned httpx.AsyncClient to Client for custom
transport/configuration. Default dependencies close their HTTP clients after the
operation. Credentials resolve at first use. HTTP and SDK retries are disabled;
retry.py owns durable retry settings. DTO types live in .types.
Environment
| Variable | Contract |
|---|---|
DISCORD_BOT_TOKEN |
Required for bot REST tasks. Webhook URLs carry their own credentials; awaitButton uses an injected interaction store. |
Verification and limitations
awaitButton requires Deps(interactions=...) with an async find_click(message_id, custom_id) implementation. Discord REST cannot recover past button interactions. The default wrapper fails clearly until re-registered with an interaction store. Button/reaction waits check once per durable attempt, every 10 seconds for 360 retries. Empty components clear components. Webhook calls never carry the bot token.
Shared JSON fixtures compare the Python task output with the actual pinned TS implementation. REST fixtures also compare HTTP requests; HubSpot and Linear fixtures compare source SDK arguments with HTTP payloads/GraphQL variables. No live vendor calls were made for this batch. Registered-task parity does not claim live readiness or all supporting TS exports. See the root verification tracker and docs/porting-batches.md. Licensed under MIT.
Metadata
Release files for render-lab-tasks-discord 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_discord-0.1.0.tar.gz | 5.9 kB | With provenance | Details for render_lab_tasks_discord-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| render_lab_tasks_discord-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for render_lab_tasks_discord-0.1.0-py3-none-any.whl |
Total release size: 16.9 kB
Release files / render_lab_tasks_discord-0.1.0.tar.gz
| Download URL | render_lab_tasks_discord-0.1.0.tar.gz |
|---|---|
| Size | 5.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f8c0225cc95d5e2a450f609682ba21f018e02c2ee3fb2c216274fe57b4f21b05
|
|
BLAKE2b-256 checksum How to use checksums |
26491d72bb440a2642d33819f2ef3a5da0c5688bd1443d4056b9c9b6c5fc6211
|
| 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_discord-0.1.0-py3-none-any.whl
| Download URL | render_lab_tasks_discord-0.1.0-py3-none-any.whl |
|---|---|
| Size | 11.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
616391d5b75c330d7231f66dcbe4318fea59460b38eec5305b63465d7a7fdbb3
|
|
BLAKE2b-256 checksum How to use checksums |
978a332bb8a3cb248fab53b1ec8e845b8a949674e40407e7fea396212aef89c8
|
| 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-discord 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_discord-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.