briefcase.external
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