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

Features#

  • 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.

Requirements#

  • Python 3.9+.

  • viewdom

  • tagged

  • htm.py

  • Markupsafe

Installation#

You can install ViewDOM via pip from PyPI:

$ pip install viewdom

Quick Examples#

Contributing#

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

License#

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

Issues#

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

Credits#

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