Metadata API#
Metadata classes define the structure of data assets and columns.
AssetMetadata#
- class wxdi.dq_validator.metadata.AssetMetadata(table_name: str, columns: List[ColumnMetadata])#
Bases:
objectMetadata for a data asset (table)
Initialize asset metadata
- Parameters:
table_name (
str) – Name of the table/assetcolumns (
List[ColumnMetadata]) – List of column metadata in order
- Raises:
ValueError – If columns list is empty or contains duplicate names
- get_column_index(column_name: str)#
Get array index for a column name
- Parameters:
column_name (
str) – Name of the column- Return type:
- Returns:
Index of the column in the record array
- Raises:
ValueError – If column name not found
- get_column(column_name: str)#
Get column metadata by name
- Parameters:
column_name (
str) – Name of the column- Return type:
- Returns:
ColumnMetadata object
- Raises:
ValueError – If column name not found
- get_value(record: List[Any], column_name: str)#
Extract value from record array by column name
- Parameters:
- Return type:
- Returns:
Value at the column’s position
- Raises:
ValueError – If column not found or record too short
ColumnMetadata#
- class wxdi.dq_validator.metadata.ColumnMetadata(name: str, data_type: DataType, length: int | None = None, scale: int | None = None, precision: int | None = None, nullable: bool = True)#
Bases:
objectMetadata for a single column
Initialize column metadata
- Parameters:
name (
str) – Column namedata_type (
DataType) – Data type from DataType enumlength (
int|None, default:None) – Maximum length (for strings)scale (
int|None, default:None) – Number of digits after decimal (for decimals)precision (
int|None, default:None) – Total number of digits (for decimals)nullable (
bool, default:True) – Whether column can be null
DataType#
DataTypeEnum#
Usage Examples#
See Core Concepts for detailed usage examples.