_build_pandas_schema_snapshot
Internal helper
This page documents an internal implementation helper, not a primary public API.
Source code in src/fabricops_kit/drift.py
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116 | def _build_pandas_schema_snapshot(df, dataset_name: str, table_name: str) -> dict:
columns = []
for index, column_name in enumerate(df.columns):
data_type = str(df[column_name].dtype)
nullable = bool(df[column_name].isna().any())
ordinal_position = int(index)
columns.append(
{
"column_name": str(column_name),
"ordinal_position": ordinal_position,
"data_type": data_type,
"nullable": nullable,
"column_hash": _column_hash(str(column_name), ordinal_position, data_type, nullable),
}
)
return {
"dataset_name": str(dataset_name),
"table_name": str(table_name),
"engine": "pandas",
"generated_at": datetime.now(timezone.utc).isoformat(),
"columns": columns,
}
|