Home

Awesome

PyHAT: Awesome Python htmx Awesome

Are you interested in the intersection of Python and Hypermedia-Driven Applications? Head on over to the discussions tab, introduce yourself, and let's get to work!

What is PyHAT? 🧐 <a name = "about"></a>

PyHAT is more than just a snake with a hat 🐍🤠. It stands for Python htmx ASGI Tailwind—a web stack that allows you to build powerful web applications using nothing more than... drumroll... Python, htmx, and Tailwind.

Quick, <a href="#tools">take me to the tools already</a>!

Our Goal

We want to promote hypermedia driven applications. That's it. That's the goal.

Okay, well, more specifically, we want to promote htmx within the Python ecosystem.

Why Should I Care?

Does any of this sound like you:

If the above sounds like you then you are in the right place!

Maybe This Isn't For Me

One of the links above goes to When Should You Use Hypermedia over at htmx.org, and is a pretty great read if you want to asses if this is for you. It also expounds on the following points:

Hypermedia might not be a good fit:

But Will it Work in Production?

Yes! Here is a very good example of a project a company underwent using HTMX with Django in production. You can also watch the original video from DjangoCon EU 2022, titled From React to htmx on a real-world SaaS product: we did it, and it's awesome!

<details> <summary>Some highlights from the article.</summary>
</details>

Glossary :scroll:

Usage ✏️ <a name = "usage"></a>

Htmx can be used with any backend framework. Currently, there is a lot of experimentation in the Python space, which is exciting! But that also means that there are a lot of disparate approaches.

The best advice here is to get familiar with some of the core packages (htmx, tailwind). Then feel free to check out any of the packages below.

Official Resources 📚

Introductory Resources 🔰

Introductory Courses 🏫

Design, Theory, and Patterns 🧠

Third Party Packages 📦 <a name = "tools"></a>

Demos

Templates

Helper Libraries

<!-- STARLETTE   <a href="https://www.starlette.io/" target="_blank"><img src="https://img.shields.io/badge/-Starlette-a9bbcc?style=flat&logo=starlette&logoColor=black" alt="Starlette"></a> FASTAPI <a href="https://fastapi.tiangolo.com/" target="_blank"><img src="https://img.shields.io/badge/-FastAPI-a9bbcc?style=flat&logo=fastapi&logoColor=black" alt="FastAPI"></a> FLASK <a href="https://flask.palletsprojects.com/en" target="_blank"><img src="https://img.shields.io/badge/-Flask-a9bbcc?style=flat&logo=flask&logoColor=black" alt="Flask"></a> JINJA <a href="https://palletsprojects.com/p/jinja/" target="_blank"><img src="https://img.shields.io/badge/-Jinja2-a9bbcc?style=flat&logo=jinja&logoColor=black" alt="Jinja2"></a> DJANGO <a href="https://docs.djangoproject.com/en/" target="_blank"><img src="https://img.shields.io/badge/-Django-a9bbcc?style=flat&logo=django&logoColor=black" alt="Django"></a> TAILWIND <a href="https://tailwindcss.com/" target="_blank"><img src="https://img.shields.io/badge/-Tailwind_CSS-a9bbcc?style=flat&logo=tailwindcss&logoColor=black" alt="Tailwind CSS"></a> -->

Frameworks

Components

Tools <a name = "tools"></a>

Projects Using PyHAT (or similar) 🏗️

Further Reading 📖