sodom if you like to write HTML in Python.
Project description
sodom
sodom if you like to write HTML in Python. Faster x2+ than dominate
Installation
python -m pip install sodom[cli]
Examples
You can check demo via python -m sodom
or preview code in sodom.__main__
.
from sodom import *
...
def card(_header: str, _price: str, _submit_text: str, *_conditions: str):
with div(class_='card mb-4 box-shadow'):
with div(class_='card-header'), h4(class_='my-0 font-weight-normal'):
text(_header)
with div(class_='card-body'):
with h1(class_='card-title pricing-card-title'):
text(_price)
with small(class_='text-muted'):
text(' mo')
with ul(class_='list-unstyled mt-3 mb-4'):
for _c in _conditions:
li(_c)
with button(type_='button', class_='btn btn-lg btn-block btn-primary'):
text(_submit_text)
...
CLI Generation
Require [cli]
extra.
python -m pip install sodom[cli]
Check out --help
.
python -m sodom --help
Features
- supported standart html element (normal/void). Check
sodom.consts.NORMAL_TAGS
andsodom.consts.VOID_TAGS
. - supported several special attributes like
data-
,v-
... Checksodom.consts.SPECIAL_ATTRS
. You can extend them in runtime before library usage. - sodom is x2+ times productive than
dominate
and x4+ times thanfast_html
. Checksodom.tests.test_performance_*
. - avoided builtin keyword trouble via cutting off leading and ending
_
. For example,[py]class_='button'
equals[html]class="button"
. - supported
ContextVar
. Tested onasyncio
andThreadPoolExecutor
. - supported python generation from
.html
. - include simple integrations with
aiohttp
,flask
,sanic
,quart
. Checksodom.ext.
Feedback
If you have any feedback, text me at inbox@protaz.ru
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 Distribution
sodom-1.1.0.tar.gz
(16.4 kB
view hashes)