Skip to main content

HTML builder with server routing for Python

Project description

Sistine

download

React-like UI framework for Python. Build reactive web UIs with HTML/Tailwind + Alpine.js, powered by Streamlit.

Sistine wraps Streamlit with a routing layer, DOM builder, and reactive client-side components — giving you pixel-perfect custom UI without giving up Python.

Why Sistine, why not Streamlit?

Streamlit is great for data apps fast, but falls short when you need:

Pain point Streamlit Sistine
CSS control Limited, no hover/flexbox/grid/animations Full Tailwind + custom CSS
Custom HTML No ergonomic HTML builder el.div(cls="...")(child) chaining syntax
Client interactivity Full page reload on every interaction Alpine.js — no reloads, reactive
Architecture Linear script MVC with routing (@app.sistine("/"))
API endpoints None built-in @app.query — JSON endpoints callable from JS
Static export Not supported sistine build → static HTML files

You keep Streamlit's Python ecosystem while getting frontend-level UI control.

Reactive Components

Sistine ships with Alpine-powered components that talk to your @app.query endpoints — dropdowns, tables with pagination, forms, live-updating views, and mutation buttons. No JS required.

Routing & MVC

Decorator-based routing with path params. Optional MVC scaffolding via sistine init — models, views, controllers.

Auth & Session

@alpinejs/persist is auto-included. Build login flows with client-side session persistence using $persist().

Installation

pip install sistine

Docs

Full documentation with examples, API reference, and component guides: https://sistine-website.vercel.app

Examples

Check examples/query_showcase.py (all components), examples/auth_demo.py (auth + CRUD), and more in the examples/ folder.

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

sistine-0.3.6.tar.gz (18.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sistine-0.3.6-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

Details for the file sistine-0.3.6.tar.gz.

File metadata

  • Download URL: sistine-0.3.6.tar.gz
  • Upload date:
  • Size: 18.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for sistine-0.3.6.tar.gz
Algorithm Hash digest
SHA256 ffd59f1b6437fb2cce9b11ac9e35c8f8bb3062baf21099fdd2ccf6d70d059a27
MD5 1bfd1a5836147ae8d5eed25ca08f50ed
BLAKE2b-256 30f052f441afde97b2d188151b87e7c6b5c39aeb516771d024961bf2de0e1035

See more details on using hashes here.

File details

Details for the file sistine-0.3.6-py3-none-any.whl.

File metadata

  • Download URL: sistine-0.3.6-py3-none-any.whl
  • Upload date:
  • Size: 18.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for sistine-0.3.6-py3-none-any.whl
Algorithm Hash digest
SHA256 cfd696945a13bab4e20d42c74f31ba63a90a1d4fde4a9752769a01d0c0df0323
MD5 95f7e46e8b25fdc92263c778924deec1
BLAKE2b-256 34bcfaf71859c2c8f72b926a68e97fbae6d0fee61a4f7fe9757f15c377be702f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page