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.
<c-lb.button
variant="primary"
icon="rmx.terminal"
size="lg"
class="shadow-xl"
>
pip install labbui
</c-lb.button>
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
labbiconspackage - Theme Support — Light, dark, and custom themes out of the box
- Zero Config —
labb init --defaultsand you're ready to go - No JavaScript Build Step — Components work without JavaScript by default
- Opt-in Reactivity — Alpine.js-powered
.xvariants for runtime prop changes, zero overhead on pages that don't use them - CLI Tool —
labbcommand 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.