Saltar a contenido

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

Bases: DignaModel

A lightweight reference to another resource, as embedded in responses.

id = Field(description='ID of the referenced resource.') class-attribute instance-attribute

name = Field(description='Name of the referenced resource.') class-attribute instance-attribute

DatasetRef pydantic-model

Bases: NamedRef

Reference to a dataset, including its fully-qualified name.

full_name = Field(description='Fully-qualified dataset name (e.g. including its group value).') class-attribute instance-attribute

StatisticRef pydantic-model

Bases: NamedRef

Reference to a statistic.

macro_name = Field(description='The internal macro name used to compute this statistic.') class-attribute instance-attribute

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.

catalog_name = Field(description='Database catalog name.') class-attribute instance-attribute

schema_name = Field(description='Database schema name.') class-attribute instance-attribute

table_name = Field(description='Table or view name.') class-attribute instance-attribute

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

Bases: DignaModel

A check definition generated for an attribute's statistic.

id = Field(description='Check definition ID.') class-attribute instance-attribute

statistic = Field(description='The statistic this check evaluates.') class-attribute instance-attribute

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

Bases: DignaModel

The current lifecycle status of a submitted inspection request.

id = Field(description='Inspection request ID.') class-attribute instance-attribute

status = Field(description='Current lifecycle status.') class-attribute instance-attribute

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.

project = Field(description='The inspected project.') 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