Skip to main content


Project description

ViewDOM: Component-Driven Development for Python

Coverage Status Documentation Status Code style: black PyPI Python Version PyPI - Downloads License Test Status pre-commit black

ViewDOM brings modern frontend templating patterns to Python:

  • tagged to have language-centered templating (like JS tagged templates)
  • htm to generate virtual DOM structures from a template run (like the htm JS package)
  • ViewDOM for components which render a VDOM to a markup string, along with other modern machinery
  • Optionally, Hopscotch for a component registry with dependency injection


  • Component-driven development.
  • Intermediate VDOM.
  • Pass in data either via props (simple) or DI (rich).
  • Emphasis on modern Python dev practices: explicit, type hinting, static analysis, testing, docs, linting, editors.


  • Python 3.9+.
  • viewdom
  • tagged
  • Markupsafe


You can install ViewDOM via pip from PyPI:

$ pip install viewdom

Quick Examples


Contributions are very welcome. To learn more, see the contributor's guide.


Distributed under the terms of the MIT license, ViewDOM is free and open source software.


If you encounter any problems, please file an issue along with a detailed description.


This project was generated from @cjolowicz's Hypermodern Python Cookiecutter template.

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

viewdom-0.6.4.tar.gz (5.2 kB view hashes)

Uploaded source

Built Distribution

viewdom-0.6.4-py3-none-any.whl (5.3 kB view hashes)

Uploaded py3

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