digna Python SDK Models 2026.06¶
This page documents the primary request and response models used by the digna Python SDK. All payloads are represented as pydantic models imported from digna_sdk.models.
digna_sdk.models ¶
Public, pydantic-based domain models for the Digna SDK.
These mirror the shapes returned by the Digna stable API. They are built by validating the dictionaries produced by the generated (attrs-based) client models, so field names and types match the OpenAPI spec exactly.
NamedRef pydantic-model ¶
DatasetRef pydantic-model ¶
StatisticRef pydantic-model ¶
InspectionMetric pydantic-model ¶
Bases: DignaModel
A generic pass/fail/uncertain test-outcome block used across inspection statuses.
Not every field is populated for every metric kind (e.g. volume checks only set row_count/num_checks, while validation/anomaly checks set num_passed/num_failed/num_uncertain).
num_checks = Field(default=None, description='Total number of checks evaluated.') class-attribute instance-attribute ¶
num_failed = Field(default=None, description='Number of checks that failed.') class-attribute instance-attribute ¶
num_not_relevant = Field(default=None, description='Number of checks that were not relevant/skipped.') class-attribute instance-attribute ¶
num_passed = Field(default=None, description='Number of checks that passed.') class-attribute instance-attribute ¶
num_uncertain = Field(default=None, description='Number of checks with an uncertain outcome.') class-attribute instance-attribute ¶
row_count = Field(default=None, description='Row count observed for this metric.') class-attribute instance-attribute ¶
status = Field(description='Pass/fail/uncertain outcome for this metric.') class-attribute instance-attribute ¶
Project pydantic-model ¶
Bases: DignaModel
A Digna project: the top-level container for data sources and datasets.
db_connections = Field(default=[], description='Database connections available to this project.') class-attribute instance-attribute ¶
description = Field(description='Project description.') class-attribute instance-attribute ¶
id = Field(description='Project ID.') class-attribute instance-attribute ¶
name = Field(description='Project name.') class-attribute instance-attribute ¶
DbConnection pydantic-model ¶
Bases: DignaModel
A configured connection to a customer database.
id = Field(description='Db connection ID.') class-attribute instance-attribute ¶
name = Field(description='Db connection name.') class-attribute instance-attribute ¶
profiling_mode = Field(description='How this connection is used for profiling.') class-attribute instance-attribute ¶
technology = Field(description='The database technology.') class-attribute instance-attribute ¶
work_schema = Field(description="Schema used to store Digna's own working tables.") class-attribute instance-attribute ¶
DataSourceModules pydantic-model ¶
Bases: DignaModel
Which inspection modules are enabled for a data source.
data_analytics = Field(description='Whether data analytics checks are enabled.') class-attribute instance-attribute ¶
data_anomaly = Field(description='Whether data anomaly detection is enabled.') class-attribute instance-attribute ¶
data_validation = Field(description='Whether data validation checks are enabled.') class-attribute instance-attribute ¶
schema_tracker = Field(description='Whether schema change tracking is enabled.') class-attribute instance-attribute ¶
timeliness = Field(description='Whether timeliness/freshness checks are enabled.') class-attribute instance-attribute ¶
DataSourceObject pydantic-model ¶
Bases: DignaModel
The catalog/schema/table location of a data source's underlying data.
DataSource pydantic-model ¶
Bases: DignaModel
A table, view, or query registered with Digna for inspection.
db_connection = Field(description='The database connection used to query this data source.') class-attribute instance-attribute ¶
id = Field(description='Data source ID.') class-attribute instance-attribute ¶
kind = Field(description='Whether this is a table, view, or query.') class-attribute instance-attribute ¶
modules = Field(description='Which inspection modules are enabled.') class-attribute instance-attribute ¶
name = Field(description='Data source name.') class-attribute instance-attribute ¶
object = Field(description='The catalog/schema/table location of the data.') class-attribute instance-attribute ¶
project = Field(description='The project this data source belongs to.') class-attribute instance-attribute ¶
query_mode = Field(description='Whether snapshots are queried individually or combined.') class-attribute instance-attribute ¶
report_empty_datasets = Field(description='Whether datasets that hold no rows are still reported.') class-attribute instance-attribute ¶
snapshot_filter = Field(description='Row filter expression used to select a snapshot.') class-attribute instance-attribute ¶
snapshot_query = Field(description='Custom query used instead of `object` when `kind` is `QUERY`.') class-attribute instance-attribute ¶
DataSet pydantic-model ¶
Bases: DignaModel
A named subset of a data source, defined by filter/grouping expressions.
data_source = Field(description='The data source this dataset is derived from.') class-attribute instance-attribute ¶
filter_expression = Field(description='Row filter expression applied to the data source.') class-attribute instance-attribute ¶
grouping_expression = Field(description='Grouping expression used to split the data source into datasets.') class-attribute instance-attribute ¶
id = Field(description='Data set ID.') class-attribute instance-attribute ¶
kind = Field(description='Whether the dataset is static, dynamic, or hybrid.') class-attribute instance-attribute ¶
name = Field(description='Data set name.') class-attribute instance-attribute ¶
project = Field(description='The project this dataset belongs to.') class-attribute instance-attribute ¶
AttributeCheckDefinition pydantic-model ¶
Attribute pydantic-model ¶
Bases: DignaModel
A monitored column of a data source.
category = Field(description="How the attribute's values should be treated statistically.") class-attribute instance-attribute ¶
check_definitions = Field(default=[], description="Check definitions generated for this attribute's statistics.") class-attribute instance-attribute ¶
data_source = Field(description='The data source this attribute belongs to.') class-attribute instance-attribute ¶
data_type = Field(description='The underlying column data type (e.g. `double precision`).') class-attribute instance-attribute ¶
id = Field(description='Attribute ID.') class-attribute instance-attribute ¶
name = Field(description='Attribute name.') class-attribute instance-attribute ¶
project = Field(description='The project this attribute belongs to.') class-attribute instance-attribute ¶
CheckDefinition pydantic-model ¶
Bases: DignaModel
A single automated check (e.g. row count, anomaly detection) on a data source or attribute.
attribute = Field(default=None, description='The attribute this check applies to, if any (`None` for data-source-level checks).') class-attribute instance-attribute ¶
data_anomaly_enabled = Field(description='Whether anomaly detection is enabled for this check.') class-attribute instance-attribute ¶
data_source = Field(description='The data source this check runs against.') class-attribute instance-attribute ¶
id = Field(description='Check definition ID.') class-attribute instance-attribute ¶
lower_limit = Field(default=None, description='Fixed lower threshold, if configured.') class-attribute instance-attribute ¶
max_threshold = Field(default=None, description='Maximum acceptable value learned/configured for anomaly detection.') class-attribute instance-attribute ¶
min_threshold = Field(default=None, description='Minimum acceptable value learned/configured for anomaly detection.') class-attribute instance-attribute ¶
project = Field(description='The project this check belongs to.') class-attribute instance-attribute ¶
statistic = Field(description='The statistic this check evaluates.') class-attribute instance-attribute ¶
upper_limit = Field(default=None, description='Fixed upper threshold, if configured.') class-attribute instance-attribute ¶
InspectionRequestStatus pydantic-model ¶
SubmittedInspectionRequest pydantic-model ¶
Bases: DignaModel
The identifier returned after submitting a new inspection request.
id = Field(description='Inspection request ID, used to poll `get_status`.') class-attribute instance-attribute ¶
DatasetInspectionStatus pydantic-model ¶
Bases: DignaModel
The inspection outcome for a single dataset on a single day.
data_analytics_status = Field(default=None, description='Data analytics check outcome, if evaluated.') class-attribute instance-attribute ¶
data_anomaly_status = Field(default=None, description='Anomaly detection outcome, if evaluated.') class-attribute instance-attribute ¶
data_source = Field(description='The data source the dataset belongs to.') class-attribute instance-attribute ¶
data_validation_status = Field(default=None, description='Data validation check outcome, if evaluated.') class-attribute instance-attribute ¶
data_volume_status = Field(default=None, description='Row-count/volume check outcome, if evaluated.') class-attribute instance-attribute ¶
dataset = Field(description='The inspected dataset.') class-attribute instance-attribute ¶
dataset_definition = Field(description='The dataset definition that produced this dataset.') class-attribute instance-attribute ¶
project = Field(description='The project the dataset belongs to.') class-attribute instance-attribute ¶
status = Field(description='Overall inspection status for this day.') class-attribute instance-attribute ¶
valid_date = Field(description='The day this status applies to.') class-attribute instance-attribute ¶
DataSourceInspectionStatus pydantic-model ¶
Bases: DignaModel
The inspection outcome for a whole data source on a single day.
data_analytics_status = Field(default=None, description='Data analytics check outcome, if evaluated.') class-attribute instance-attribute ¶
data_anomaly_status = Field(default=None, description='Anomaly detection outcome, if evaluated.') class-attribute instance-attribute ¶
data_source = Field(description='The inspected data source.') class-attribute instance-attribute ¶
data_validation_status = Field(default=None, description='Data validation check outcome, if evaluated.') class-attribute instance-attribute ¶
data_volume_status = Field(default=None, description='Row-count/volume check outcome, if evaluated.') class-attribute instance-attribute ¶
inspected_at = Field(default=None, description='When the inspection ran, if it was inspected.') class-attribute instance-attribute ¶
is_inspected = Field(description='Whether the data source was actually inspected on this day.') class-attribute instance-attribute ¶
project = Field(description='The project the data source belongs to.') class-attribute instance-attribute ¶
row_count = Field(default=None, description='Rows the data source held on `valid_date`, `None` for a date it was not profiled on.') class-attribute instance-attribute ¶
status = Field(description='Overall inspection status for this day.') class-attribute instance-attribute ¶
valid_date = Field(description='The day this status applies to.') class-attribute instance-attribute ¶
ProjectInspectionStatus pydantic-model ¶
Bases: DignaModel
The aggregate inspection outcome for a whole project on a single day.