77from .core .results import result
88from .spss import export_dataset , import_dataset , inspect_source
99from .spss .sav import engine_identity
10- from .sql import declared_profiles , validate_dataset
10+ from .sql import (
11+ DoltConformanceSource ,
12+ declared_profiles ,
13+ dolt_state_snapshot as _dolt_state_snapshot ,
14+ initialize_catalog as _initialize_catalog ,
15+ validate_dataset ,
16+ )
1117from .sql .catalog_api import catalog_dataset as _catalog_dataset , catalog_datasets as _catalog_datasets
1218from .sql .workflow import (
1319 derive_dataset as _derive_dataset ,
3440
3541
3642
37- def capability_matrix (database_url : str | None = None ) -> Mapping [str , Any ]:
43+ def capability_matrix (
44+ database_url : str | None = None ,
45+ * ,
46+ dolt_conformance_source : DoltConformanceSource | None = None ,
47+ ) -> Mapping [str , Any ]:
3848 """Return the pyspssio-backed SAV/ZSAV fidelity boundary.
3949
4050 supported means that the adapter has a tested faithful path.
@@ -87,9 +97,18 @@ def capability_matrix(database_url: str | None = None) -> Mapping[str, Any]:
8797 "maximum_source_file_bytes" : None ,
8898 "limit_basis" : "runtime memory and active SQL connection limits" ,
8999 },
90- "active_connection" : active_connection (database_url ) if database_url else None ,
100+ "active_connection" : (
101+ active_connection (
102+ database_url ,
103+ dolt_conformance_source = dolt_conformance_source ,
104+ )
105+ if database_url else None
106+ ),
91107 "catalog_binding" : catalog_binding (database_url ) if database_url else None ,
92- "sql_profiles" : declared_profiles (database_url ),
108+ "sql_profiles" : declared_profiles (
109+ database_url ,
110+ dolt_conformance_source = dolt_conformance_source ,
111+ ),
93112 "optional_profiles" : {
94113 "sql_transformation_workflow" : transformation_capabilities (database_url ),
95114 "spss_in_place_transformation" : (
@@ -99,26 +118,84 @@ def capability_matrix(database_url: str | None = None) -> Mapping[str, Any]:
99118 }
100119 return declaration
101120
102- def capabilities (database_url : str | None = None ) -> Mapping [str , Any ]:
103- return capability_matrix (database_url )
121+ def capabilities (
122+ database_url : str | None = None ,
123+ * ,
124+ dolt_conformance_source : DoltConformanceSource | None = None ,
125+ ) -> Mapping [str , Any ]:
126+ return capability_matrix (
127+ database_url , dolt_conformance_source = dolt_conformance_source ,
128+ )
104129
105130
106131def inspect (source : str | Path , / , ** options : Any ) -> Mapping [str , Any ]:
107132 return result (inspect_source (source , ** options ))
108133
109134
110- def import_sav (source : str | Path , / , * , database_url : Any , dataset_id : str , ** options : Any ) -> Mapping [str , Any ]:
135+ def dolt_state_snapshot (
136+ * ,
137+ database_url : Any ,
138+ dolt_conformance_source : DoltConformanceSource | None = None ,
139+ ) -> Mapping [str , Any ]:
140+ """Return read-only Dolt branch, HEAD, status, and diff-summary evidence."""
141+ return result (_dolt_state_snapshot (
142+ database_url = database_url ,
143+ dolt_conformance_source = dolt_conformance_source ,
144+ ))
145+
146+
147+ def initialize_catalog (
148+ * ,
149+ database_url : Any ,
150+ dolt_conformance_source : DoltConformanceSource | None = None ,
151+ ) -> Mapping [str , Any ]:
152+ """Install or explicitly migrate a dedicated OpenStatSpec catalog."""
153+ return result (_initialize_catalog (
154+ database_url = database_url ,
155+ dolt_conformance_source = dolt_conformance_source ,
156+ ))
157+
158+
159+ def import_sav (
160+ source : str | Path , / , * , database_url : Any , dataset_id : str ,
161+ dolt_conformance_source : DoltConformanceSource | None = None ,
162+ ** options : Any ,
163+ ) -> Mapping [str , Any ]:
111164 """Import one source file into one dedicated wide SQL table."""
112- return result (import_dataset (source , database_url = database_url , dataset_id = dataset_id , ** options ))
165+ return result (import_dataset (
166+ source , database_url = database_url , dataset_id = dataset_id ,
167+ dolt_conformance_source = dolt_conformance_source ,
168+ ** options ,
169+ ))
113170
114171
115- def export_sav (* , database_url : Any , dataset_id : str , destination : str | Path , ** options : Any ) -> Mapping [str , Any ]:
172+ def export_sav (
173+ * , database_url : Any , dataset_id : str , destination : str | Path ,
174+ dolt_conformance_source : DoltConformanceSource | None = None ,
175+ ** options : Any ,
176+ ) -> Mapping [str , Any ]:
116177 """Export one database-resident conforming dataset to SAV/ZSAV."""
117- return result (export_dataset (database_url = database_url , dataset_id = dataset_id , destination = destination , ** options ))
178+ return result (export_dataset (
179+ database_url = database_url , dataset_id = dataset_id ,
180+ destination = destination ,
181+ dolt_conformance_source = dolt_conformance_source ,
182+ ** options ,
183+ ))
118184
119185
120- def validate (* , database_url : Any , dataset_id : str , ** options : Any ) -> Mapping [str , Any ]:
121- return result (validate_dataset (database_url = database_url , dataset_id = dataset_id , ** options ))
186+ def validate (
187+ * ,
188+ database_url : Any ,
189+ dataset_id : str ,
190+ dolt_conformance_source : DoltConformanceSource | None = None ,
191+ ** options : Any ,
192+ ) -> Mapping [str , Any ]:
193+ return result (validate_dataset (
194+ database_url = database_url ,
195+ dataset_id = dataset_id ,
196+ dolt_conformance_source = dolt_conformance_source ,
197+ ** options ,
198+ ))
122199
123200
124201def list_datasets (* , database_url : Any , kind : str | None = None ) -> Mapping [str , Any ]:
@@ -145,6 +222,7 @@ def apply_spss_in_place(
145222 * , database_url : Any , dataset_id : str , source_text : str ,
146223 actor : str , expected_branch : str | None = None ,
147224 expected_head : str | None = None ,
225+ dolt_conformance_source : DoltConformanceSource | None = None ,
148226) -> Mapping [str , Any ]:
149227 """Apply bounded sequential SPSS syntax to one SQL dataset/table.
150228
@@ -157,6 +235,7 @@ def apply_spss_in_place(
157235 actor = actor ,
158236 expected_branch = expected_branch ,
159237 expected_head = expected_head ,
238+ dolt_conformance_source = dolt_conformance_source ,
160239 ))
161240
162241
@@ -165,6 +244,7 @@ def apply_transformation_plan_in_place(
165244 plan : TransformationPlan | Mapping [str , Any ],
166245 actor : str , expected_branch : str | None = None ,
167246 expected_head : str | None = None ,
247+ dolt_conformance_source : DoltConformanceSource | None = None ,
168248) -> Mapping [str , Any ]:
169249 """Apply a canonical plan to the same logical dataset and physical table."""
170250 return result (_apply_transformation_plan_in_place (
@@ -174,12 +254,20 @@ def apply_transformation_plan_in_place(
174254 actor = actor ,
175255 expected_branch = expected_branch ,
176256 expected_head = expected_head ,
257+ dolt_conformance_source = dolt_conformance_source ,
177258 ))
178259
179260
180- def install_in_place_transformation_schema (* , database_url : Any ) -> None :
261+ def install_in_place_transformation_schema (
262+ * ,
263+ database_url : Any ,
264+ dolt_conformance_source : DoltConformanceSource | None = None ,
265+ ) -> None :
181266 """Install the compact apply-audit relation before the first apply."""
182- _install_in_place_schema (database_url = str (database_url ))
267+ _install_in_place_schema (
268+ database_url = str (database_url ),
269+ dolt_conformance_source = dolt_conformance_source ,
270+ )
183271
184272
185273def validate_derived (* , database_url : Any , derived_dataset_id : str ) -> Mapping [str , Any ]:
0 commit comments