A Databricks-like interactive display() function for Jupyter Notebooks, AWS Glue, Google Colab, and VS Code.
Project description
dbxplay
A Databricks-like interactive display() function for Jupyter Notebooks, AWS Glue, Google Colab, and VS Code.
Brings the beautiful, interactive table UI from Databricks into any Python notebook environment — with sorting, filtering, searching, customizable X/Y charting, data profiling, context menus, column resizing, CSV/Excel export, and more.
Features
| Feature | Description |
|---|---|
| 🔍 Global Search | Instant full-text search across all columns & values |
| ↕️ Column Sorting | Click column headers to sort ascending/descending |
| 🔽 Column Filtering | Per-column value checkbox dropdowns |
| 📊 Custom Visualization | Customizable X/Y axes & aggregations (COUNT, SUM, AVG, MIN, MAX) |
| 📋 Data Profile | Overview stats & pop-out closeable distribution charts |
| 🎯 Filter by Value | Right-click any cell → "Filter by this value" |
| 🚫 Exclude Value | Right-click → "Exclude this value" |
| 📋 Copy as CSV/TSV/Markdown | Right-click → Copy as → choose format |
| 📥 Download CSV / Excel | Top Table ∨ dropdown → Download |
| 📐 Column Resizing | Drag column borders to resize |
| 📄 Side Panel | Row detail view panel |
| 🔢 Data Type Icons | Automatic type badges (ABC, #, 1.2, T/F, 📅, {}) |
| ✅ Zero Dependencies | Self-contained HTML/CSS/JS — works everywhere |
Installation
pip install dbxplay
Or install locally in editable mode:
pip install -e .
Quick Start
from dbxplay import display
import pandas as pd
df = pd.read_csv("your_data.csv")
display(df)
Supported Data Types
- Pandas DataFrames
- Polars DataFrames
- PySpark DataFrames (auto-limited to prevent OOM)
- Lists of dicts —
[{"a": 1, "b": 2}, ...] - Dicts of lists —
{"a": [1, 2], "b": [3, 4]}
from dbxplay import display
# Basic usage
display(df)
# Stratified sampling across categories (PySpark, Pandas, Polars)
display(df, stratify_by="user_tier")
# With options
display(df, limit=500, title="My Data", height=400, stratify_by="country_code")
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
data |
DataFrame/list/dict | (required) | The data to display |
limit |
int | 1000 | Max rows to render |
title |
str | "Table" | Tab title in the top bar |
height |
int | None | Fixed height in px (auto-sizes to ~520px) |
stratify_by |
str | None | Optional column name to perform stratified sampling across categories |
Context Menu (Right-Click)
Right-click any cell to access:
- Copy (⌘C)
- Copy as → CSV, TSV, Markdown
- Filter by this value
- Exclude this value
- Toggle side panel
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 dbxplay-0.2.0.tar.gz.
File metadata
- Download URL: dbxplay-0.2.0.tar.gz
- Upload date:
- Size: 26.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1ed2bddcb24a1783b13a64ae363be7aa7ed1679c72125ed99de52afee744f02
|
|
| MD5 |
0ab2f02d92daf25077c5b6969127dd38
|
|
| BLAKE2b-256 |
87dea5f53335c8bb82606f92d99f445eba8ce8813e3ec3a6514cbc49a0ca6134
|
File details
Details for the file dbxplay-0.2.0-py3-none-any.whl.
File metadata
- Download URL: dbxplay-0.2.0-py3-none-any.whl
- Upload date:
- Size: 23.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
000954c2173579eb5ba05f1783ed79950a2bdecfd619e10f0d019fb6626b91b7
|
|
| MD5 |
7ac70ca97f47ce4ca6a97036445dfcd7
|
|
| BLAKE2b-256 |
2c02b89d0b1e0642e7406fa2e62a597d78de883a3d069d911f141179c537abae
|