Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:Sdv dev SDV DayZSynthesizer Multi Table

From Leeroopedia
Knowledge Sources
Domains Synthetic_Data, Multi_Table, Parameter_Detection
Last Updated 2026-02-14 19:00 GMT

Overview

Concrete tool for detecting, creating, and validating DayZ synthesizer parameters for multi-table relational data provided by the SDV library.

Description

The sdv.multi_table.dayz module provides the multi-table variant of DayZSynthesizer. Like its single-table counterpart, only create_parameters and validate_parameters are publicly available in open-source SDV; instantiation raises SynthesizerInputError. The multi-table version extends parameter detection to include relationship-level parameters (min/max cardinality between parent and child tables). Validation additionally checks relationship structure, cardinality bounds, and consistency between table num_rows and cardinality constraints.

Usage

Use DayZSynthesizer.create_parameters (from sdv.multi_table) when working with multi-table relational datasets. The method detects per-table column statistics and relationship cardinality parameters from the data and metadata. Use validate_parameters to validate a multi-table parameter dictionary before passing to SDV-Enterprise.

Code Reference

Source Location

Signature

class DayZSynthesizer:
    """Multi-Table DayZSynthesizer for public SDV."""

    def __init__(self, metadata, locales=['en_US']):
        # Raises SynthesizerInputError (Enterprise-only)
        ...

    @classmethod
    def create_parameters(
        cls,
        data: dict,
        metadata: Metadata,
        filepath: str = None,
    ) -> dict:
        """Create parameters for the multi-table DayZSynthesizer."""
        ...

    @staticmethod
    def validate_parameters(
        metadata: Metadata,
        parameters: dict,
    ) -> None:
        """Validate a DayZSynthesizer parameters dictionary."""
        ...

Import

from sdv.multi_table import DayZSynthesizer

I/O Contract

Inputs (create_parameters)

Name Type Required Description
data dict[str, pd.DataFrame] Yes Dictionary mapping table names to DataFrames
metadata Metadata Yes SDV Metadata describing the multi-table schema and relationships
filepath str No If provided, writes parameters as JSON to this path

Outputs (create_parameters)

Name Type Description
parameters dict DayZ parameter dict with DAYZ_SPEC_VERSION, tables (per-table stats), and relationships (cardinality)

Inputs (validate_parameters)

Name Type Required Description
metadata Metadata Yes SDV Metadata for the multi-table data
parameters dict Yes DayZ parameter dictionary to validate

Usage Examples

Creating Multi-Table Parameters

from sdv.datasets.demo import download_demo
from sdv.multi_table import DayZSynthesizer

# Load multi-table demo data
data, metadata = download_demo(modality='multi_table', dataset_name='fake_hotels')

# Create DayZ parameters
params = DayZSynthesizer.create_parameters(
    data=data,
    metadata=metadata,
    filepath='multi_table_params.json',
)
print(params['relationships'])
# Shows min_cardinality, max_cardinality for each relationship

Validating Multi-Table Parameters

from sdv.multi_table import DayZSynthesizer

# Validate parameters against metadata
DayZSynthesizer.validate_parameters(
    metadata=metadata,
    parameters=params,
)
# No error means parameters are valid

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment