Skip to content

pauleveritt/viewdom

Repository files navigation

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.