An anywidget for Microsoft Fabric notebooks that visually configures normalized schema JSON for Process Mining data import.
Project description
Normalized Schema Generator
An anywidget-based Jupyter widget for Microsoft Fabric notebooks that visually configures a normalized schema JSON config for Process Mining data import.
Replaces manual JSON authoring by providing dropdowns, toggles, and inline forms to select lakehouses, tables, columns, and FK/PK relationships, then auto-generates the dataSource section of the config.
Install
pip install normalized-schema-generator
Usage
In a Fabric notebook
from normalized_schema_generator import NormalizedSchemaWidget
w = NormalizedSchemaWidget()
w
The widget auto-detects the Fabric environment and populates lakehouses, tables, and columns using notebookutils and Spark.
After configuring your schema, retrieve the generated JSON:
print(w.config_json)
Local development
Outside Fabric, the widget uses mock data automatically — no notebookutils or Spark needed:
pip install normalized-schema-generator jupyterlab
jupyter lab
Features
- Lakehouse selection from the current workspace
- Data source toggle: Delta Tables or Files (CSV / Parquet)
- Events table (required): column checklist with data type badges, include/exclude toggles
- Cases table (optional): same column management, with required Events-to-Cases FK relationship
- Reference management: add/edit/remove FK joins to lookup tables, with target column selection
- Auto-generated JSON: full
inputDataBindingconfig withdataSource, connection properties, and dataset definitions - Copy to clipboard for the generated JSON
- Fluent 2 styling matching the Fabric design language
JSON output
The widget generates a complete normalized import config following the Process Mining Normalized Import specification:
dataSourceSchemaType: 1(Normalized)dataSourceType: 2(OneLake)- Proper
datasets[]with Kind 0 (Event), 1 (Case), 2 (Join) - FK columns excluded from
Columns[](exposed viaJoin[].ExportName) - No nested joins on lookup datasets
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 normalized_schema_generator-0.3.0.tar.gz.
File metadata
- Download URL: normalized_schema_generator-0.3.0.tar.gz
- Upload date:
- Size: 18.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f187c0d6b0c50e73a7781c50fd4aa0ec3a4ddfc9c78717f1d174617ce0720e6
|
|
| MD5 |
b34c50cc11a8d53ea4dac3e0155d9c7a
|
|
| BLAKE2b-256 |
e32d1410d1440e13ac1583a3de090447369c46a926f59c7d57d94bb7a3cb8b7d
|
File details
Details for the file normalized_schema_generator-0.3.0-py3-none-any.whl.
File metadata
- Download URL: normalized_schema_generator-0.3.0-py3-none-any.whl
- Upload date:
- Size: 20.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc02d06e2ab637111ee2ea5780c5b1698ec8461b8d35121bf0b039f478c65980
|
|
| MD5 |
94ff66ad2896ee10ab31df46fd51a018
|
|
| BLAKE2b-256 |
316e772ed5e0189c24a7edf07b619c182cb02a46fe99dd185cfa416212950990
|