Implementation:Sdv dev SDV BaseSynthesizer Add Constraints
Appearance
| Knowledge Sources | |
|---|---|
| Domains | Data_Quality, Synthetic_Data |
| Last Updated | 2026-02-14 00:00 GMT |
Overview
Concrete tool for registering constraint objects with a synthesizer, provided by the SDV library.
Description
The BaseSynthesizer.add_constraints method accepts a list of constraint objects, classifies each as chained or reject-sampling, wraps ProgrammableConstraint instances, and updates the synthesizer's metadata and DataProcessor.
Usage
Call on a synthesizer before fitting with a list of constraint objects.
Code Reference
Source Location
- Repository: SDV
- File: sdv/single_table/base.py
- Lines: L450-483
Signature
def add_constraints(self, constraints):
"""Add constraint-augmented generation constraints to the synthesizer.
Args:
constraints (list): List of constraint objects.
"""
Import
from sdv.single_table import GaussianCopulaSynthesizer
# add_constraints is called as: synthesizer.add_constraints([constraint1, constraint2])
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| constraints | list | Yes | List of BaseConstraint or ProgrammableConstraint instances |
Outputs
| Name | Type | Description |
|---|---|---|
| (mutates self) | None | Registers constraints; updates metadata and DataProcessor |
Usage Examples
from sdv.cag import Inequality, FixedCombinations
constraints = [
Inequality(low_column_name='start_date', high_column_name='end_date'),
FixedCombinations(column_names=['country', 'city']),
]
synthesizer.add_constraints(constraints)
synthesizer.fit(data)
Related Pages
Implements Principle
Requires Environment
Page Connections
Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment