Check out BugBytes overview of labb

Introduction

labb is a Django UI component library: build interfaces with django-cotton, Tailwind CSS, and daisyUI 5. Server-rendered HTML, optional Alpine.js, 50+ components.

labb is a Django component library that lets you build beautiful interfaces using simple, HTML-like syntax. Write <c-lb.button> instead of complex template tags. Build professional UIs in minutes, not hours.

Why labb?

Simple Syntax — Components look like HTML, not Django template tags. Clean, readable, and intuitive.

Backend Rendered — Server-side rendering means fast page loads, perfect SEO, and zero JavaScript overhead.

Familiar Tooling — Built on Django Cotton with daisyUI 5 styling. Accessible, customizable, and extensible.

Developer Friendly — Powerful CLI for setup, component inspection, and AI-assisted development. Works seamlessly with Cursor, VSCode Copilot, and other AI tools.

Reactive When You Need It — Components are zero-JS by default. Add Alpine.js interactivity with .x variants on a per-component basis. No bundler, no build step, nothing loads unless you use it.

Django UI Components Included

  • 50+ Components — Buttons, cards, modals, drawers, forms, and more
  • Extensive examples — Each component has multiple examples with different variations and use cases
  • Icon Libraries — 2,800+ Remix icons and more via optional labbicons package
  • Theme Support — Light, dark, and custom themes out of the box
  • Zero Config — labb init --defaults and you're ready to go
  • No JavaScript Build Step — Components work without JavaScript by default
  • Opt-in Reactivity — Alpine.js-powered .x variants for runtime prop changes, zero overhead on pages that don't use them
  • CLI Tool — labb command for project setup, component inspection, and AI-assisted development

Coming Soon

  • IDE extensions for autocomplete and documentation
  • More icon packs
  • Starter kits, blocks and templates.