A small library for generating HTML & CSS using Python syntax.
Project description
pyhtml5
A tiny Python library for writing HTML and CSS in code — with clear, full element names like Division, Paragraph, and Button. Render to a string in regular Python, or mount directly into the browser DOM when running under PyScript.
Why use it?
- Readable structure:
with Division(): Paragraph("Hello") - Works anywhere: strings in CPython, live DOM in PyScript
- Built-in CSS:
Stylesheet().rule(".card", padding="16px")
Install
pip install pyhtml5
Quick start
Build HTML (string)
from pyhtml5 import Division, Paragraph, Anchor, html_string
with Division(class_="card") as root:
Paragraph("Hello from pyhtml5! ")
Anchor("Read more", href="https://example.com", target="_blank")
print(html_string(root))
Use in PyScript (mount to the DOM)
from pyhtml5 import Division, Paragraph
with Division(class_="notice") as box:
Paragraph("Running inside PyScript!")
box.mount("#app") # or just box.mount() to append to <body>
CSS in code
from pyhtml5 import Stylesheet, css_string
with Stylesheet() as css:
css.rule(":root", color_scheme="light dark")
css.rule(".card", padding="16px", border="1px solid #ddd", border_radius="12px")
print(css_string(css)) # in PyScript, use css.mount() to inject a <style>
License
MIT License
See LICENSE for details.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyhtml5-0.0.4.tar.gz.
File metadata
- Download URL: pyhtml5-0.0.4.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5e03c543a942ab7b89947880f219e6f8af4b6ffeefdca788b99d83ce3afea42
|
|
| MD5 |
bf2a6d42798faf47d14af177de1ac4fb
|
|
| BLAKE2b-256 |
f7ea6ecf342c29f8b340adf010d0d3cfd3610e5066bd20c9db2248a05673c77a
|
File details
Details for the file pyhtml5-0.0.4-py3-none-any.whl.
File metadata
- Download URL: pyhtml5-0.0.4-py3-none-any.whl
- Upload date:
- Size: 13.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ab15c8146f8512a7c047b66de24787f261b44086155acae8f7178c268be4f42
|
|
| MD5 |
f946eb1eb0bf77c3d2c8bc59487069e5
|
|
| BLAKE2b-256 |
40d59740828d4e07f0d588ef72097af6a8750f39c6d153fe08771ea9c65a40f3
|