Maildeno ships official SDKs for JavaScript/TypeScript and Python. Both wrap the same Render REST API and expose an identical conceptual surface — only the language idioms differ.

Available SDKs

Language Package Version Minimum runtime

JavaScript / TypeScript

maildeno on npm

1.0.0

Node.js 18+ (or any runtime with native fetch)

Python

maildeno on PyPI

1.0.0

Python 3.9+

Quick comparison

Feature JavaScript SDK Python SDK

Async support

Native (async/await, Promise-based)

AsyncMaildenoClient (asyncio / httpx)

Sync support

N/A (JS is async by nature)

MaildenoClient (blocking httpx)

Transport

Native fetch

httpx (bring-your-own client supported)

Type safety

Full TypeScript types exported

Full PEP 561 type stubs (mypy / pyright)

Error type

MaildenoError

MaildenoError

Validation errors

err.issues: ValidationIssue[]

err.issues: list[ValidationIssue]

Render methods

Both SDKs expose the same methods:

Method Returns

render(options)

Full result object (output, target, templateId)

renderHtml(id, data?) / render_html(id, data)

Rendered HTML string

renderReact(id, data?) / render_react(id, data)

Rendered React/TSX string

renderMjml(id, data?) / render_mjml(id, data)

Rendered MJML string

Where to go next