$npx skillfedfor your agent

mrml

A Python wrapper for MRML (Rust port of MJML).

With conditionsPyPI HTMLReleased Apr 20261.0M downloads / moPlatform wheel

Decision gist · record as of 2026-08-14

platform wheels — mrml-0.2.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl · mrml-0.2.4-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl · mrml-0.2.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
v0.2.4 · released 2026-04-25 · Python >=3.7

Yes, if you need to convert MJML to HTML and can tolerate medium install friction from compiled bindings. The package is actively maintained, has no security issues, and offers a clean API with no runtime dependencies. The main caveat is the unclear license status—verify licensing terms before adopting in proprietary projects. Installation should be straightforward on common platforms thanks to pre-built wheels.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.7 or later; compiled wheels available for most platforms but may require compilation on unsupported architectures.
  • Medium install friction due to compiled Rust bindings, but wheels are available for common platforms (x86_64, ARM, Windows, macOS).
  • Package is actively maintained with recent releases and no known vulnerabilities.

License · maintenance · safety

(unclear) — License status is unclear—no SPDX identifier or raw license text is available in the package metadata. Verify the actual license before using in proprietary or restricted contexts.

last release 2026-04-25 (111 days) · last repo commit 2026-08-11 · 504 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,005,266 downloads/mo, #4,530 on PyPI

Verify before relying

import mrml

result = mrml.to_html("<mj-body><mj-text>Hello</mj-text></mj-body>")
print(result.content)
  • Whether the package includes documentation or examples beyond the GitHub repository.
  • Exact license terms and compatibility with common open-source and proprietary workflows.
  • Performance characteristics and limits for large or complex MJML templates.
Same gist for agents: .md · .json

What it is and what it does

mrml is a Python wrapper around a Rust reimplementation of MJML, a markup language designed for building responsive email templates. It translates MJML syntax into production-ready HTML, handling the complexity of email client compatibility so developers don't have to. The package has no runtime dependencies and exposes a simple API: pass MJML markup to `to_html()` and receive HTML output. It supports advanced features like file includes via a pluggable loader system, allowing you to compose templates from separate files or in-memory sources.

The package is built on compiled Rust bindings, which means installation requires platform-specific wheels rather than pure Python code. Wheels are provided for common architectures (x86_64, ARM, PowerPC, s390x on Linux; x86_64 and ARM on macOS; x86_64 on Windows) and Python versions 3.10–3.12, with declared support back to Python 3.7. The project is actively maintained, with recent commits and no known security vulnerabilities.

Use it for

  • Generate responsive email HTML from MJML markup without manually handling email client quirks.
  • Build email template systems that compose reusable MJML components via includes.
  • Convert MJML designs to production HTML in CI/CD pipelines or backend services.
  • Prototype responsive emails quickly using MJML's higher-level syntax instead of raw HTML.
  • Integrate email template rendering into Python web frameworks or batch email services.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need to convert MJML to HTML and can tolerate medium install friction from compiled bindings.

The package is actively maintained, has no security issues, and offers a clean API with no runtime dependencies. The main caveat is the unclear license status—verify licensing terms before adopting in proprietary projects. Installation should be straightforward on common platforms thanks to pre-built wheels.

Install

mrml on PyPI

Before you install

Medium install friction due to compiled Rust bindings, but wheels are available for common platforms (x86_64, ARM, Windows, macOS). Package is actively maintained with recent releases and no known vulnerabilities.

Requires Python 3.7 or later; compiled wheels available for most platforms but may require compilation on unsupported architectures.

License in practice

License status is unclear—no SPDX identifier or raw license text is available in the package metadata. Verify the actual license before using in proprietary or restricted contexts.

Quickstart

import mrml

result = mrml.to_html("<mj-body><mj-text>Hello</mj-text></mj-body>")
print(result.content)

Verify before relying

  • Whether the package includes documentation or examples beyond the GitHub repository.
  • Exact license terms and compatibility with common open-source and proprietary workflows.
  • Performance characteristics and limits for large or complex MJML templates.

