Domonic:¶
Generate HTML with Python 3¶
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!
HTML TEMPLATING¶
from domonic.html import *
mydom = html(body(h1('Hello, World!')))
print(f"{mydom}")
<!DOCTYPE html>
<html>
<body>
<h1>Hello, World!</h1>
</body>
</html>
To pretty print use an f-string. Which also adds the doctype.
install¶
python3 -m pip install domonic
or if you had it before upgrade:
python3 -m pip install domonic --upgrade
CLI¶
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 https://google.com //a
The User Guide¶
Here you can find some instructions for getting the most out of Domonic.
- html
- dom
- javascript
- events
- sitemap
- dQuery
- d3
- JSON
- constants
- terminal
- cmd
- tween
- geom
- x3d
- CDN
- decorators
- Templates and Components
- utils
- webapi
- styles
- 🚀 servers
- Running a python server to view static pages
- Serving dynamic content
- Using domonic with Cherrypy
- Using domonic with Pyramid
- Using domonic with Bottle
- Using domonic with Sanic
- Using domonic with Flask
- Using domonic with FastAPI
- Using domonic with Werkzeug
- Using domonic with Starlette
- Using domonic with Tornado
- Using domonic with Django
- Using domonic with aiohttp
- SPA’s
- Using domonic with AWS lambda
- Using domonic with Google Cloud Functions
- 🤖 autodocs
- Contribute
Join-In¶
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.
EXAMPLE PROJECTS¶
A browser based file browser. Working example of how components can work: https://github.com/byteface/Blueberry/
A cron viewer: https://github.com/byteface/ezcron/
Disclaimer¶
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.