Skip to content

briefcase.external

Terminal window
pip install briefcase-ai[external]

Snapshots external data sources (API responses, database query results, file fetches) and detects drift between them.

ExternalDataTracker, SnapshotPolicy

from briefcase.external import (
ExternalDataTracker,
SnapshotPolicy,
SnapshotFrequency,
)
tracker = ExternalDataTracker(
default_policy=SnapshotPolicy(
frequency=SnapshotFrequency.ON_CHANGE,
retention_days=30,
),
)
result = tracker.track_api_call(
api_name="product-catalog",
endpoint="/products",
method="GET",
response_data={"items": [1, 2, 3]},
record_count=3,
)
print(result["snapshot_id"], result["drift_detected"])
snapshot = tracker.get_latest_snapshot("product-catalog")
print(snapshot.source_name)
ExternalDataTracker(lakefs_client=None, repository=None, branch="main",
default_policy=None, sanitizer=None)
.track_api_call(api_name, endpoint, method, response_data, ...)
.track_db_query(db_system, db_name, query, result_data=None, ...)
.track_file_fetch(source_name, file_data, file_path=None, ...)
.detect_drift(source_name, current_data=None, ...)
.compare_snapshots(snapshot_a_id, snapshot_b_id)
.correct_snapshot(parent_snapshot_id, corrected_data, *, source=None, ...)
SnapshotPolicy(frequency=SnapshotFrequency.ON_CHANGE, retention_days=90,
change_threshold=0.0, max_snapshots=0, compress=False)
SnapshotFrequency.EVERY_CALL / ON_CHANGE / HOURLY / DAILY / WEEKLY