Package facts

LicenseNot declared unclear
Python supportSupports the current Python release >=3.7
Install frictionMedium. Platform-specific wheel
Runtime dependenciesNone
MaintenanceActively maintained 111 days since the last release
Last repo commit
First released
Downloads1,005,266 / month, #4,530 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyProgramming Language :: Rust

Evidence: mrml-0.2.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; mrml-0.2.4-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl; mrml-0.2.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; mrml-0.2.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl; mrml-0.2.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; mrml-0.2.4-cp310-cp310-manylinux_2_28_aarch64.whl; mrml-0.2.4-cp310-cp310-win_amd64.whl; mrml-0.2.4-cp311-cp311-macosx_10_12_x86_64.whl; mrml-0.2.4-cp311-cp311-macosx_11_0_arm64.whl; mrml-0.2.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; mrml-0.2.4-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl; mrml-0.2.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; mrml-0.2.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl; mrml-0.2.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; mrml-0.2.4-cp311-cp311-manylinux_2_28_aarch64.whl; mrml-0.2.4-cp311-cp311-win_amd64.whl; mrml-0.2.4-cp312-cp312-macosx_10_12_x86_64.whl; mrml-0.2.4-cp312-cp312-macosx_11_0_arm64.whl; mrml-0.2.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; mrml-0.2.4-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl

Tags

Capabilities
mjml to html conversionemail template markup languageresponsive email generationmjml parser pythonemail html buildermjml rust wrapperresponsive email templates
Topics
email-templatesmarkup-languagerust-binding

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “responsive email generation”

  • mrmlConverts MJML (a markup language for responsive emails) to HTML using…
  • mjmlConverts MJML (a markup language for responsive emails) to HTML…
  • mjml-pythonCompiles MJML email templates to HTML at runtime using an embedded…

Give your agent the search over MCP, or paste the wish link into any chat.

More HTML packages

MarkupSafe Worth it
PyPI · Dynamic Content · released Sep 2025

MarkupSafe provides a text object that escapes special characters so untrusted strings can be safely embedded in HTML and XML without injection attacks.

BSD-3-Clausecompiled wheel · 3.9+aging
797.1Mdownloads / mo
Jinja2 Worth it
PyPI · Dynamic Content · released Mar 2025

Jinja2 is a templating engine that renders dynamic content by combining templates with Python-like syntax and data, supporting template inheritance, macros, autoescaping, and sandboxed execution.

BSD-3-Clausepure Python · 3.7+aging
718.6Mdownloads / mo
beautifulsoup4 Worth it
PyPI · Python Modules · released Jun 2026

Beautiful Soup parses HTML and XML documents into a navigable tree, providing Pythonic methods to search, iterate, and modify the parsed content.

Install it if you need to parse or extract data from markup documents.

MITpure Python · 3.7.0+
432.1Mdownloads / mo
lxml Worth it
PyPI · Python Modules · released May 2026

lxml provides Python bindings to libxml2 and libxslt, enabling parsing, validation, and transformation of XML and HTML documents through an ElementTree-compatible API with support for XPath, XSLT, and schema validation.

Install it if you need robust XML/HTML parsing, validation, or transformation; avoid it only if you must stay pure-Python and can accept slower performance.

permissive licensecompiled wheel · 3.8+
416.8Mdownloads / mo
docutils With conditions
PyPI · Software Development · released May 2026

Docutils converts plaintext documentation in reStructuredText format into multiple output formats including HTML, XML, and LaTeX using a modular processing system.

BSD-3-Clausepure Python · 3.9+
225.6Mdownloads / mo
Markdown Worth it
PyPI · Python Modules · released Jul 2026

Converts Markdown text to HTML using a Python implementation of John Gruber's Markdown specification, with support for extensions.

Install it if you need to parse Markdown in Python.

BSD-3-Clausepure Python · 3.10+
121.7Mdownloads / mo

See also mjml-python · mjml · django-mjml · html5tagger · email-to · css-inline · tinyhtml · htmlBuilder · cohere-melody