Skip to content

Commit b2f4cbb

Browse files
Best-of update: 2026.04.09 (#47)
Co-authored-by: hasansezertasan <13135006+hasansezertasan@users.noreply.github.com>
1 parent dcda48f commit b2f4cbb

4 files changed

Lines changed: 150 additions & 34 deletions

File tree

README.md

Lines changed: 44 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<a href="https://github.com/hasansezertasan/awesome-python-html/releases" title="Best-of Updates"><img src="https://img.shields.io/github/release-date/hasansezertasan/awesome-python-html?color=green&label=updated"></a>
1616
</p>
1717

18-
This curated list contains 71 awesome open-source projects with a total of 13K stars grouped into 4 categories. All projects are ranked by a project-quality score, which is calculated based on various metrics automatically collected from GitHub and different package managers. If you like to add or update projects, feel free to open an [issue](https://github.com/hasansezertasan/awesome-python-html/issues/new/choose), submit a [pull request](https://github.com/hasansezertasan/awesome-python-html/pulls), or directly edit the [projects.yaml](https://github.com/hasansezertasan/awesome-python-html/edit/main/projects.yaml). Contributions are very welcome!
18+
This curated list contains 71 awesome open-source projects with a total of 11K stars grouped into 4 categories. All projects are ranked by a project-quality score, which is calculated based on various metrics automatically collected from GitHub and different package managers. If you like to add or update projects, feel free to open an [issue](https://github.com/hasansezertasan/awesome-python-html/issues/new/choose), submit a [pull request](https://github.com/hasansezertasan/awesome-python-html/pulls), or directly edit the [projects.yaml](https://github.com/hasansezertasan/awesome-python-html/edit/main/projects.yaml). Contributions are very welcome!
1919

2020
> 🧙‍♂️ Discover other [best-of lists](https://best-of.org) or [create your own](https://github.com/best-of-lists/best-of/blob/main/create-best-of-list.md).
2121
@@ -69,76 +69,89 @@ _If you can think of a more appropriate category for the items below, PRs welcom
6969

7070
_Projects for generating HTML_
7171

72-
<details><summary><b><a href="https://github.com/lxml/lxml">lxml</a></b> (🥇32 · ⭐ 3K · 📈) - The lxml XML toolkit for Python. <code><a href="http://bit.ly/3aKzpTv">BSD-3</a></code></summary>
72+
<details><summary><b><a href="https://github.com/Knio/dominate">dominate</a></b> (🥇23 · ⭐ 1.8K) - Dominate is a Python library for creating and manipulating HTML documents..</summary>
7373

74-
- [GitHub](https://github.com/lxml/lxml) (👨‍💻 180 · 🔀 590 · 📥 12K · 📦 600K · ⏱️ 26.03.2026):
74+
75+
---
76+
77+
<br>
78+
79+
_1 projects are hidden because they don't fulfill the minimal requirements._
80+
81+
---
82+
</details>
83+
<details><summary><b><a href="https://github.com/byteface/domonic">domonic</a></b> (🥇18 · ⭐ 140 · 📈) - Create HTML with python 3 using a standard DOM API. Includes a python port..</summary>
84+
85+
86+
---
87+
88+
<br>
89+
90+
_1 projects are hidden because they don't fulfill the minimal requirements._
91+
92+
---
93+
</details>
94+
<details><summary><b><a href="https://github.com/lxml/lxml">lxml</a></b> (🥇33 · ⭐ 3K · 📈) - The lxml XML toolkit for Python. <code><a href="http://bit.ly/3aKzpTv">BSD-3</a></code></summary>
95+
96+
- [GitHub](https://github.com/lxml/lxml) (👨‍💻 180 · 🔀 590 · 📥 11K · 📦 610K · ⏱️ 09.04.2026):
7597

7698
```
7799
git clone https://github.com/lxml/lxml
78100
```
79101
</details>
80-
<details><summary><b><a href="https://github.com/pelme/htpy">htpy</a></b> (🥇18 · ⭐ 440) - Generate HTML in Python. <code><a href="http://bit.ly/34MBwT8">MIT</a></code></summary>
102+
<details><summary><b><a href="https://github.com/pelme/htpy">htpy</a></b> (🥇18 · ⭐ 450) - Generate HTML in Python. <code><a href="http://bit.ly/34MBwT8">MIT</a></code></summary>
81103

82104
- [GitHub](https://github.com/pelme/htpy) (👨‍💻 17 · 🔀 29 · 📦 73 · 📋 41 - 12% open · ⏱️ 07.12.2025):
83105

84106
```
85107
git clone https://github.com/pelme/htpy
86108
```
87109
</details>
88-
<details><summary><b><a href="https://github.com/getludic/ludic">ludic</a></b> (🥇16 · ⭐ 890) - A type-safe HTML template engine for Python. Build dynamic web pages using.. <code><a href="http://bit.ly/34MBwT8">MIT</a></code></summary>
110+
<details><summary><b><a href="https://github.com/getludic/ludic">ludic</a></b> (🥇15 · ⭐ 890 · 📉) - A type-safe HTML template engine for Python. Build dynamic web pages.. <code><a href="http://bit.ly/34MBwT8">MIT</a></code></summary>
89111

90-
- [GitHub](https://github.com/getludic/ludic) (👨‍💻 10 · 🔀 20 · 📥 460 · 📦 15 · 📋 32 - 53% open · ⏱️ 13.02.2026):
112+
- [GitHub](https://github.com/getludic/ludic) (👨‍💻 10 · 🔀 20 · 📥 460 · 📦 15 · 📋 33 - 54% open · ⏱️ 13.02.2026):
91113

92114
```
93115
git clone https://github.com/paveldedik/ludic
94116
```
95117
</details>
96-
<details><summary><b><a href="https://github.com/codelv/enaml-web">enaml-web</a></b> (🥇14 · ⭐ 110 · 💤) - Build interactive websites with enaml. <code><a href="http://bit.ly/34MBwT8">MIT</a></code></summary>
97-
98-
- [GitHub](https://github.com/codelv/enaml-web) (👨‍💻 6 · 🔀 18 · 📦 14 · 📋 33 - 21% open · ⏱️ 19.03.2025):
99-
100-
```
101-
git clone https://github.com/codelv/enaml-web
102-
```
103-
</details>
104-
<details><summary>Show 58 hidden projects...</summary>
118+
<details><summary>Show 57 hidden projects...</summary>
105119

106-
- <b><a href="https://github.com/Knio/dominate">dominate</a></b> (🥇23 · ⭐ 1.8K · 💀) - Dominate is a Python library for creating and manipulating HTML documents..
107-
- <b><a href="https://github.com/byteface/domonic">domonic</a></b> (🥇15 · ⭐ 140 · 💀) - Create HTML with python 3 using a standard DOM API. Includes a python port..
108120
- <b><a href="https://github.com/volfpeter/markyp">markyp</a></b> (🥈12 · ⭐ 40 · 💤) - Python 3 tools for creating markup documents.
109121
- <b><a href="https://github.com/Hrabal/TemPy">TemPy</a></b> (🥇16 · ⭐ 140 · 💀) - Python Object Oriented Html Templating System. <code><a href="http://bit.ly/3nYMfla">Apache-2</a></code>
110-
- <b><a href="https://github.com/tvst/htbuilder">htbuilder</a></b> (🥇14 · ⭐ 100 · 💀) - A purely-functional HTML builder for Python. Think JSX rather.. <code><a href="http://bit.ly/3nYMfla">Apache-2</a></code>
111-
- <b><a href="https://github.com/tylerbakke/MarkupPy">MarkupPy</a></b> (🥇14 · ⭐ 11 · 💤) - MarkupPy - An HTML/XML generator. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
122+
- <b><a href="https://github.com/leforestier/yattag">yattag</a></b> (🥇15 · ⭐ 350 · 💀) - Python library to generate HTML or XML in a readable, concise.. <code>❗Unlicensed</code>
123+
- <b><a href="https://github.com/codelv/enaml-web">enaml-web</a></b> (🥈14 · ⭐ 110 · 💀) - Build interactive websites with enaml. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
124+
- <b><a href="https://github.com/tvst/htbuilder">htbuilder</a></b> (🥈14 · ⭐ 100 · 💀) - A purely-functional HTML builder for Python. Think JSX rather.. <code><a href="http://bit.ly/3nYMfla">Apache-2</a></code>
125+
- <b><a href="https://github.com/tylerbakke/MarkupPy">MarkupPy</a></b> (🥈14 · ⭐ 11 · 💀) - MarkupPy - An HTML/XML generator. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
112126
- <b><a href="https://github.com/BrainStormYourWayIn/sierra">sierra</a></b> (🥈13 · ⭐ 91 · 💤) - A Pythonic wraparound of HTML/CSS/JS. <code><a href="http://bit.ly/3nYMfla">Apache-2</a></code>
113127
- <b><a href="https://github.com/sanic-org/html5tagger">html5tagger</a></b> (🥈13 · ⭐ 32 · 💀) - Create HTML documents from Python. <code><a href="http://bit.ly/3rvuUlR">Unlicense</a></code>
114128
- <b><a href="https://github.com/dropbox/pyxl">pyxl</a></b> (🥈12 · ⭐ 550 · 💀) - A Python extension for writing structured and reusable inline HTML. <code><a href="http://bit.ly/3nYMfla">Apache-2</a></code>
115129
- <b><a href="https://github.com/apiad/auditorium">auditorium</a></b> (🥈12 · ⭐ 83 · 💀) - An HTML+CSS+JS generator from pure Python code. <code>❗Unlicensed</code>
116130
- <b><a href="https://github.com/basxsoftwareassociation/htmlgenerator">htmlgenerator</a></b> (🥈11 · ⭐ 42 · 💀) - TL;DR DOM on the server-side. <code><a href="http://bit.ly/3aKzpTv">BSD-3</a></code>
117131
- <b><a href="https://github.com/jaimevp54/htmlBuilder">htmlBuilder</a></b> (🥈11 · ⭐ 38 · 💀) - A beautiful html builder built with python. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
118-
- <b><a href="https://github.com/leforestier/yattag">yattag</a></b> (🥈10 · ⭐ 350 · 💀) - Python library to generate HTML or XML in a readable, concise.. <code>❗Unlicensed</code>
119-
- <b><a href="https://github.com/pyxl4/pyxl4">pyxl4</a></b> (🥈10 · ⭐ 89 · 💀) - Extend Python syntax with HTML. <code><a href="http://bit.ly/3nYMfla">Apache-2</a></code>
132+
- <b><a href="https://github.com/pyxl4/pyxl4">pyxl4</a></b> (🥈10 · ⭐ 90 · 💀) - Extend Python syntax with HTML. <code><a href="http://bit.ly/3nYMfla">Apache-2</a></code>
120133
- <b><a href="https://github.com/miyakogi/wdom">wdom</a></b> (🥈10 · ⭐ 75 · 💀) - Web technology based GUI library for desktop applications. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
121134
- <b><a href="https://github.com/koaning/mohtml">mohtml</a></b> (🥈10 · ⭐ 72 · 💤) - DSL for HTML that targets marimo and more!. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
122135
- <b><a href="https://github.com/jpsca/jinjax-ui">jinjax-ui</a></b> (🥈10 · ⭐ 21 · 💤) - JinjaX UI components. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
123136
- <b><a href="https://github.com/vchan/hyperscript">hyperscript</a></b> (🥈10 · ⭐ 11 · 💀) - HyperText with Python. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
124-
- <b><a href="https://github.com/Parnassius/domify">domify</a></b> (🥈10 · ⭐ 7) - HTML generator using pure Python. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
125137
- <b><a href="https://github.com/Michael-F-Ellis/htmltree">htmltree</a></b> (🥈9 · ⭐ 35 · 💀) - Generalized nested html element tree with recursive rendering. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
126138
- <b><a href="https://github.com/LiftoffSoftware/htmltag">htmltag</a></b> (🥈9 · ⭐ 22 · 💀) - A Python (2 *and* 3) module for wrapping whatever strings you want.. <code><a href="http://bit.ly/3nYMfla">Apache-2</a></code>
127-
- <b><a href="https://github.com/MohammadrezaAmani/INUI">INUI</a></b> (🥈9 · ⭐ 21 · 💤) - Powerful and Highly Customizable Python Library for UI. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
128-
- <b><a href="https://github.com/srittau/python-htmlgen">python-htmlgen</a></b> (🥈9 · ⭐ 18 · 💀) - Python HTML 5 Generator. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
129-
- <b><a href="https://github.com/pcarbonn/fast_html">fast_html</a></b> (🥉8 · ⭐ 110 · 💤) - Generate HTML conveniently and efficiently in Python. <code><a href="http://bit.ly/37RvQcA">❗️LGPL-3.0</a></code>
139+
- <b><a href="https://github.com/MohammadrezaAmani/INUI">INUI</a></b> (🥈9 · ⭐ 21 · 💀) - Powerful and Highly Customizable Python Library for UI. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
140+
- <b><a href="https://github.com/Parnassius/domify">domify</a></b> (🥈9 · ⭐ 7 · 📉) - HTML generator using pure Python. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
141+
- <b><a href="https://github.com/pcarbonn/fast_html">fast_html</a></b> (🥉8 · ⭐ 120 · 💤) - Generate HTML conveniently and efficiently in Python. <code><a href="http://bit.ly/37RvQcA">❗️LGPL-3.0</a></code>
130142
- <b><a href="https://github.com/cenkalti/pyhtml">pyhtml</a></b> (🥉8 · ⭐ 75 · 💀) - HTML generation library for Python. <code>❗Unlicensed</code>
131143
- <b><a href="https://github.com/keithasaurus/simple_html">simple_html</a></b> (🥉8 · ⭐ 51) - fast, templateless html generation. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
132-
- <b><a href="https://github.com/mosquito/tagz">tagz</a></b> (🥉8 · ⭐ 7) - tagz is a html tags builder. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
133-
- <b><a href="https://github.com/DavidVujic/python-hiccup">python-hiccup</a></b> (🥉7 · ⭐ 74) - a Python implementation of the Hiccup syntax. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
134-
- <b><a href="https://github.com/ejplatform/hyperpython">hyperpython</a></b> (🥉7 · ⭐ 58 · 💀) - A small DSL to write HTML in Python. <code>❗Unlicensed</code>
144+
- <b><a href="https://github.com/DavidVujic/python-hiccup">python-hiccup</a></b> (🥉7 · ⭐ 74 · 💤) - a Python implementation of the Hiccup syntax. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
145+
- <b><a href="https://github.com/ejplatform/hyperpython">hyperpython</a></b> (🥉7 · ⭐ 59 · 💀) - A small DSL to write HTML in Python. <code>❗Unlicensed</code>
135146
- <b><a href="https://github.com/timothycrosley/thedom">thedom</a></b> (🥉7 · ⭐ 24 · 💀) - A python framework to generate html and JavaScript from reusable.. <code><a href="http://bit.ly/2KucAZR">❗️GPL-2.0</a></code>
147+
- <b><a href="https://github.com/srittau/python-htmlgen">python-htmlgen</a></b> (🥉7 · ⭐ 18 · 💀) - Python HTML 5 Generator. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
136148
- <b><a href="https://github.com/frodo821/Rattlepy">Rattlepy</a></b> (🥉7 · ⭐ 9 · 💀) - A easy-to-use pure python HTML template engine. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
137-
- <b><a href="https://github.com/CheeseCake87/pyhead">pyhead</a></b> (🥉7 · ⭐ 5) - The Python HTML head filler. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
149+
- <b><a href="https://github.com/CheeseCake87/pyhead">pyhead</a></b> (🥉7 · ⭐ 5 · 💤) - The Python HTML head filler. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
138150
- <b><a href="https://github.com/mwd1993/QuykHtml">QuykHtml</a></b> (🥉6 · ⭐ 18 · 💤) - A python library that allows you to quickly and easily generate HTML.. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
139151
- <b><a href="https://github.com/Unviray/pyplater">pyplater</a></b> (🥉6 · ⭐ 12 · 💀) - Build html component with python. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
140152
- <b><a href="https://github.com/quokkaproject/flask-htmlbuilder">flask-htmlbuilder</a></b> (🥉6 · ⭐ 11 · 💀) - Builds HTML from Python (recovered from local.. <code><a href="http://bit.ly/3aKzpTv">BSD-3</a></code>
141153
- <b><a href="https://github.com/ndendic/RustyTags">rusty-tags</a></b> (🥉6 · ⭐ 11) - High-performance HTML generation library in Rust with Python.. <code>❗Unlicensed</code>
154+
- <b><a href="https://github.com/mosquito/tagz">tagz</a></b> (🥉6 · ⭐ 7 · 📉) - tagz is a html tags builder. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
142155
- <b><a href="https://github.com/rorre/liku">liku</a></b> (🥉6 · ⭐ 5 · 💀) - Python HTML templating, inspired by modern Web Development. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
143156
- <b><a href="https://github.com/bitplorer/uidom">uidom</a></b> (🥉6 · ⭐ 3 · 💀) - Blade like HTML Library for Python. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
144157
- <b><a href="https://github.com/mdamien/lys">lys</a></b> (🥉5 · ⭐ 76 · 💀) - Simple HTML templating for Python. <code>❗Unlicensed</code>
@@ -170,9 +183,9 @@ _Projects for generating HTML_
170183

171184
_Projects for generating HTML forms_
172185

173-
<details><summary><b><a href="https://github.com/pallets-eco/wtforms">wtforms</a></b> (🥇29 · ⭐ 1.6K) - A flexible forms validation and rendering library for Python. <code><a href="http://bit.ly/3aKzpTv">BSD-3</a></code></summary>
186+
<details><summary><b><a href="https://github.com/pallets-eco/wtforms">wtforms</a></b> (🥇27 · ⭐ 1.6K · 📉) - A flexible forms validation and rendering library for Python. <code><a href="http://bit.ly/3aKzpTv">BSD-3</a></code></summary>
174187

175-
- [GitHub](https://github.com/pallets-eco/wtforms) (👨‍💻 170 · 🔀 400 · 📥 57 · 📦 260K · 📋 470 - 13% open · ⏱️ 15.01.2026):
188+
- [GitHub](https://github.com/pallets-eco/wtforms) (👨‍💻 170 · 🔀 400 · 📥 63 · 📦 260K · 📋 470 - 13% open · ⏱️ 15.01.2026):
176189

177190
```
178191
git clone https://github.com/pallets-eco/wtforms

history/2026-04-09_changes.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
## 📈 Trending Up
2+
3+
_Projects that have a higher project-quality score compared to the last update. There might be a variety of reasons, such as increased downloads or code activity._
4+
5+
- <b><a href="https://github.com/byteface/domonic">domonic</a></b> (🥇18 · ⭐ 140 · 📈) - Create HTML with python 3 using a standard DOM API. Includes a python port..
6+
- <b><a href="https://github.com/lxml/lxml">lxml</a></b> (🥇33 · ⭐ 3K · 📈) - The lxml XML toolkit for Python. <code><a href="http://bit.ly/3aKzpTv">BSD-3</a></code>
7+
- <b><a href="https://github.com/leforestier/yattag">yattag</a></b> (🥇15 · ⭐ 350 · 💀) - Python library to generate HTML or XML in a readable, concise.. <code>❗Unlicensed</code>
8+
9+
## 📉 Trending Down
10+
11+
_Projects that have a lower project-quality score compared to the last update. There might be a variety of reasons such as decreased downloads or code activity._
12+
13+
- <b><a href="https://github.com/pallets-eco/wtforms">wtforms</a></b> (🥇27 · ⭐ 1.6K · 📉) - A flexible forms validation and rendering library for Python. <code><a href="http://bit.ly/3aKzpTv">BSD-3</a></code>
14+
- <b><a href="https://github.com/getludic/ludic">ludic</a></b> (🥇15 · ⭐ 890 · 📉) - A type-safe HTML template engine for Python. Build dynamic web pages.. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
15+
- <b><a href="https://github.com/Parnassius/domify">domify</a></b> (🥈9 · ⭐ 7 · 📉) - HTML generator using pure Python. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
16+
- <b><a href="https://github.com/srittau/python-htmlgen">python-htmlgen</a></b> (🥉7 · ⭐ 18 · 💀) - Python HTML 5 Generator. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
17+
- <b><a href="https://github.com/mosquito/tagz">tagz</a></b> (🥉6 · ⭐ 7 · 📉) - tagz is a html tags builder. <code><a href="http://bit.ly/34MBwT8">MIT</a></code>
18+

0 commit comments

Comments
 (0)