Implementation:Sdv dev SDV BaseConstraint Is Valid
Appearance
| Knowledge Sources | |
|---|---|
| Domains | Data_Quality, Validation |
| Last Updated | 2026-02-14 00:00 GMT |
Overview
Concrete tool for validating synthetic data against constraint definitions, provided by the SDV library.
Description
The BaseConstraint.is_valid method checks whether data rows satisfy the constraint's rules. It accepts either a DataFrame (single-table) or a dictionary of DataFrames (multi-table) and returns a boolean Series indicating row validity.
Usage
Call is_valid on a fitted constraint with synthetic data to check satisfaction.
Code Reference
Source Location
- Repository: SDV
- File: sdv/cag/base.py
- Lines: L305-333
Signature
def is_valid(self, data, metadata=None):
"""Check whether table rows are valid for this constraint.
Args:
data (pd.DataFrame or dict[pd.DataFrame]): Data to validate.
metadata (Metadata or None): Optional metadata (required if not fitted).
Returns:
pd.Series or dict[str, pd.Series]: Boolean values per row.
"""
Import
from sdv.cag import Inequality
# is_valid is called as: constraint.is_valid(synthetic_data)
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| data | pd.DataFrame or dict | Yes | Data to validate |
| metadata | Metadata or None | No | Required if constraint not yet fitted |
Outputs
| Name | Type | Description |
|---|---|---|
| return value | pd.Series or dict[str, pd.Series] | Boolean Series indicating valid rows |
Usage Examples
from sdv.cag import Inequality
constraint = Inequality(
low_column_name='start_date',
high_column_name='end_date',
)
# After fitting the constraint
constraint.fit(data, metadata)
# Validate synthetic data
validity = constraint.is_valid(synthetic_data)
print(f"Valid rows: {validity.sum()} / {len(validity)}")
Related Pages
Implements Principle
Requires Environment
Page Connections
Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment