Rychlý start digna Python SDK 2026.06¶
Tato stránka ukazuje minimální nastavení a základní pracovní postupy klienta Python SDK digna. Použijte ji jako výchozí bod, než přejdete na referenční stránky o zdrojích, modelech a chybách.
Vytvoření klíče API¶
Před připojením pomocí SDK vytvořte v rozhraní digna klíč API:
- Přihlaste se do digna v rozhraní.
- V levém dolním rohu otevřete svůj uživatelský profil.
- V uživatelském profilu klikněte na API Keys.
- Klikněte na Add API Key.
- Zadejte srozumitelný název a nastavte datum vypršení platnosti. Klíč API můžete kdykoli odvolat nebo smazat.
- Zkopírujte zobrazený klíč API do schránky. Klíč se zobrazí pouze při vytvoření.
Použijte klíč API jako token SDK. Vhodné způsoby, jak jej předat aplikaci:
- Proměnná prostředí, například
DIGNA_API_KEY, pro lokální vývoj a automatizaci. - Úložiště tajemství vašeho CI/CD, například tajemství GitHub Actions, proměnné CI/CD v GitLabu nebo tajné proměnné Azure DevOps.
- Správce tajemství za běhu, například tajemství Kubernetes, tajemství Dockeru, HashiCorp Vault nebo úložiště tajemství poskytovatele cloudu.
Nezapisujte klíče API napevno do zdrojového kódu, notebooků, historie shellu ani do konfiguračních souborů uložených ve verzovacím systému.
Připojení¶
import os
from digna_sdk import DignaClient
client = DignaClient(
base_url="http://localhost:8000", # your on-premises Digna backend
token=os.environ["DIGNA_API_KEY"],
)
Používejte DignaClient jako kontextový manažer, aby se podkladový fond připojení zavíral automaticky:
with DignaClient(base_url="http://localhost:8000", token="<token>") as client:
projects = client.projects.list()
Výpis projektů¶
Vytvoření zdroje dat¶
from digna_sdk.models import (
DataSourceModules,
DataSourceObject,
StableDataSourceKind,
StableDataSourceQueryMode,
)
data_source = client.data_sources.create(
project_id=1,
db_connection_id=10,
name="orders_table",
kind=StableDataSourceKind.TABLE,
query_mode=StableDataSourceQueryMode.SINGLE,
object=DataSourceObject(catalog_name="prod", schema_name="public", table_name="orders"),
modules=DataSourceModules(
data_analytics=True,
data_anomaly=True,
data_validation=True,
schema_tracker=False,
timeliness=False,
),
)
Odeslání požadavku na kontrolu a čekání na jeho dokončení¶
import datetime
from digna_sdk import DignaInspectionRequestFailed
from digna_sdk.models import StableInspectionRequestMode
request = client.inspection_requests.submit(
project_id=1,
data_source_ids=[data_source.id],
start_date=datetime.date(2026, 1, 1),
end_date=datetime.date(2026, 1, 31),
mode=StableInspectionRequestMode.DAILY,
)
try:
client.inspection_requests.wait_until_finished(request.id, poll_interval=2.0, timeout=300.0)
except DignaInspectionRequestFailed as exc:
print(f"Inspection failed: {exc.status.value}")
# Once finished, retrieve the resulting statuses.
statuses = client.inspection_statuses.for_data_sources(
data_source_id=data_source.id,
start_date=datetime.date(2026, 1, 1),
end_date=datetime.date(2026, 1, 31),
)
Kompletní postup odeslání → dotazování → načtení najdete v souboru examples/inspection_flow.py v repozitáři.