Skip to main content

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

Project description

BrickflowUI

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.6.tar.gz (864.1 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.6-py3-none-any.whl (805.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: brickflowui-0.1.6.tar.gz
  • Upload date:
  • Size: 864.1 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.6.tar.gz
Algorithm Hash digest
SHA256 d01dafe8f5a68ec73c936b172dce7fdc560bc07c9a8edcad3b331ded2df2c6e1
MD5 2c2ce7a8ef3c137803321d933ec81317
BLAKE2b-256 bb8e3f584689d7164b13b1fdca929cbd28638a0440218dee73b8ea04dda3ec6b

See more details on using hashes here.

Provenance

The following attestation bundles were made for brickflowui-0.1.6.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.6-py3-none-any.whl.

File metadata

  • Download URL: brickflowui-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 805.8 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 2dc94ae42ed19605711de1c63f3b815be623c2435c0812186045b927e5341234
MD5 e88fda12d30d022db4f23aae0df4b0c1
BLAKE2b-256 c6fb209f9f3fca7bcd54e0256664026af063ccf5fb4286a9cda4eed156a11efa

See more details on using hashes here.

Provenance

The following attestation bundles were made for brickflowui-0.1.6-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