A Databricks-first Python UI framework for building secure dashboards, portals, and web apps with pure Python.
Project description
BrickflowUI
BrickflowUI is a Python-first app framework for building dashboards, portals, copilots, landing pages, and secure internal tools with a real frontend runtime behind the scenes.
It is aimed at teams that want to stay in Python while still shipping application surfaces that feel structured, branded, and product-grade.
At a glance
- Python-first authoring
- dashboards, portals, copilots, and internal tools
- Databricks-friendly deployment
- product-style layouts and workflows
- Lucide icon support across navigation and interactive surfaces
- theming, branding, loading screens, and media support
- documentation and examples built for real teams
Canonical package name: brickflowui
Who it is for
BrickflowUI is a strong fit for:
- data platform teams
- AI application teams
- analytics engineering teams
- internal tools teams
- enterprise engineering groups working on dashboards and portals
- Python teams that want richer UI outcomes without maintaining a separate frontend stack
Who it is not for
BrickflowUI may not be the right fit if:
- you want a pure frontend framework with full hand-authored React ownership
- you only need a quick notebook demo and do not care about product polish
- your team already has a strong dedicated frontend workflow and wants full JS/TS control everywhere
Why it exists
Many Python UI frameworks are great for fast demos, but they start to feel restrictive when teams need:
- stronger layout control
- responsive app shells
- better branding
- auth-aware navigation
- workflow-heavy interfaces
- more serious product presentation
BrickflowUI is built for that next step: keeping teams in Python while giving them room to ship applications that feel closer to real product surfaces.
What you can build
- executive dashboards
- analytics command centers
- data engineering pipeline portals
- Databricks Apps
- secure internal operations tools
- chatbot and copilot workspaces
- landing pages and internal product sites
What makes it different
- Python-first component authoring with
import brickflowui as db - session-scoped reactive state
- multi-page routing and shell patterns
- built-in layouts, forms, overlays, media, tables, charts, workflow components, and chat patterns
- open-source Lucide icon support for navigation, buttons, and shell elements
- light/dark theming, branding tokens, and loading-screen customization
- packaged frontend assets that work in stricter environments like Databricks Apps
- examples and docs aimed at real teams, not just toy demos
Product shape
Install
pip install brickflowui
Optional extras:
pip install "brickflowui[databricks]"
pip install "brickflowui[viz]"
pip install "brickflowui[databricks,viz]"
Import:
import brickflowui as db
First app
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()
Run it:
python app.py
Quick start workflow
Scaffold a new app:
brickflowui new my_app
cd my_app
brickflowui dev
If the CLI entrypoint is not available yet:
python -m brickflowui.cli.main new my_app
Runtime model
BrickflowUI works like this:
- Python page functions produce a
VNodetree. - The server serializes that tree and sends it to the frontend runtime.
- The frontend renders the UI and sends interaction events back.
- Python handlers update state and trigger rerenders.
That gives you a React-style interaction loop while keeping the authoring model in Python.
Component surface
Layout and shell
ColumnRowGridCardHeroSectionHeaderStatusStripDividerSpacerSidebarTopNavBreadcrumbs
Inputs, forms, and overlays
ButtonInputSelectMultiSelectCheckboxToggleSliderDateRangePickerFormModalDrawerPopup
Data, workflow, and chat
TableTimelineSparklineStatStepperKanbanBoardPipelineGraphChatMessageChatInput
Charts and visualization
PlotAreaChartBarChartLineChartDonutChartScatterChartComposedChartGaugeChartRadarChartHeatmapFunnelChartTreeMap
Media and embeds
ImageVideoEmbed
Databricks Apps
Minimum requirements.txt:
brickflowui>=0.1.13
Install from GitHub:
brickflowui @ git+https://github.com/AjayAJ2000/brickflowUI.git@main
Minimum app.yaml:
command:
- python
- app.py
Packaging rule:
The installed package must include:
If those assets are missing, Databricks Apps often stop at the loading shell.
Documentation
Recommended examples
examples/local_playground/app.pyfor framework validationexamples/component_studio/app.pyfor broad component coverageexamples/acme_analytics_command_center/app.pyfor a product-style shellexamples/clinical_trial_command_center/app.pyfor a regulated-industry style dashboardexamples/secure_internal_tools/app.pyfor role-aware internal tools
Vibe coding skills
The repo now includes reusable skill files for AI coding tools that help keep generated BrickflowUI apps aligned with the framework's strengths.
skills/brickflowui-app-starter/SKILL.mdskills/brickflowui-data-ai-portal/SKILL.mdskills/brickflowui-polish-and-qa/SKILL.mdskills/brickflowui-databricks-delivery/SKILL.md
Docs walkthrough:
Local development
Run the core checks:
cd frontend
npm ci
npm test -- --run
npm run lint
npm audit --audit-level=high
npm run build
cd ..
python -m pytest -q -p no:cacheprovider
python -m mkdocs build --strict
python -m build
See the Stability Contract, Release Checklist, and Publishing Guide before cutting a release.
Open source standards
Repository map
brickflowui/
app.py
components.py
server.py
state.py
theme.py
version.py
frontend/dist/
cli/
databricks/
frontend/
src/
vite.config.ts
docs/
learning/
components/
ARCHITECTURE.md
EXAMPLES.md
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file brickflowui-0.1.13.tar.gz.
File metadata
- Download URL: brickflowui-0.1.13.tar.gz
- Upload date:
- Size: 2.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bad09c35bb7a415b8dfa6597fb1ae57280631000a18e51f77449b1eae3426854
|
|
| MD5 |
4870b3a06d41386168bb6b78f8056720
|
|
| BLAKE2b-256 |
22b2a6002f0dfd8609906402526db664ba1ba755c6279dc7ee20d3553557954e
|
Provenance
The following attestation bundles were made for brickflowui-0.1.13.tar.gz:
Publisher:
publish.yml on AjayAJ2000/brickflowUI
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
brickflowui-0.1.13.tar.gz -
Subject digest:
bad09c35bb7a415b8dfa6597fb1ae57280631000a18e51f77449b1eae3426854 - Sigstore transparency entry: 2012783898
- Sigstore integration time:
-
Permalink:
AjayAJ2000/brickflowUI@274600b30d2eb4b92f3e7b1d4b9d2752e02fa6dd -
Branch / Tag:
refs/tags/v0.1.13 - Owner: https://github.com/AjayAJ2000
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@274600b30d2eb4b92f3e7b1d4b9d2752e02fa6dd -
Trigger Event:
release
-
Statement type:
File details
Details for the file brickflowui-0.1.13-py3-none-any.whl.
File metadata
- Download URL: brickflowui-0.1.13-py3-none-any.whl
- Upload date:
- Size: 1.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e551eb490f1eba0a90c295a85847ca91f3a3f90f48b1bc8a837ffd05dae5ab6
|
|
| MD5 |
4f412a706c3f0fa77f30602ceccc0f3e
|
|
| BLAKE2b-256 |
5acc414ef1d9f68a1354cd6fe7685987976819527be0e2db6ac9dfb3187887d8
|
Provenance
The following attestation bundles were made for brickflowui-0.1.13-py3-none-any.whl:
Publisher:
publish.yml on AjayAJ2000/brickflowUI
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
brickflowui-0.1.13-py3-none-any.whl -
Subject digest:
6e551eb490f1eba0a90c295a85847ca91f3a3f90f48b1bc8a837ffd05dae5ab6 - Sigstore transparency entry: 2012784001
- Sigstore integration time:
-
Permalink:
AjayAJ2000/brickflowUI@274600b30d2eb4b92f3e7b1d4b9d2752e02fa6dd -
Branch / Tag:
refs/tags/v0.1.13 - Owner: https://github.com/AjayAJ2000
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@274600b30d2eb4b92f3e7b1d4b9d2752e02fa6dd -
Trigger Event:
release
-
Statement type: