Skip to main content

inguitive

inguitive

A pure Python web framework combining intuitive syntax with HTMX for partial page reloads and Tailwind CSS for styling.

Components automatically re-render when state changes, eliminating the need for manual DOM manipulation or JavaScript. It is designed for Python developers who want to build interactive web applications using only Python, without sacrificing the dynamic feel of modern SPAs.

3 Steps to a Running App

pip install inguitive
inguitive init
inguitive run

inguitive init scaffolds a ready-to-run app.py in the current directory. inguitive run serves it at http://localhost:8000.

A Simple Example

Here's what a simple app might look like — a reactive counter that updates without a full page reload:

from inguitive import Div, Button, Label, State, create_app

app = create_app(title="Counter")

counter = State(0, "counter")

@app.trigger_handler
def increment():
    counter.set(counter.get() + 1)

@app.page("/")
def index():
    return Div(
        Label(text=lambda: f"Count: {counter.get()}", id="counter-label", listen_to="counter"),
        Button("+1", trigger="increment"),
    )

Features

  • Reactive State Management — State propagates to all listening components automatically; no manual DOM updates or JavaScript
  • Component-Based — composable UI components with clean Python syntax; all attributes can be static strings or callables
  • Trigger Handlers — Python functions wired directly to HTMX POST actions; pass data from components to handlers via trigger_args and get_trigger_args()
  • Form Validation — declarative FormSchema with type coercion and per-constraint messages
  • URL Routing — dynamic path parameters with type validation (<name:type>)
  • Session Backends — MemoryBackend for development, RedisBackend for production, with automatic per-user state isolation
  • CLI — inguitive init and inguitive run to scaffold and serve
  • Type Safe — full type hints throughout the codebase
  • Tailwind CSS — first-class support for utility-first styling

Documentation

For the full component reference, guides, and API docs, see docs/index.md.

License

MIT License — see LICENSE for details.


Contact: GitHub · Issues · info@stork-software.de

Metadata

Release files for inguitive 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for inguitive 1.0.1
File Size Uploaded Provenance
inguitive-1.0.1.tar.gz 236.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for inguitive 1.0.1
File Interpreter ABI Platform
inguitive-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 443.5 kB

Release files / inguitive-1.0.1.tar.gz

Download URL inguitive-1.0.1.tar.gz
Size 236.2 kB
Tags Source
SHA-256 checksum
How to use checksums
1d19b0b99cd5989af43f8d951f1a772faf6714c0cfd0b208524beae0d0798c67
BLAKE2b-256 checksum
How to use checksums
f562055faba0bd0e64830ac7191fb762c84fc23bc309c26ffd5ca317390fc303
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / inguitive-1.0.1-py3-none-any.whl

Download URL inguitive-1.0.1-py3-none-any.whl
Size 207.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c6806efccc8eb1c676e88b3151fdc2637d7611abf1b9cca892602fd201c6f82d
BLAKE2b-256 checksum
How to use checksums
212897a54e5385d8dbcf90f4af06cd84d453b876b27e6726a1fc243a26384c86
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Security for inguitive 1.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page