A Python wrapper for MRML (Rust port of MJML).
Project description
mjml-python
Compile MJML at runtime without an external Node service/process. It is a Python wrapper for MRML (Rust port of MJML).
Why
From MRML:
A Node.js server rendering an MJML template takes around 20 MB of RAM at startup and 130 MB under stress test. In Rust, less than 1.7 MB at startup and a bit less that 3 MB under stress test. The Rust version can also handle twice as many requests per second.
All of that is without considering http transaction cost when using a node service or process.
How
Install from PyPI:
pip install mjml-python
Import mjml2html
and pass a string to compile:
from mjml import mjml2html
html = mjml2html(
'''
<mjml>
<mj-body>
<mj-section>
<mj-column>
<mj-image width="100px" src="/assets/img/logo-small.png"></mj-image>
<mj-divider border-color="#F45E43"></mj-divider>
<!-- Say hello to the user -->
<mj-text font-size="20px" color="#F45E43" font-family="Open Sans">Hello World</mj-text>
</mj-column>
</mj-section>
<mj-section>
<mj-column>
<mj-social font-size="15px" icon-size="30px" mode="horizontal">
<mj-social-element name="facebook" href="https://mjml.io/">
Facebook
</mj-social-element>
<mj-social-element name="google" href="https://mjml.io/">
Google
</mj-social-element>
<mj-social-element name="twitter" href="https://mjml.io/">
Twitter
</mj-social-element>
</mj-social>
</mj-column>
</mj-section>
</mj-body>
</mjml>
''',
disable_comments=True,
social_icon_origin="https://example.com",
fonts={
"Open Sans": "https://fonts.googleapis.com/css?family=Open+Sans:300,400,500,700",
"Ubuntu": "https://fonts.googleapis.com/css?family=Ubuntu:300,400,500,700",
})
Example using Django templates
from django.core.mail import send_mail
from django.template.loader import render_to_string
from mjml import mjml2html
context = {'foo': 'bar'}
text_message = render_to_string('my_text_template.txt', context)
html_message = mjml2html(render_to_string('my_mjml_template.mjml', context))
send_mail(
'Subject here',
text_message,
'from@example.com',
['to@example.com'],
fail_silently=False,
html_message=html_message,
)
Options
mjml-python
supports the following options:
Name | Type | Default value | Comment |
---|---|---|---|
disable_comments |
bool |
False |
Strip comments out of rendered HTML |
social_icon_origin |
str | None |
None |
Custom URL origin for social icons. Icon name is appended (e.g. facebook.png ). |
fonts |
dict[str, str] | None |
None |
Fonts imported in the HTML rendered by MJML. |
Notes :
- When
fonts
option is set toNone
, the following default fonts will be used:{ "Open Sans": "https://fonts.googleapis.com/css?family=Open+Sans:300,400,500,700", "Droid Sans": "https://fonts.googleapis.com/css?family=Droid+Sans:300,400,500,700", "Lato": "https://fonts.googleapis.com/css?family=Lato:300,400,500,700", "Roboto": "https://fonts.googleapis.com/css?family=Roboto:300,400,500,700", "Ubuntu": "https://fonts.googleapis.com/css?family=Ubuntu:300,400,500,700", }
Development
python -m venv env
. env/bin/activate
pip install -r requirements.txt
maturin develop
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for mjml_python-1.2.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6129021d117504c13c49060e03ca40297d6f6b3f8aa872884d9b64817c415181 |
|
MD5 | 3385655918b4f990aa08d47db83ee4ef |
|
BLAKE2b-256 | 75a96e26b529a41c340324cf75c27a17847b90cb6a467ba673db75b5bb9d26bb |
Hashes for mjml_python-1.2.3-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 822a552310f8eea80382f16e3183415654e7f8c7966a9ec7a9fddbe5c67c7698 |
|
MD5 | 65f54441b688189a1a82c24e8d3a8943 |
|
BLAKE2b-256 | 3c2590cb6b0c036b4c4ff231b7638be61d6ccfbfb27a58e5d2f8c61305b1457d |
Hashes for mjml_python-1.2.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68cc79736d0602921aa6a757e3f215af88825938ae0405600ac303c68c7b9a1d |
|
MD5 | b6f41b203d3a50052337ef8ca843ef52 |
|
BLAKE2b-256 | e40be320ae2dede60e9edcc66746c71100900834a6ddbb6b8b980cda1f5ed40e |
Hashes for mjml_python-1.2.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43d6dbfe0a5c9e69e2fffadac8edf6235a06da5abf0679c3da1855672401baf6 |
|
MD5 | 564c8dc06080c1a0600188b7eab8f551 |
|
BLAKE2b-256 | 7ada73b649c872dbd35102cd05ac5fbec5501983210459a3ac220145accf698d |
Hashes for mjml_python-1.2.3-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 059dcccbe13c6cc6cffdaa2dfce1b6e4aa63ad0f36c47baf19405267af0a36d4 |
|
MD5 | c397b538512baa7ffb5f860129355298 |
|
BLAKE2b-256 | 9cf239809778c0da79e5ad35caf71a45825b3ed32d8e7e67044aaf4a3c187757 |
Hashes for mjml_python-1.2.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7ffbb49d2054ad6c7e8f6dea73d8a0b27b61a6f3a54dc5478a2312350aba99a |
|
MD5 | 9105b620c4b17d0b1ec0df9b94ba03f5 |
|
BLAKE2b-256 | 6826cba34dc23b6796017702a2d371e8dfe0f68f1cf731e30acf9636b55de9b1 |
Hashes for mjml_python-1.2.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3171b22e902c5073a96bb34f057da51180d1f646c31a80f5ba43631a1968e54 |
|
MD5 | d5dbee013bc114f96dbf070a8988001f |
|
BLAKE2b-256 | 24e16a7c54bf7e380587e24257b2225fe9884a1dbe0e11d3cdd136fd90e7e786 |
Hashes for mjml_python-1.2.3-pp37-pypy37_pp73-musllinux_1_2_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d6f143da9842ee1ddd59554acb3ee0bc9558a1541618e7cf04e8b7b705a0a5c |
|
MD5 | 80bc6a1fa3f1a931232322a029959c10 |
|
BLAKE2b-256 | d12c652ec74a1715581ea14108a6c3560792a4a6408f27c3ad775087618dd6a4 |
Hashes for mjml_python-1.2.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d207f27ef56c75656d3042ab718a817d075af306cdc5a5bbcc8d49fb3e086520 |
|
MD5 | 773d76151461838279167cbd279ce8f7 |
|
BLAKE2b-256 | 264a4b69a4f23d2a85bfc5b2bd6c6cc84c0573f67e69ec0ff4eb1a06a0687c03 |
Hashes for mjml_python-1.2.3-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c69ebe6d8c1845ab4f5a1037869e3d06bc5b313533b78a608bcd8f2615c4caf7 |
|
MD5 | a6e30f855a2f84c7bc0639a1dd2353bc |
|
BLAKE2b-256 | 72e1e09890333b3469762b983024dda1eb2a3b02cb95eab1b844747a127fc7dd |
Hashes for mjml_python-1.2.3-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7febf65ec5fe844616462f7c2465b024d1cd50c5bcaafb7aa11811fa1ae5237 |
|
MD5 | f2196fafb6f9a99cc860493ffa7151b4 |
|
BLAKE2b-256 | 017a2804a9b3d89946af2ef36ebad9844a43b5a13c365b77ccdb3711ce2897a5 |
Hashes for mjml_python-1.2.3-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a4b20ec38354400568ef8123fa7d9613bd6341b6b2a943c045d796afa5f21c7 |
|
MD5 | 4ed5cb556dc4fdb4ffc5e570b530e7f1 |
|
BLAKE2b-256 | 19b3edab649727a2c8e1f67da99374470e4a6dac2c36a03fc51e6ad75b1b8826 |
Hashes for mjml_python-1.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0d6f1259df37510e0243606a28de8d202016d16f156f557b639c49873d906fc |
|
MD5 | ac327c097ff083939b0ec47d6f3e3d09 |
|
BLAKE2b-256 | 5b8375fec0755acd0fd83929863fcad8bc620774212bcf13ded8466be9075257 |
Hashes for mjml_python-1.2.3-cp312-cp312-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d8762f0a41c6fd1ea764a861cd87d948a1bde39b41af45c9f12b26703a20e8b |
|
MD5 | c5f73606818c035c471c85459df6b8ba |
|
BLAKE2b-256 | fa61286d22514734c3d1aa32fea2cfb509ef3b1f4bd1609a29adf8f1bdc67a49 |
Hashes for mjml_python-1.2.3-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c453b3cff3626803ff4ca67764000b96bae89a8edb87d0c5987ed81a72a9b31 |
|
MD5 | f193601060e4b8425bbb3638040a907d |
|
BLAKE2b-256 | 98aeecd830e5ab86e447d6e98a50da414b3b884da9d15c2e6dafb6ac3b1491ec |
Hashes for mjml_python-1.2.3-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb56b18a96c8db1abc0d2415e647f2e066e4e1bf9f38ac5e47666bb32c93ea1b |
|
MD5 | c754fb79751abd91c0924eebc332d567 |
|
BLAKE2b-256 | 2979b005ed8108f6760f26fb9d1eefda74c843104e7f99a25c859f4dd8a689f2 |
Hashes for mjml_python-1.2.3-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 067bb5c3d92a3e61d0436a2db38899d6c5992eaf1678de5591be96ba9acc29da |
|
MD5 | ea74bac8477e5de25f7dd24888d15aea |
|
BLAKE2b-256 | 7c1c809ce6635f2263ce427ba0afa461fee2bf854d1fba6cbb3023b903443d08 |
Hashes for mjml_python-1.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d977a2c30ea8631344b401b0ca62f019333faba0e4d6d930c8ac79b8b30bf124 |
|
MD5 | 9ffd758c8c725231e518fbd8af1b30c5 |
|
BLAKE2b-256 | bc3d30580a6b82291c36f09b1a10e80e326a9a7916a528cd4eddf45a1ef6f175 |
Hashes for mjml_python-1.2.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b00461eae9c9ef4b71edd3ee211294c8c47bbe1c217785943b7b3679fc7ccd1 |
|
MD5 | 2ed6da1f8de26747f81cd8ee4670a6f2 |
|
BLAKE2b-256 | f30c8ff7dee397b55c7d50fd78cee6971de6804dcaf518509e1166e4d76593ec |
Hashes for mjml_python-1.2.3-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d12ac606539de5c7acff1aedb174b92710a97791264c1df2d48f2a07b50d4a48 |
|
MD5 | d48e2cd75f03b3c7e0ee17b40ee6d6ef |
|
BLAKE2b-256 | 47c5b0540749bf49398f8a5a36e9ef52feb5f15377953a58ebbab3e631f7d54c |
Hashes for mjml_python-1.2.3-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15f704186550e4ddf7b75e2d80560989124d758ffb606e7917f8196844e470ce |
|
MD5 | 89ed16d2e8f4f0e5b2850d7228ec4973 |
|
BLAKE2b-256 | e05d1e16cf813ab313217edfd3967737655655522c1a82dd3107bdad1bef6a25 |
Hashes for mjml_python-1.2.3-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba6b80bb104aee9849b8ad53989ca5eace3d4c6044f9bf16b43e79d259513cfa |
|
MD5 | 853a99cc2787e7206e94d6ce104cfdb4 |
|
BLAKE2b-256 | 4131cc99c3ec438bd20ab3ff069b2bc3f02b4c4b568cd4ac251af21eb87b885f |
Hashes for mjml_python-1.2.3-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6225469f7309ce79dc8d678319d83f4d48cd09eea6c1dc6e3743c470f8d6937f |
|
MD5 | d9f313de09e03720540b84279f9fa7d9 |
|
BLAKE2b-256 | e4705128d0edcdd361832de4b54751eb7a27adef5d520b4884fb45bc1594160e |
Hashes for mjml_python-1.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | efd0b35c10391d71e587bd779872dd9fec2b028e17082c95e41d54dd285a5117 |
|
MD5 | 7e841dab3cde8c024afa8e1c4cad432f |
|
BLAKE2b-256 | c2454a9063dce2f53d9a606c557a8e62cc50ae2463d2de2725f9037b140cc2d8 |
Hashes for mjml_python-1.2.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b369c52d792bb58a7ee7ba9ab6f3c8906b153f7c6453217f231238bd9481bbdd |
|
MD5 | 12ac83db6635845ba9bde04629435fc3 |
|
BLAKE2b-256 | 1b2fc10b361933cead84f028faf22288549871e9ecba973fc1a064cb9110d151 |
Hashes for mjml_python-1.2.3-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98cca71775b5100f63a12fe4cdab423550b72422fc0685df63edbb3b4f19b9aa |
|
MD5 | 475f4cce48e49b601dce579f2de89197 |
|
BLAKE2b-256 | 3f3e5bfef80eda7ce93768a3cb0c5b6e747b82eb78015945c9357b1fb821780e |
Hashes for mjml_python-1.2.3-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34e91e87cdaf85e2b342401d8bbc5b42945c00f0bf207e9469a0bb204955db7a |
|
MD5 | 6c9b94be5378f39c57dbab4db48f7e88 |
|
BLAKE2b-256 | 2732198c6e128ad6d576f5a1b6caefed0acf4449f13dbb63957fce3554e26cfd |
Hashes for mjml_python-1.2.3-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 872bb4aa9c1faf1aabce60be4632b53455509856dcced996b1cf74128cf477d1 |
|
MD5 | 653eafa64fbe9f76ac5c3807ea12ecdc |
|
BLAKE2b-256 | 9914641251ec36c333be7ee6733a2389bc958bccbabe781b15c80c6a3e0a9533 |
Hashes for mjml_python-1.2.3-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b62e95a44852697f50345aa79f8ec4e51582d702f89c20bd07a1c9654c783992 |
|
MD5 | 8559e5239e0583453a70c152e092fbe7 |
|
BLAKE2b-256 | 370e4d41ebcebaa65a61e10003228fe8fe29e228c6f31234674a0b3204d73791 |
Hashes for mjml_python-1.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbe1989bc97bb77b10e9936cd4534919f4579b5ed49d79955ca98f9483cdca51 |
|
MD5 | 2e4ecb896e4f6197027b89666c147861 |
|
BLAKE2b-256 | ea3bf6b1c533d8da680f039a2ad2f357415946d639b48b7eff26edd9071fac6c |
Hashes for mjml_python-1.2.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21e95cf50b4849d37dcb42fdaf9355fbea0accd9b65df9aeeffeae819304a15f |
|
MD5 | d25ae6a5ef7f1b3207c21e8bb7dd1984 |
|
BLAKE2b-256 | c00c775eafe1f1e5a78f4a97687d87c3876bad9b7baa97db1b8d1810e03359ec |
Hashes for mjml_python-1.2.3-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c1d19c6e486f6bb1fb37702804b137559189873fe0e3e88b5ddb468f98e308e |
|
MD5 | db41f1a04ad4539101cfa67628fcb5db |
|
BLAKE2b-256 | 0d1e5971eaa888a7d1e284be6e9d11efe2f816df1dc99a2848d736d6c2b6497d |
Hashes for mjml_python-1.2.3-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d872b2c3e5254d49035da4dbbbac36d652cee13b0f002ae21e6b99f06cb62580 |
|
MD5 | 8175f1581d42cd83d5de49058de77016 |
|
BLAKE2b-256 | 8adec229d12cda699446fbee4e795b8cab94ee00792c7073055adf922adffd4e |
Hashes for mjml_python-1.2.3-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb94c3d073aee85afcbe15b7d1003e9d35e55ea07de3715d3f9dec8c75b3d1b1 |
|
MD5 | 86e60d9f628bc1692c2c71dc73a98a81 |
|
BLAKE2b-256 | 0d8f30cc2ab50bfcadb21f95b53212aca93183cb9ca1e066c01e935cb292fa66 |
Hashes for mjml_python-1.2.3-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52fbd36ea09ab47df63d755165a04e5c3b11148fe47257b3fd18ece693e9c48e |
|
MD5 | 782b3798cdb9b90994d89cd0c908e953 |
|
BLAKE2b-256 | 19b4270d04a49ed79ba016d4211289186eddefee45f804f8581d56f22e244c57 |
Hashes for mjml_python-1.2.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b3f9e63f218be56d9a5c3748fe79b7dc363e268d682c9239ea164e392c05e16 |
|
MD5 | adb94412a5ba28d9d45eee022871cd60 |
|
BLAKE2b-256 | 09b8aa4e7a8fc311ce24ebc7e607a1fa12473fc23001f6d568be22640ed17b4e |
Hashes for mjml_python-1.2.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f65d6fb048c1638255cbe8e95ef149f13e4aebdeb7927f8743a84058dca3a4b7 |
|
MD5 | 6033721d79523a0dacbfb659c9e44dce |
|
BLAKE2b-256 | 4579721e7ca987f1f83ea1281e68d6b64ceb22eee4f5c0160198b8abd276b077 |
Hashes for mjml_python-1.2.3-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c566b6feb0d2446871f1d0b52a8101eb99ca09636bb1a323006b48db5f6cedd |
|
MD5 | ae2471680e90662a6b398a2cd4e4ec73 |
|
BLAKE2b-256 | 32b1d2140f0657e6c388df62a7ca497374ec54ad17671db942e2819e213fdbb5 |
Hashes for mjml_python-1.2.3-cp37-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7cb7c28aef3d90ca269c2543c36f378b827dbb3fc115f21077b70a0047c46f50 |
|
MD5 | f4d0825a685a47a94d79d13a493cfb73 |
|
BLAKE2b-256 | 97949dc464419e420b09b82fe90c90baa0179429e1642f41f4ce86f0fe99e965 |
Hashes for mjml_python-1.2.3-cp37-cp37m-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 572ba12e8959ce98d63ad97fca9e5cb7d4075de47b05d9d5152d3198b2fffcb0 |
|
MD5 | 72ee092c22d7b0d840cbacb62a374ae8 |
|
BLAKE2b-256 | 7232d27dd012635f4c66edd77138eadd7dd62c34d8cfebd0f94f1027f1b495b0 |
Hashes for mjml_python-1.2.3-cp37-cp37m-musllinux_1_2_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 325ca21fb4bad9d7db6a6a5832a90e99736cf46f43b1018c2b9e873114e48dfa |
|
MD5 | c7ea2afb274d2f9a3806fc0280bdb3ab |
|
BLAKE2b-256 | f9ca0594c84f2dca5a8cf684d14288ddfcb53fd8979ffc6e26c578a68a2fe3f3 |
Hashes for mjml_python-1.2.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d84ee134e6e430ce3421d6175eeaea59291891f018f7b3e1773659264c1fc1da |
|
MD5 | 6476cfb6874a5f4a2092f3de45c9af89 |
|
BLAKE2b-256 | 2af6b95a7f598692241a9cb1048f88a57fe6389700a9e6414615679f0526618d |
Hashes for mjml_python-1.2.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c409fc3f34484c12c9ebe1a80206f204d257f8163d69dbe66510e671cb89c52d |
|
MD5 | 0e1009a1bbc6177ee92a7381ff680204 |
|
BLAKE2b-256 | b8396df8e743ad833b9141a9aa4fcd12ce2435cfacad08593d7553046ee4dc8e |
Hashes for mjml_python-1.2.3-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d57866f3aef74c8b31ac7af6f1dfda4455e114710067f3d9ecac38a4f25230f9 |
|
MD5 | 22aaa051353a5d8e0d4aeeb012d247f9 |
|
BLAKE2b-256 | efe78c4ca167bd7ef0d8bed8bfa5d1a28567450d093be56009f595039ab0e8f4 |