Generate HTML with Python 3 License Badge Wheel Support Badge

Domonic Not only a Python library for generating HTML

Domonic contains several evolving packages:

  • html : Generate html with python 3 😎

  • dom : DOM API in python 3 😲

  • javascript : js API in python 3 😳

  • terminal || cmd : call terminal commands with python3 😱 (see at the end)

  • JSON : utils for loading / decorating / transformin

  • SVG : Generate svg using python

  • aframe || x3d tags : auto generate 3d worlds with aframe. (see examples folder

  • dQuery - Utils for querying domonic. (alt + 0 for the º symbol)

  • geom - vec2, vec3 with _dunders_ as well as shape classes

Take a look at the source code and contribute!


from domonic.html import *

mydom = html(body(h1('Hello, World!')))
<!DOCTYPE html>
        <h1>Hello, World!</h1>

To pretty print use an f-string. Which also adds the doctype.


python3 -m pip install domonic

or if you had it before upgrade:

python3 -m pip install domonic --upgrade


There’s a few args you can pass to domonic on the command line to help you out.

To view the online the docs:

domonic -h

To see the version:

domonic -v

To quickly create a domonic project for prototyping:

domonic -p

To use xpath on a website (new):

domonic -x //a

The User Guide

Here you can find some instructions for getting the most out of Domonic.


Feel free to join in if you find it useful.

If there’s any methods you want that are missing or not complete yet. Just update the code and send a pull request.

I’ll merge and releaese asap.


A browser based file browser. Working example of how components can work:

A cron viewer:


There’s several more widely supported libraries doing HTML generation, DOM reading/manipulation, terminal wrappers etc. Maybe use one of those for production due to strictness and support.

This is becoming more of a fast prototyping library.