Skip to main content

Write safer and cleaner HTML using Python

Project description

htmldoom

Write safer and cleaner HTML using Python

PyPI version PyPI version Build Status codecov Code style: black

Usage

>>> from htmldoom import elements as e
>>> 
>>> e.P(style=e.style(color="red"))("This is a paragraph")
<p style="color:'red';">This is a paragraph</p>

>>> from htmldoom import elements as e
>>> from htmldoom.layouts import BaseLayout
>>> 
>>> class MyLayout(BaseLayout):
...     @property
...     def title(self) -> e.Title:
...         return e.Title()(self["title"])
...     @property
...     def body(self) -> e.Body:
...         return e.Body()(f"Welcome {self['user']['name']}")

... >>> MyLayout({"title": "foo", "user": {"name": "bar"}}) <!DOCTYPE html> <html><head><title>foo</title></head><body>Welcome bar</body></html>

Find more examples here

Benchmarks

Very basic benchmark done using this script and IPython

htmldoom

htmldoom stats

Jinja2

Jinja2 stats

Mako

Mako stats

Chameleon

Chameleon stats

Conclusion

htmldoom performs best upto a certain number of loops which is generally high enough.
NOTE: These measurements are very naive and shows very basic information.

Contributing

Check out the contributing guidelines.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

htmldoom-0.2.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

htmldoom-0.2-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file htmldoom-0.2.tar.gz.

File metadata

  • Download URL: htmldoom-0.2.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.5

File hashes

Hashes for htmldoom-0.2.tar.gz
Algorithm Hash digest
SHA256 4b5361f5adad7bf53367f94b4b284a11bee0a804252d68a86e25559862cbaf30
MD5 21501dda1e6d92034f6acf38ecd8e385
BLAKE2b-256 080f303f54c9795ce27ef2d67728077e7eaf46d2c562f48172647f98fc39a14d

See more details on using hashes here.

File details

Details for the file htmldoom-0.2-py3-none-any.whl.

File metadata

  • Download URL: htmldoom-0.2-py3-none-any.whl
  • Upload date:
  • Size: 8.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.5

File hashes

Hashes for htmldoom-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6b2fac0a8eb374040444f35616273c6abae63fce2dc2ac9afa5d4163e2c3429b
MD5 1a9868a0b86bab961fbdf352966dfb4f
BLAKE2b-256 7237c8625458d6b15c7ed287323e545ed5710e4f751bdb6b7c20c5c4ef5e2c7f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page