Skip to main content

Frontend module for myfy with Tailwind 4, DaisyUI 5, and Vite

Project description

myfy-frontend

Frontend module for myfy with Tailwind 4, DaisyUI 5, Vite, and Jinja2.

Features

  • ๐ŸŽจ DaisyUI 5 - Complete component library
  • โšก Tailwind 4 - Native CSS engine, faster builds
  • ๐Ÿ”ฅ Vite - Lightning-fast HMR and bundling
  • ๐Ÿ“ Jinja2 - Server-side template rendering
  • ๐ŸŒ— Dark Mode - Built-in theme switcher
  • ๐Ÿš€ Zero Config - Works out of the box

Installation

pip install myfy-frontend

Quick Start

from myfy.core import Application
from myfy.web import WebModule
from myfy.frontend import FrontendModule, render_template
from myfy.web import route

# Add the frontend module
app = Application(auto_discover=False)
app.add_module(WebModule())
app.add_module(FrontendModule())

# Create a route
@route.get("/")
async def home():
    return render_template("home.html", title="Welcome")

What Happens on First Run

  1. Detects missing frontend/ directory
  2. Copies template files and configurations
  3. Installs Node.js dependencies (Tailwind 4, DaisyUI 5, Vite)
  4. Starts Vite dev server
  5. Ready to use!

Project Structure (After Init)

your-project/
โ”œโ”€โ”€ frontend/
โ”‚   โ”œโ”€โ”€ css/
โ”‚   โ”‚   โ””โ”€โ”€ input.css          # Tailwind imports
โ”‚   โ”œโ”€โ”€ js/
โ”‚   โ”‚   โ”œโ”€โ”€ main.js
โ”‚   โ”‚   โ””โ”€โ”€ theme-switcher.js
โ”‚   โ”œโ”€โ”€ templates/
โ”‚   โ”‚   โ”œโ”€โ”€ base.html          # Base layout
โ”‚   โ”‚   โ””โ”€โ”€ components/        # DaisyUI macros
โ”‚   โ””โ”€โ”€ static/
โ”‚       โ””โ”€โ”€ dist/              # Built assets (gitignored)
โ”œโ”€โ”€ package.json
โ”œโ”€โ”€ vite.config.js
โ””โ”€โ”€ app.py

Creating Templates

{% extends "base.html" %}
{% from "components/navbar.html" import navbar %}

{% block content %}
{{ navbar(logo="MyApp") }}

<div class="hero min-h-screen bg-base-200">
  <div class="hero-content text-center">
    <h1 class="text-5xl font-bold">Hello DaisyUI 5!</h1>
    <button class="btn btn-primary">Get Started</button>
  </div>
</div>
{% endblock %}

Development vs Production

Development:

  • Vite dev server on localhost:3001
  • Hot module replacement (HMR)
  • Auto-reload on template changes

Production:

  • Optimized CSS/JS bundles
  • Asset hashing for cache busting
  • Gzip compression

CLI Commands

# Initialize frontend (manual)
uv run myfy frontend init

# Build for production
uv run myfy frontend build

# Start dev server
uv run myfy frontend dev

License

MIT

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

myfy_frontend-0.1.2a84.tar.gz (20.2 kB view details)

Uploaded Source

Built Distribution

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

myfy_frontend-0.1.2a84-py3-none-any.whl (27.7 kB view details)

Uploaded Python 3

File details

Details for the file myfy_frontend-0.1.2a84.tar.gz.

File metadata

  • Download URL: myfy_frontend-0.1.2a84.tar.gz
  • Upload date:
  • Size: 20.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for myfy_frontend-0.1.2a84.tar.gz
Algorithm Hash digest
SHA256 bea0eff085dcb2cb2b253a77bceb618f61cfd444a40c48e5ff17155a35fcad41
MD5 92e9483150377ae93317ebcad7191af3
BLAKE2b-256 26d9aabf58ee05327a5cee9b1961341bcde804f51b7db5624d2734aa77569cd5

See more details on using hashes here.

Provenance

The following attestation bundles were made for myfy_frontend-0.1.2a84.tar.gz:

Publisher: publish.yml on psincraian/myfy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file myfy_frontend-0.1.2a84-py3-none-any.whl.

File metadata

File hashes

Hashes for myfy_frontend-0.1.2a84-py3-none-any.whl
Algorithm Hash digest
SHA256 79cbadc1f7a1df854f50bdb4999dea7a462e8a3f06a69dde705834b15b0a1b24
MD5 40661b0b6049a4aea1806cd8c107b0d2
BLAKE2b-256 a8a936b159aa2119ea551bc5c8ffeb433bde6e71e17305442d5d01df3ad4af43

See more details on using hashes here.

Provenance

The following attestation bundles were made for myfy_frontend-0.1.2a84-py3-none-any.whl:

Publisher: publish.yml on psincraian/myfy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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