Skip to main content

The simplicity of FastHTML with the power of Tailwind

Project description

MonsterUI

MonsterUI is a UI framework for FastHTML for building beautiful web interfaces with minimal code. It combines the simplicity of Python with the power of Tailwind. Perfect for data scientists, ML engineers, and developers who want to quickly turn their Python code into polished web apps without the complexity of traditional UI frameworks. Follows semantic HTML patterns when possible.

MonsterUI adds the following Tailwind-based libraries Franken UI and DaisyUI to FastHTML, as well as Python's Mistletoe for Markdown, HighlightJS for code highlighting, and Katex for latex support.

Getting Started

Installation

To install this library, uses

pip install MonsterUI

Getting Started

TLDR

Run python file.py on this to start:

from fasthtml.common import *
from monsterui.all import *

# Choose a theme color (blue, green, red, etc)
hdrs = Theme.blue.headers()

# Create your app with the theme
app, rt = fast_app(hdrs=hdrs)

@rt
def index():
    socials = (('github','https://github.com/AnswerDotAI/MonsterUI'),
               ('twitter','https://twitter.com/isaac_flath/'),
               ('linkedin','https://www.linkedin.com/in/isaacflath/'))
    return Titled("Your First App",
        Card(
            H1("Welcome!"),
            P("Your first MonsterUI app", cls=TextPresets.muted_sm),
            P("I'm excited to see what you build with MonsterUI!"),
            footer=DivLAligned(*[UkIconLink(icon,href=url) for icon,url in socials])))

serve()

LLM context files

Using LLMs for development is a best practice way to get started and explore. While LLMs cannot code for you, they can be helpful assistants. You must check, refactor, test, and vet any code any LLM generates for you - but they are helpful productivity tools. Take a look inside the llms.txt file to see links to particularly useful context files!

In addition you can add /md (for markdown) to a url to get a markdown representation and /rmd for rendered markdown representation (nice for looking to see what would be put into context.

Step by Step

To get started, check out:

  1. Start by importing the modules as follows:
from fasthtml.common import *
from monsterui.all import *
  1. Instantiate the app with the MonsterUI headers
app = FastHTML(hdrs=Theme.blue.headers())

# Alternatively, using the fast_app method
app, rt = fast_app(hdrs=Theme.slate.headers())

The color option can be any of the theme options available out of the box

katex and highlightjs are not included by default. To include them set katex=True or highlightjs=True when calling .headers. (i.e. Theme.slate.headers(katex=True))*

From here, you can explore the API Reference & examples to see how to implement the components. You can also check out these demo videos to as a quick start guide:

More resources and improvements to the documentation will be added here soon!

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

monsterui-1.0.43.tar.gz (37.4 kB view details)

Uploaded Source

Built Distribution

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

monsterui-1.0.43-py3-none-any.whl (36.6 kB view details)

Uploaded Python 3

File details

Details for the file monsterui-1.0.43.tar.gz.

File metadata

  • Download URL: monsterui-1.0.43.tar.gz
  • Upload date:
  • Size: 37.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for monsterui-1.0.43.tar.gz
Algorithm Hash digest
SHA256 92d11ed32d697a1f586e31d0b8f79f42f7e4f7e86ff6cf38b9e6fe4dcc5df50c
MD5 3c14f8e6609374980ed3483b08987a6d
BLAKE2b-256 139310785ccd63d6e721417962ca87be79caae0360c64786c1f7a62f2e47729c

See more details on using hashes here.

File details

Details for the file monsterui-1.0.43-py3-none-any.whl.

File metadata

  • Download URL: monsterui-1.0.43-py3-none-any.whl
  • Upload date:
  • Size: 36.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for monsterui-1.0.43-py3-none-any.whl
Algorithm Hash digest
SHA256 36dbe9ac0342553e01a2f1f7500855bcc2b54aaef31064f15166a981d46b200c
MD5 36f11fe3e55eba7f79bc8b1381b4bafb
BLAKE2b-256 c1301ab55b74f03cd021cd681ffde1b130dd60af72b3805c9c4be3a08aca3684

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