Skip to main content

A Databricks-first Python UI framework for building secure dashboards, portals, and web apps with pure Python.

Project description

BrickflowUI

Databricks-first Python UI framework for building dashboards, portals, chatbot workspaces, landing pages, and internal web apps with pure Python.

Canonical package name: brickflowui

Install:

pip install brickflowui

Import:

import brickflowui as db

Documentation:

What BrickflowUI is for

Use BrickflowUI when you want to stay in Python and still ship a serious interactive app.

Good fits:

  • executive dashboards
  • data engineering pipeline portals
  • Databricks App experiences
  • internal ops tools
  • chatbot and copilot UIs
  • product-style landing pages

Why teams use it

  • Python-first authoring model
  • session-scoped reactive state
  • multi-page routing and app shell support
  • built-in tables, forms, overlays, charts, pipeline graphs, workflow boards, and chat patterns
  • packaged frontend assets that work in stricter CSP environments
  • branding and theme tokens for enterprise rollout

Quick start

Scaffold a new app:

brickflowui new my_app
cd my_app
brickflowui dev

Or write one manually:

import brickflowui as db

app = db.App(title="Hello BrickflowUI")

@app.page("/", title="Home")
def home():
    count, set_count = db.use_state(0)
    return db.Column(
        [
            db.Text("Hello BrickflowUI", variant="h1"),
            db.Text(f"Count: {count}"),
            db.Button("Increment", on_click=lambda: set_count(count + 1)),
        ],
        gap=4,
        padding=6,
    )

if __name__ == "__main__":
    app.run()

Core concepts

BrickflowUI works as:

  1. Python page functions produce a VNode tree.
  2. The server serializes that tree and sends it over WebSocket.
  3. The frontend renders it and returns interaction events.
  4. Python handlers update state and trigger rerenders.

This gives you a React-style interaction model without requiring users to write frontend code.

Current component surface

Layout and app structure

  • Column
  • Row
  • Grid
  • Card
  • Divider
  • Spacer
  • Hero
  • SectionHeader
  • StatusStrip

Inputs and overlays

  • Button
  • Input
  • Select
  • Checkbox
  • Toggle
  • Slider
  • DateRangePicker
  • MultiSelect
  • Form
  • Modal
  • Drawer
  • Popup

Data and workflow

  • Table
  • Timeline
  • SparklineStat
  • Stepper
  • KanbanBoard
  • ChatMessage
  • ChatInput
  • PipelineGraph

Charts

  • Plot
  • AreaChart
  • BarChart
  • LineChart
  • DonutChart
  • ScatterChart
  • ComposedChart
  • GaugeChart
  • RadarChart
  • Heatmap
  • FunnelChart
  • TreeMap

Databricks Apps

Use this minimum setup:

requirements.txt

brickflowui>=0.1.6

Install from GitHub instead:

brickflowui @ git+https://github.com/AjayAJ2000/brickflowUI.git@main

app.yaml

command:
  - python
  - app.py

Important packaging rule:

The installed package must contain:

brickflowui/frontend/dist/index.html
brickflowui/frontend/dist/assets/*

If those files are missing, Databricks Apps often stop at the loading shell.

Local development

Framework tests:

python -m pytest -q

Frontend build:

cd frontend
npm run build

Docs build:

python -m mkdocs build

Package build:

python -m build

Repo map

brickflowui/
  app.py
  components.py
  server.py
  state.py
  vdom.py
  frontend/dist/
  cli/
  databricks/

frontend/
  src/
  vite.config.ts

docs/
  learning/
  components/
  ARCHITECTURE.md

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

brickflowui-0.1.7.tar.gz (937.2 kB view details)

Uploaded Source

Built Distribution

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

brickflowui-0.1.7-py3-none-any.whl (859.2 kB view details)

Uploaded Python 3

File details

Details for the file brickflowui-0.1.7.tar.gz.

File metadata

  • Download URL: brickflowui-0.1.7.tar.gz
  • Upload date:
  • Size: 937.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for brickflowui-0.1.7.tar.gz
Algorithm Hash digest
SHA256 95d2802cddeb29ebb84e8e2a7e08da0feaa554c6952bae7113f2549a8d800401
MD5 f4230a2750881b3ab8b3b81ebf0035d1
BLAKE2b-256 ab1c3abef9ec741910c508d896e8d6e2cb0663642226322cfa8b86a9ba0292ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for brickflowui-0.1.7.tar.gz:

Publisher: publish.yml on AjayAJ2000/brickflowUI

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

File details

Details for the file brickflowui-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: brickflowui-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 859.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for brickflowui-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 dac350aa45c05442c16ddb69cb737a8b0e364c155b5ceff3d3d2cb67d94326e2
MD5 38d5758900dcd89a382a62fe70c4c84e
BLAKE2b-256 e16e40dc80fa461c677e65b502ed863064a36fceb11a109cafe8091adc77a848

See more details on using hashes here.

Provenance

The following attestation bundles were made for brickflowui-0.1.7-py3-none-any.whl:

Publisher: publish.yml on AjayAJ2000/brickflowUI

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