Version 2.0.0 — Official Stable Release

Write Declarative UIs
Without Writing CSS

Pup9191 is a Zero-CSS declarative UI programming language. Describe your interface, and let the compiler generate clean HTML, CSS, and JavaScript.

What's New in Version 2

A complete reimagining of the language with zero-default CSS, advanced layout engine, animations, and 100% backward compatibility.

Core Architecture

Zero-Default-Style Engine

Pure structural HTML output. No injected CSS gradients, rounded cards, or Arial fonts. You control every pixel.

16 Components

Complete Component Suite

Text, Button, Input, Textarea, Checkbox, Switch, Radio, Select, Image, Avatar, Progress, Divider, Icon, Spacer, Card, Box — all with flexible declaration forms.

Layout Engine

Grid, Flex, Stack & Container

Pup9191Row, Pup9191Column, Pup9191Grid, Pup9191Stack, and Pup9191Container for professional layout control.

Animations

Keyframe Animation Suite

11 animation types: fade, scale, rotate, slide, bounce, zoom, pulse, flip, plus timing, delay, repeat controls.

Multi-Page Router

Declarative Routing System

Pup9191Router, Pup9191Route, Pup9191NavLink with hash-based navigation and event handlers.

Control Flow

If/ElseIf/Else, For Loops, While, ForEach

Full control flow with conditionals, ranges, iterations, and event-driven actions.

Four-Stage Compilation

From source code to production HTML in milliseconds. The entire pipeline is optimized for speed.

01

Lexical Analysis

Tokenization of source code into keywords, strings, numbers, symbols

02

Syntax Analysis

Building an Abstract Syntax Tree (AST) from the token stream

03

Code Generation

Transforming AST into HTML, CSS keyframes, and reactive JS runtime

04

Output Generation

Writing the final HTML file with inline styles and JavaScript bundle

0
Compilation Stages
0
UI Components
0
Animation Types
0
ms Compilation*

See Real Syntax

Genuine Pup9191 code examples from the project. Every example compiles to clean HTML.

hello.pup9191
Pup9191 {
    Pup9191Card {
        width 450
        padding 30
        round 20
        shadow
        background "#ffffff"
        align center

        Pup9191Text "Hello World" {
            color "#667eea"
            size 36
            bold
            animate fade
        }

        Pup9191Button "Get Started" {
            background "#667eea"
            color white
            round 10
            animate bounce
        }
    }
}
Generated Output
Hello World
Welcome to Pup9191 Version 2.0!

Everything You Need to Build UI

Pup9191 gives you a complete toolkit for building modern web interfaces — all from a single declarative language.

Zero-CSS Architecture

Outputs pure, unstyled HTML5 structure. Only generates CSS when you explicitly declare styles. No bloat, no surprises.

16 UI Components

Text, Button, Input, Textarea, Checkbox, Switch, Radio, Select, Image, Avatar, Progress, Divider, Icon, Spacer, Card, Box.

Grid & Flex Layout

Row, Column, Grid, Stack, and Container layouts with gap, alignment, wrapping, and responsive grid columns.

11 Animations

Fade, scale, rotate, slide (4 directions), bounce, zoom, pulse, flip. Full timing control with duration, delay, repeat, and easing.

Multi-Page Router

Built-in hash-based routing with Pup9191Router, Pup9191Route, Pup9191NavLink, and navigation actions.

Rich Control Flow

If/ElseIf/Else, For loops over ranges, While, ForEach, event handlers (Click, onInput, onChange, onFocus, onBlur, onKeyDown, onMouseOver).

Explore the Language Reference

Comprehensive documentation covering every component, layout, and feature.

Language Reference

Getting Started
Components
Layout
Animations
Routing
Control Flow
CLI Reference

Getting Started with Pup9191

A Pup9191 application starts with the root Pup9191 { ... } block. Inside, you declare components using a clean, readable syntax.

Pup9191 {
    // Declare variables
    let username = "Alex"

    Pup9191Text "Hello, " + username {
        color "#2563eb"
        size 32
        bold
    }

    Pup9191Button "Submit" Pup9191Click {
        set status = "submitted"
    }
}

All 16 components support flexible declaration forms (0-2 arguments), automatic state management, and inline style declarations with unquoted hex color support.

Component Description Example
Pup9191TextDisplays text contentPup9191Text "Hello"
Pup9191ButtonInteractive buttonPup9191Button "Submit"
Pup9191InputText input boxPup9191Input "Enter Name"
Pup9191GridMulti-column gridPup9191Grid { columns 3 }
Pup9191CardContent card containerPup9191Card { ... }
Pup9191IconVector SVG iconPup9191Icon "star"
Read Full Documentation

Download Pup9191

Start with the latest stable release for new projects, or browse prior versions when you need compatibility and historical access.

Previous Releases

Version 1

Legacy release kept available for historical use and older compatibility scenarios.

Download v1.0.0

What's Next

The journey continues. Here's what we're working on for the future of Pup9191.

Released

Version 1.0.0 — Initial Prototype

Basic single-page rendering with primitive text, button, and input components. Early CLI commands (pup build, pup run).

Released · July 2026

Version 2.0.0 — Official Stable Release

Zero-default CSS engine, 16 components, grid/flex layout, multi-page router, keyframe animations, rich error diagnostics, Windows installer. 100% backward compatible.

Current

Version 2.x — Maintenance Mode

Active maintenance with focus on performance optimizations, bug fixes, and editor tooling. Syntax and compiler runtime frozen for stability.

On the Horizon

Tooling & Ecosystem

Official VS Code extension with syntax highlighting, snippet library, bracket matching, comment toggling, auto-closing pairs, and formatting support. Package ecosystem exploration.