Skip to main content

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 inputDataBinding config with dataSource, 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 via Join[].ExportName)
  • No nested joins on lookup datasets

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

normalized_schema_generator-0.2.0.tar.gz (15.9 kB view details)

Uploaded Source

Built Distribution

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

normalized_schema_generator-0.2.0-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file normalized_schema_generator-0.2.0.tar.gz.

File metadata

File hashes

Hashes for normalized_schema_generator-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a9546bda2d7645ebcef69c15c5578a17952acd60984889ca12e243f236c16a80
MD5 ef36c6cc33532de3aa1f467eb5aa2614
BLAKE2b-256 6d3d15cf9c2c71a14bb1e1b82dde5eb7e92b1d4df065320a20e988e58f5275f2

See more details on using hashes here.

File details

Details for the file normalized_schema_generator-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for normalized_schema_generator-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 df1b500af07df9f2406868bb2e24c73cec185d0bc2cc762f686a794c3d91e6a8
MD5 7dfee7bf3b3fc5f626944811f95a8e52
BLAKE2b-256 71a503e542a59bf31cddf454ef1160617595f808444fb0efed339d8c6208a05a

See more details on using hashes here.

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