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.1.0.tar.gz (15.0 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.1.0-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for normalized_schema_generator-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4a6fc4e4f559f83703f9cda40353cf831c7a1303fb8b99370ca052e04f0211a7
MD5 d021ec2bcd4a3aa89413aa2b0ae6c926
BLAKE2b-256 f6da6d84bf64beb4fb32cdb1a55b5415edf1d17c7e195d247f6547bad1aecee3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for normalized_schema_generator-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3f3b055084d7cdb28340d03198b8fb06ce1683dbb1b8a7fd12b370c14a379a48
MD5 59ecffb76c0d115b993cef3a61368a9a
BLAKE2b-256 c919dfa4d8877b9287c8609d16b72b8af583d293ab9cb59730a273262a5c090c

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