tumulus
Python HTML Generator for Recyclable Web Elements.
Tumulus is an alternative to Templating languages found in many templating engines such as Jinja2, Django, Mako, ...
Such templating engines make it difficult to separate logical elements of the page, hence discouraging reusability.
The motivation behind Tumulus is to encourage developers to build reusable web components that can then be
put together to build web pages or applications.
Example
from tumulus.tags import tags as t
import tumulus.lib as lib
def bootstrap_button(text):
'''Returns a Bootstrap formatted button, and adds the CSS of
Bootstrap to the dependencies of the page.'''
return t.div(
t.button(text, class_='btn btn-info'),
lib.css('bootstrap')
);
def page(title, text):
return t.html(
t.head(
t.title(title),
t.meta(charset='utf-8'),
),
t.body(
t.h1(title),
t.p(
text
),
bootstrap_button('Click Here'),
),
)
print(
page('Hello World', 'Hello from Tumulus').build()
)
Run tests
Tumulus uses testing intensely, and tries to keep a coverage close from 100%. Testing
is done using pytest
and pytest-cov
.
Run all tests:
py.test tumulus
Generate a coverage report:
py.test --cov tumulus && coverage html