Overview
Concrete tool for detecting, creating, and validating DayZ synthesizer parameters for single-table data provided by the SDV library.
Description
The sdv.single_table.dayz module provides the DayZSynthesizer class for single-table synthetic data generation. In the open-source SDV, only the create_parameters and validate_parameters class methods are publicly available; instantiation raises a SynthesizerInputError directing users to SDV-Enterprise. The create_parameters method detects column-level statistics (missing value proportions, numerical min/max and decimal digits, datetime boundaries, categorical value sets) and table-level statistics (num_rows) from data and metadata. The validate_parameters method validates a parameters dictionary against the metadata schema, checking types, value ranges, and structural correctness.
Usage
Use DayZSynthesizer.create_parameters to automatically detect parameters from data and metadata for DayZ-based synthesis. Use DayZSynthesizer.validate_parameters to validate a parameters dictionary before passing it to SDV-Enterprise. The __init__ method is intentionally blocked in open-source SDV.
Code Reference
Source Location
Signature
class DayZSynthesizer:
"""Single-Table DayZSynthesizer for public SDV."""
def __init__(self, metadata, locales=['en_US']):
# Raises SynthesizerInputError (Enterprise-only)
...
@classmethod
def create_parameters(
cls,
data: pd.DataFrame,
metadata: Metadata,
filepath: str = None,
) -> dict:
"""Create parameters for the DayZ synthesizer."""
...
@staticmethod
def validate_parameters(
metadata: Metadata,
parameters: dict,
) -> None:
"""Validate a DayZSynthesizer parameters dictionary."""
...
Import
from sdv.single_table import DayZSynthesizer
I/O Contract
Inputs (create_parameters)
| Name |
Type |
Required |
Description
|
| data |
pd.DataFrame |
Yes |
Input data for parameter detection
|
| metadata |
Metadata |
Yes |
SDV Metadata describing the table schema
|
| 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, and per-column stats
|
Inputs (validate_parameters)
| Name |
Type |
Required |
Description
|
| metadata |
Metadata |
Yes |
SDV Metadata for the data
|
| parameters |
dict |
Yes |
DayZ parameter dictionary to validate
|
Usage Examples
Creating Parameters
import pandas as pd
from sdv.metadata import Metadata
from sdv.single_table import DayZSynthesizer
# Load data and metadata
data = pd.read_csv('my_table.csv')
metadata = Metadata.detect_from_dataframes({'my_table': data})
# Create DayZ parameters
params = DayZSynthesizer.create_parameters(
data=data,
metadata=metadata,
filepath='dayz_params.json',
)
print(params)
Validating Parameters
from sdv.single_table import DayZSynthesizer
# Validate a parameters dictionary
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.