Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

awesome-python-htmx

A curated list of things related to python-based web development using htmx
https://github.com/PyHAT-stack/awesome-python-htmx

Last synced: about 3 hours ago
JSON representation

  • Introductory Courses 🏫

  • Design, Theory, and Patterns 🧠

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

    • Frameworks

      • Litestar - Litestar-a9bbcc?style=flat&logoColor=black" alt="Litestar"></a> <br/> Litestar is a full-on ASGI web framework (think FastAPI, Sanic, Starlette, etc...) So why is it included here? With their most recent 2.0 release, the creators have included htmx support out of the box. A special `HTMXRequest` provides easier access to HX-request header objects, and an `HTMXTemplate` object that includes attributes for common htmx actions (pushing url, re_swap, re_targets, etc...)
      • Forge Packages - Django-a9bbcc?style=flat&logo=django&logoColor=black" alt="Django"></a> <br/>
      • forge-htmx - The forge-htmx Django package adds a couple of unique features for working with HTMX. One is template fragments and the other is view actions.
      • django_htmx_ui - Django-a9bbcc?style=flat&logo=django&logoColor=black" alt="Django"></a> <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><br/>
      • Ludic - Starlette-a9bbcc?style=flat&logo=starlette&logoColor=black" alt="Starlette"></a><br/>
      • forge-tailwind - Tailwind_CSS-a9bbcc?style=flat&logo=tailwindcss&logoColor=black" alt="Tailwind CSS"></a> - Use Tailwind CSS with Django without requiring JavaScript or npm.
    • Tools <a name = "tools"></a>

      • django-tailwind-cli - Django-a9bbcc?style=flat&logo=django&logoColor=black" alt="Django"></a> <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><br/>
      • pytailwindcss - Tailwind_CSS-a9bbcc?style=flat&logo=tailwindcss&logoColor=black" alt="Tailwind CSS"></a><br/>
      • HTML Form to Dict
      • django-tailwind-cli - Django-a9bbcc?style=flat&logo=django&logoColor=black" alt="Django"></a> <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><br/>
    • Demos

      • Bulldoggy: The Reminders App - FastAPI-a9bbcc?style=flat&logo=fastapi&logoColor=black" alt="FastAPI"></a> Bulldoggy is a small demo web app for tracking reminders. Uses htmx to handle `GET`, `POST`, `PATCH` requests in a fully-functioning to-do frontend.
      • Owela Club - Django-a9bbcc?style=flat&logo=django&logoColor=black" alt="Django"></a> - Play the Namibian game of Owela against a terrible AI. Built using Django and htmx.
      • Music Binder - FastAPI-a9bbcc?style=flat&logo=fastapi&logoColor=black" alt="FastAPI"></a> - More advanced version of [Simple Site repo](https://github.com/tataraba/simplesite) showcasing features like active search and infinite scroll. You can open with a Codespace in GitHub without having to install anything locally.
    • Templates

      • django-cotton - Django-a9bbcc?style=flat&logo=django&logoColor=black" alt="Django"></a> <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><br/>
      • falco - Django-a9bbcc?style=flat&logo=django&logoColor=black" alt="Django"></a> <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><br/>
    • Helper Libraries

      • Jinja Partials - Flask-a9bbcc?style=flat&logo=flask&logoColor=black" alt="Flask"></a> <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><br/>
      • Django Render Block - Django-a9bbcc?style=flat&logo=django&logoColor=black" alt="Django"></a> <br/>
      • Flask-HTMX - Flask-a9bbcc?style=flat&logo=flask&logoColor=black" alt="Flask"></a><br/>
      • htmx-Flask - Flask-a9bbcc?style=flat&logo=flask&logoColor=black" alt="Flask"></a> <br/>
      • FastAPI-HTMX - FastAPI-a9bbcc?style=flat&logo=fastapi&logoColor=black" alt="FastAPI"></a><br>
      • FastHX - FastAPI-a9bbcc?style=flat&logo=fastapi&logoColor=black" alt="FastAPI"></a><br>
      • asgi-htmx - FastAPI-a9bbcc?style=flat&logo=fastapi&logoColor=black" alt="FastAPI"></a><br>
      • django-htmx - Django-a9bbcc?style=flat&logo=django&logoColor=black" alt="Django"></a> <br/>
      • django-siteajax - Django-a9bbcc?style=flat&logo=django&logoColor=black" alt="Django"></a> <br/>
      • hx-requests - Django-a9bbcc?style=flat&logo=django&logoColor=black" alt="Django"></a> <br/>
      • django-cbv-htmx - Django-a9bbcc?style=flat&logo=django&logoColor=black" alt="Django"></a> <br/>
      • Starlette_htmx - Starlette-a9bbcc?style=flat&logo=starlette&logoColor=black" alt="Starlette"></a><br/>
      • django-template-partials - Django-a9bbcc?style=flat&logo=django&logoColor=black" alt="Django"></a> <br/>
      • Jinja2 fragments - FastAPI-a9bbcc?style=flat&logo=fastapi&logoColor=black" alt="FastAPI"></a> <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> <a href="https://litestar.dev/" target="_blank"><img src="https://img.shields.io/badge/-Litestar-a9bbcc?style=flat&logoColor=black" alt="Litestar"></a> <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><br/>
      • template fragments - of-behaviour/)
      • Has a great intro talk from DjangoCon
    • Components

  • Projects Using PyHAT (or similar) 🏗️

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

      • Django Requests Tracker - Django-a9bbcc?style=flat&logo=django&logoColor=black" alt="Django"></a><br/>
      • IDP-Z3 - Flask-a9bbcc?style=flat&logo=flask&logoColor=black" alt="Flask"></a><br/>
      • JupySpace - FastAPI-a9bbcc?style=flat&logo=fastapi&logoColor=black" alt="FastAPI"></a><br/>
      • Harfang - Django-a9bbcc?style=flat&logo=django&logoColor=black" alt="Django"></a><br/>
  • Further Reading 📖

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

  • Official Resources 📚

    • But Will it Work in Production?

      • tailwindcss - Rapidly build modern websites without ever leaving your HTML. Tailwind provides a standalone CLI tool that _does not_ require npm or any other JavaScript dependencies. (You can install it through `pip` using the [pytailwindcss](https://pypi.org/project/pytailwindcss/) library)
      • htmx - htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext. Htmx has no outside dependencies outside of a vanilla JavaScript file referenced in your HTML `<head>` section.
  • Introductory Resources 🔰