equiframe 0.12.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. equiframe/__init__.py +832 -0
  2. equiframe/__main__.py +3 -0
  3. equiframe/_base.py +84 -0
  4. equiframe/_cli_support.py +125 -0
  5. equiframe/_comparison_io.py +161 -0
  6. equiframe/_dataset_provenance.py +146 -0
  7. equiframe/_decimal.py +22 -0
  8. equiframe/_diff_capture.py +433 -0
  9. equiframe/_doctor.py +123 -0
  10. equiframe/_document_io.py +61 -0
  11. equiframe/_documents.py +79 -0
  12. equiframe/_duckdb_transport.py +149 -0
  13. equiframe/_error_reporting.py +52 -0
  14. equiframe/_first_use.py +102 -0
  15. equiframe/_path_compat.py +26 -0
  16. equiframe/_physical.py +133 -0
  17. equiframe/_r_review.R +308 -0
  18. equiframe/_regular_io.py +167 -0
  19. equiframe/_report_format_v1.py +298 -0
  20. equiframe/_report_io.py +591 -0
  21. equiframe/_stability_inventory.py +1421 -0
  22. equiframe/_timezones.py +257 -0
  23. equiframe/_vendor/cyclonedx/LICENSE +201 -0
  24. equiframe/_vendor/cyclonedx/PROVENANCE.md +18 -0
  25. equiframe/_vendor/cyclonedx/bom-1.6.schema.json +5673 -0
  26. equiframe/_vendor/cyclonedx/jsf-0.82.schema.json +240 -0
  27. equiframe/_vendor/cyclonedx/spdx.schema.json +712 -0
  28. equiframe/adapters.py +454 -0
  29. equiframe/assertion_types.py +122 -0
  30. equiframe/assertions.py +271 -0
  31. equiframe/benchmark.py +101 -0
  32. equiframe/bundle.py +240 -0
  33. equiframe/cli.py +693 -0
  34. equiframe/comparison.py +937 -0
  35. equiframe/comparison_report.py +660 -0
  36. equiframe/comparison_types.py +257 -0
  37. equiframe/compatibility.py +546 -0
  38. equiframe/contracts.py +879 -0
  39. equiframe/datasets.py +1301 -0
  40. equiframe/decision.py +34 -0
  41. equiframe/destinations.py +295 -0
  42. equiframe/detector_types.py +431 -0
  43. equiframe/detectors.py +389 -0
  44. equiframe/diff.py +192 -0
  45. equiframe/diff_contracts.py +523 -0
  46. equiframe/docs/adoption.md +329 -0
  47. equiframe/docs/api.md +534 -0
  48. equiframe/docs/arquitecto.md +143 -0
  49. equiframe/docs/choosing-api.md +84 -0
  50. equiframe/docs/cientifico.md +180 -0
  51. equiframe/docs/compatibility.md +254 -0
  52. equiframe/docs/contributing.md +171 -0
  53. equiframe/docs/dependencies.md +237 -0
  54. equiframe/docs/eda.md +166 -0
  55. equiframe/docs/extending.md +158 -0
  56. equiframe/docs/fast-ci.md +52 -0
  57. equiframe/docs/first-use.md +78 -0
  58. equiframe/docs/index.md +142 -0
  59. equiframe/docs/ingestion.md +145 -0
  60. equiframe/docs/inicio.md +129 -0
  61. equiframe/docs/installed-private.md +97 -0
  62. equiframe/docs/journeys.md +362 -0
  63. equiframe/docs/lectura-conversion.md +211 -0
  64. equiframe/docs/licensing.md +17 -0
  65. equiframe/docs/maintenance.md +233 -0
  66. equiframe/docs/migration-ir.md +333 -0
  67. equiframe/docs/option-audit.md +45 -0
  68. equiframe/docs/outcome-gates.md +134 -0
  69. equiframe/docs/performance.md +263 -0
  70. equiframe/docs/piloto-simulado.md +56 -0
  71. equiframe/docs/quickstart.md +156 -0
  72. equiframe/docs/r_review.md +212 -0
  73. equiframe/docs/recipes.md +248 -0
  74. equiframe/docs/releasing.md +183 -0
  75. equiframe/docs/security.md +218 -0
  76. equiframe/docs/semantics.md +274 -0
  77. equiframe/docs/sqlite-snapshots.md +262 -0
  78. equiframe/docs/universal-sources.md +49 -0
  79. equiframe/docs/universalidad-cinco-pasos.md +107 -0
  80. equiframe/docs/upgrading.md +538 -0
  81. equiframe/duckdb_capture.py +410 -0
  82. equiframe/eda/__init__.py +36 -0
  83. equiframe/eda/__main__.py +3 -0
  84. equiframe/eda/_backend.py +612 -0
  85. equiframe/eda/_inventory.py +49 -0
  86. equiframe/eda/_paths.py +49 -0
  87. equiframe/eda/_report.py +291 -0
  88. equiframe/eda/api.py +535 -0
  89. equiframe/eda/cli.py +102 -0
  90. equiframe/eda/models.py +239 -0
  91. equiframe/errors.py +83 -0
  92. equiframe/evidence.py +375 -0
  93. equiframe/examples/integrations/eda_generic.py +60 -0
  94. equiframe/examples/integrations/outcome_gates.py +94 -0
  95. equiframe/examples/integrations/sqlite_snapshot.py +246 -0
  96. equiframe/examples/integrations/sqlite_snapshot_demo.py +226 -0
  97. equiframe/examples/integrations/universal_first_use.py +296 -0
  98. equiframe/examples/journeys/README.md +31 -0
  99. equiframe/examples/journeys/__init__.py +1 -0
  100. equiframe/examples/journeys/a_pandas_refactor.py +88 -0
  101. equiframe/examples/journeys/b_native_migration.py +181 -0
  102. equiframe/examples/journeys/c_retail_etl.py +460 -0
  103. equiframe/examples/journeys/common.py +136 -0
  104. equiframe/examples/journeys/d_financial_reconciliation.py +96 -0
  105. equiframe/examples/journeys/e_telemetry.py +135 -0
  106. equiframe/examples/journeys/f_data_science_preparation.py +84 -0
  107. equiframe/examples/journeys/g_external_snapshots.py +197 -0
  108. equiframe/examples/journeys/h_portable_ci.py +129 -0
  109. equiframe/examples/journeys/requirements.lock +249 -0
  110. equiframe/examples/journeys/verify_journeys.py +117 -0
  111. equiframe/examples/load_convert_compare.py +85 -0
  112. equiframe/execution.py +355 -0
  113. equiframe/execution_types.py +177 -0
  114. equiframe/ingestion.py +744 -0
  115. equiframe/local.py +126 -0
  116. equiframe/migration/__init__.py +94 -0
  117. equiframe/migration/_physical.py +8 -0
  118. equiframe/migration/backends/_timestamp_transport.py +109 -0
  119. equiframe/migration/backends/duckdb.py +651 -0
  120. equiframe/migration/backends/duckdb_decimal.py +125 -0
  121. equiframe/migration/backends/duckdb_time.py +87 -0
  122. equiframe/migration/backends/pandas.py +544 -0
  123. equiframe/migration/backends/polars.py +915 -0
  124. equiframe/migration/backends/polars_decimal.py +231 -0
  125. equiframe/migration/io.py +198 -0
  126. equiframe/migration/ports.py +96 -0
  127. equiframe/migration/runner.py +545 -0
  128. equiframe/migration/runner_types.py +405 -0
  129. equiframe/migration/types.py +354 -0
  130. equiframe/migration/validation.py +619 -0
  131. equiframe/normalization.py +358 -0
  132. equiframe/pipeline.py +274 -0
  133. equiframe/pipeline_types.py +247 -0
  134. equiframe/ports.py +39 -0
  135. equiframe/preprocessing.py +110 -0
  136. equiframe/profile_types.py +343 -0
  137. equiframe/profiles.py +447 -0
  138. equiframe/py.typed +0 -0
  139. equiframe/r_review.py +706 -0
  140. equiframe/reduction.py +518 -0
  141. equiframe/registry.py +121 -0
  142. equiframe/report_rendering.py +366 -0
  143. equiframe/report_types.py +294 -0
  144. equiframe/reporting.py +26 -0
  145. equiframe/rule_types.py +178 -0
  146. equiframe/rules.py +819 -0
  147. equiframe/schemas/r-execution-binding-1.0.schema.json +46 -0
  148. equiframe/schemas/r-review-binding-1.0.schema.json +28 -0
  149. equiframe/schemas/r-review-options-1.0.schema.json +38 -0
  150. equiframe/schemas/r-review-result-1.0.schema.json +207 -0
  151. equiframe/schemas/reviewed-decision-1.0.schema.json +3394 -0
  152. equiframe/serialization.py +152 -0
  153. equiframe/snapshot.py +296 -0
  154. equiframe/sources.py +283 -0
  155. equiframe/tables.py +459 -0
  156. equiframe/types.py +71 -0
  157. equiframe/values.py +252 -0
  158. equiframe/verification_request.py +35 -0
  159. equiframe/verify.py +799 -0
  160. equiframe/verify_types.py +255 -0
  161. equiframe/workflow.py +510 -0
  162. equiframe/workflow_request.py +38 -0
  163. equiframe-0.12.4.dist-info/METADATA +268 -0
  164. equiframe-0.12.4.dist-info/RECORD +170 -0
  165. equiframe-0.12.4.dist-info/WHEEL +4 -0
  166. equiframe-0.12.4.dist-info/entry_points.txt +3 -0
  167. equiframe-0.12.4.dist-info/licenses/LICENSE +21 -0
  168. equiframe-0.12.4.dist-info/licenses/THIRD_PARTY_NOTICES.md +42 -0
  169. equiframe-0.12.4.dist-info/licenses/tools/cyclonedx/LICENSE +201 -0
  170. equiframe-0.12.4.dist-info/licenses/tools/cyclonedx/PROVENANCE.md +18 -0
equiframe/__init__.py ADDED
@@ -0,0 +1,832 @@
1
+ """Semantic comparison and reviewable evidence, with optional native execution.
2
+
3
+ Start small: ``diff(candidate, expected, keys=["id"])`` compares eager frames;
4
+ ``assert_equivalent(result)`` is the acceptance gate; ``comparison_report(result)``
5
+ explains it with minimized data. Use ``compare`` for already captured artifacts
6
+ and an explicit contract. Inspect ``read_diff_contract(result)`` for the policy.
7
+
8
+ Advanced entry points remain separate: ``capture_duckdb`` captures trusted SQL;
9
+ ``execute`` runs registered native code; ``migrate`` compares supported native
10
+ plans; ``verify`` checks outputs against a declared expected; ``ingest_file`` and
11
+ ``run_workflow`` compose local ETL. ``SnapshotDataSource`` accepts injected clients.
12
+
13
+ An execution being completed, two outputs being equivalent, and matching an
14
+ independent expected are distinct claims. Never use ``bool(result)`` for approval.
15
+ The installed handbook starts at ``equiframe/docs/inicio.md`` (Spanish) or
16
+ ``equiframe/docs/index.md`` (English). Import does not load optional engines/ML.
17
+ """
18
+
19
+ from importlib.metadata import version as _distribution_version
20
+
21
+ from equiframe._dataset_provenance import DatasetProvenance, DatasetSource
22
+ from equiframe._diff_capture import DiffCaptureOptions
23
+ from equiframe.adapters import DuckDBAdapter, PandasAdapter, PolarsAdapter
24
+ from equiframe.assertion_types import EquivalenceDecision, EquivalencePolicy
25
+ from equiframe.assertions import (
26
+ EquivalenceAssertionError,
27
+ EquivalenceDifferentError,
28
+ EquivalenceEvidenceError,
29
+ EquivalenceGuaranteeError,
30
+ EquivalenceInputError,
31
+ EquivalenceNotEvaluableError,
32
+ assert_equivalent,
33
+ equivalence_decision,
34
+ )
35
+ from equiframe.bundle import (
36
+ BundleReference,
37
+ EvidenceBundle,
38
+ export_bundle,
39
+ import_bundle,
40
+ inspect_bundle,
41
+ read_bundle,
42
+ )
43
+ from equiframe.comparison import (
44
+ ComparisonInput,
45
+ compare,
46
+ comparison_fingerprint,
47
+ iter_differences,
48
+ read_comparison,
49
+ )
50
+ from equiframe.comparison_report import (
51
+ comparison_report,
52
+ read_comparison_report,
53
+ write_comparison_report,
54
+ )
55
+ from equiframe.comparison_types import (
56
+ AppliedPolicy,
57
+ ComparisonCounts,
58
+ ComparisonDiagnostic,
59
+ ComparisonDifference,
60
+ ComparisonOptions,
61
+ ComparisonPolicy,
62
+ ComparisonResult,
63
+ ComparisonSource,
64
+ ComparisonSpec,
65
+ ComparisonValue,
66
+ )
67
+ from equiframe.compatibility import (
68
+ AdapterCapability,
69
+ CapabilityStage,
70
+ CompatibilityPolicy,
71
+ StabilityRecord,
72
+ get_adapter_capabilities,
73
+ get_compatibility_policy,
74
+ get_stability_register,
75
+ )
76
+ from equiframe.contracts import (
77
+ SCHEMA_VERSION,
78
+ AggregateCheck,
79
+ BooleanType,
80
+ CardinalityCheck,
81
+ ColumnKeyScope,
82
+ ColumnSpec,
83
+ Contract,
84
+ DatePolicy,
85
+ DateType,
86
+ DecimalType,
87
+ Family,
88
+ FloatType,
89
+ GlobalKeyScope,
90
+ IgnoredOrder,
91
+ IntegerType,
92
+ JoinCheck,
93
+ KeyCheck,
94
+ KeyScope,
95
+ KeySpec,
96
+ LogicalType,
97
+ Multiplicity,
98
+ NaNPolicy,
99
+ NullPolicy,
100
+ NumericPolicy,
101
+ OrderCheck,
102
+ OrderPolicy,
103
+ PreconditionSpec,
104
+ RuleDefinition,
105
+ RuleSpec,
106
+ SchemaCheck,
107
+ SignificantOrder,
108
+ SortSpec,
109
+ StringType,
110
+ TableKeyScope,
111
+ TableSchema,
112
+ TableSpec,
113
+ TemporalPolicy,
114
+ TimestampPolicy,
115
+ TimestampType,
116
+ Tolerance,
117
+ )
118
+ from equiframe.datasets import (
119
+ DatasetChoiceRequired,
120
+ DatasetColumn,
121
+ DatasetFormat,
122
+ DatasetInfo,
123
+ DatasetReadError,
124
+ DatasetReadOptions,
125
+ DatasetResult,
126
+ DatasetTarget,
127
+ convert_dataset,
128
+ inspect_dataset,
129
+ load_dataset,
130
+ )
131
+ from equiframe.decision import combine_decisions
132
+ from equiframe.destinations import Destination, LoadReceipt, ParquetDestination, PublishedTable
133
+ from equiframe.detector_types import (
134
+ ComponentDecision,
135
+ ComponentDetectionResult,
136
+ DetectionResult,
137
+ DetectorBundle,
138
+ DetectorCalibration,
139
+ DetectorDecision,
140
+ DetectorFit,
141
+ DetectorModel,
142
+ DetectorScoreResult,
143
+ DetectorScores,
144
+ DetectorSupport,
145
+ DetectorVersions,
146
+ HybridDecision,
147
+ IsolationForestConfig,
148
+ NormalCalibrationProfiles,
149
+ detector_fingerprint,
150
+ )
151
+ from equiframe.detectors import (
152
+ calibrate_detectors,
153
+ detect,
154
+ detect_component,
155
+ fit_detectors,
156
+ read_detector_bundle,
157
+ score_detectors,
158
+ write_detector_bundle,
159
+ )
160
+ from equiframe.diff import DiffInput, diff, read_diff_contract
161
+ from equiframe.diff_contracts import (
162
+ DiffContract,
163
+ PolicyProvenance,
164
+ bag_contract,
165
+ infer_diff_contract,
166
+ keyed_contract,
167
+ sequence_contract,
168
+ )
169
+ from equiframe.duckdb_capture import DuckDBCaptureOptions, capture_duckdb
170
+ from equiframe.errors import (
171
+ ArtifactIntegrityError,
172
+ ArtifactIOError,
173
+ CapabilityError,
174
+ ContractIOError,
175
+ ContractParseError,
176
+ ContractValidationError,
177
+ EquiFrameError,
178
+ ExecutionCancelled,
179
+ ExecutionTimeout,
180
+ InvalidExecutionInput,
181
+ MissingDependencyError,
182
+ NativeEngineError,
183
+ ResourceLimitError,
184
+ SchemaVersionError,
185
+ ValidationIssue,
186
+ )
187
+ from equiframe.evidence import EvidenceEvent, inspect_evidence, read_pipeline, verify_events
188
+ from equiframe.execution import CancellationToken, RunContext, execute
189
+ from equiframe.execution_types import (
190
+ EngineCapabilities,
191
+ ExecutionOptions,
192
+ ExecutionPlan,
193
+ ExecutionProblem,
194
+ ExecutionResult,
195
+ Parameter,
196
+ PhysicalColumn,
197
+ StageTiming,
198
+ TableArtifact,
199
+ VersionInfo,
200
+ )
201
+ from equiframe.ingestion import (
202
+ ConversionReceipt as IngestionConversionReceipt,
203
+ )
204
+ from equiframe.ingestion import (
205
+ FieldMapping,
206
+ FileInput,
207
+ IngestionResult,
208
+ IngestionSpec,
209
+ QuarantinedRecord,
210
+ SourceReceipt,
211
+ ingest_file,
212
+ )
213
+ from equiframe.local import LocalArtifactStore
214
+ from equiframe.migration import (
215
+ Aggregate,
216
+ Boolean,
217
+ Cast,
218
+ CastColumn,
219
+ Column,
220
+ Compare,
221
+ CompilationCheck,
222
+ CompilationDiagnostic,
223
+ CompiledPlan,
224
+ CompilerRecord,
225
+ CompilerRegistry,
226
+ EquiJoin,
227
+ Filter,
228
+ IRColumn,
229
+ IsNaN,
230
+ IsNull,
231
+ JoinKey,
232
+ LiteralExpression,
233
+ Measure,
234
+ MigrationOptions,
235
+ MigrationRequest,
236
+ MigrationResult,
237
+ MigrationSpec,
238
+ MigrationStage,
239
+ NamedExpression,
240
+ NodeSchema,
241
+ Not,
242
+ PlanCompiler,
243
+ Project,
244
+ RelationalPlan,
245
+ Scan,
246
+ Sort,
247
+ SortKey,
248
+ ValidatedIR,
249
+ Window,
250
+ WindowMeasure,
251
+ check_migration,
252
+ ir_fingerprint,
253
+ migrate,
254
+ migration_summary,
255
+ native_compiler_registry,
256
+ read_migration,
257
+ render_migration_report,
258
+ validate_ir,
259
+ )
260
+ from equiframe.migration.types import (
261
+ Arithmetic,
262
+ Coalesce,
263
+ Concatenate,
264
+ Conditional,
265
+ DecimalRound,
266
+ Deduplicate,
267
+ LocalizeTimestamp,
268
+ )
269
+ from equiframe.pipeline import run_pipeline
270
+ from equiframe.pipeline_types import (
271
+ EvidenceFile,
272
+ PipelineInput,
273
+ PipelineRequest,
274
+ PipelineResult,
275
+ PipelineSpec,
276
+ StageRecord,
277
+ )
278
+ from equiframe.ports import ArtifactStore, DataSource, EngineAdapter
279
+ from equiframe.preprocessing import (
280
+ fit_preprocessor,
281
+ read_preprocessor,
282
+ transform_profiles,
283
+ write_preprocessor,
284
+ )
285
+ from equiframe.profile_types import (
286
+ ConversionReceipt,
287
+ FeatureFit,
288
+ FeatureMatrix,
289
+ FeatureObservation,
290
+ FeatureState,
291
+ FeatureSupport,
292
+ NormalTrainingProfiles,
293
+ PreprocessorBundle,
294
+ ProfileFeature,
295
+ ProfileMetadata,
296
+ ProfileMetric,
297
+ ProfileOptions,
298
+ ProfileResult,
299
+ ProfileSpec,
300
+ ProfileVector,
301
+ profile_spec_fingerprint,
302
+ )
303
+ from equiframe.profiles import profile_execution, read_profile
304
+ from equiframe.r_review import (
305
+ ReviewedDecision,
306
+ RExecutionBinding,
307
+ RReviewBinding,
308
+ RReviewOptions,
309
+ RReviewResult,
310
+ finalize_execution_with_r,
311
+ finalize_with_r,
312
+ review_with_r,
313
+ )
314
+ from equiframe.reduction import (
315
+ ReducedTable,
316
+ ReductionObservation,
317
+ ReductionOptions,
318
+ ReductionResult,
319
+ read_reduction,
320
+ reduce_case,
321
+ )
322
+ from equiframe.registry import (
323
+ DuckDBTransformation,
324
+ PandasTransformation,
325
+ PolarsTransformation,
326
+ Transformation,
327
+ TransformationRegistry,
328
+ )
329
+ from equiframe.report_rendering import (
330
+ render_comparison_html,
331
+ render_comparison_notebook,
332
+ render_comparison_text,
333
+ )
334
+ from equiframe.report_types import (
335
+ ComparisonReport,
336
+ ReportCount,
337
+ ReportEvidenceManifest,
338
+ ReportOptions,
339
+ ReportPolicy,
340
+ ReportPublicationManifest,
341
+ ReportValue,
342
+ ReportViewPolicy,
343
+ ReportWitness,
344
+ )
345
+ from equiframe.reporting import pipeline_summary, render_report, write_report
346
+ from equiframe.rule_types import (
347
+ CheckResult,
348
+ CheckState,
349
+ RuleCoverage,
350
+ RuleEvaluation,
351
+ RuleFinding,
352
+ RuleOptions,
353
+ )
354
+ from equiframe.rules import (
355
+ RuleContext,
356
+ RuleImplementation,
357
+ RuleRegistry,
358
+ default_rule_registry,
359
+ evaluate_rules,
360
+ iter_rule_findings,
361
+ read_rule_evaluation,
362
+ rule_set_fingerprint,
363
+ )
364
+ from equiframe.serialization import (
365
+ CANONICALIZATION,
366
+ canonical_contract_bytes,
367
+ contract_fingerprint,
368
+ contract_json_schema,
369
+ read_contract,
370
+ validate_contract,
371
+ write_contract,
372
+ )
373
+ from equiframe.snapshot import (
374
+ SnapshotClient,
375
+ SnapshotColumn,
376
+ SnapshotDataSource,
377
+ SnapshotManifest,
378
+ SnapshotTable,
379
+ snapshot_fingerprint,
380
+ )
381
+ from equiframe.sources import CompositeDataSource, RecordBatchInput, SQLiteInput, StreamInput
382
+ from equiframe.tables import (
383
+ ArrowInput,
384
+ ArtifactInput,
385
+ LoadedTable,
386
+ LocalDataSource,
387
+ PandasInput,
388
+ PolarsInput,
389
+ read_table,
390
+ )
391
+ from equiframe.types import (
392
+ ArtifactRef,
393
+ ComparisonState,
394
+ DecisionState,
395
+ ExecutionState,
396
+ FitState,
397
+ JobState,
398
+ OracleState,
399
+ SchemaRef,
400
+ Sha256,
401
+ )
402
+ from equiframe.values import (
403
+ BooleanValue,
404
+ DateValue,
405
+ DecimalValue,
406
+ ExactDecimal,
407
+ FloatValue,
408
+ InfinityValue,
409
+ IntegerValue,
410
+ NaNValue,
411
+ NullValue,
412
+ ScalarValue,
413
+ StringValue,
414
+ TimestampValue,
415
+ TimeUnit,
416
+ TimeZone,
417
+ )
418
+ from equiframe.verification_request import VerificationRequest
419
+ from equiframe.verify import (
420
+ VerificationInput,
421
+ read_verification,
422
+ verification_summary,
423
+ verify,
424
+ verify_migration,
425
+ )
426
+ from equiframe.verify_types import (
427
+ ExpectedProvenance,
428
+ IndependentReviewEvidence,
429
+ VerificationBinding,
430
+ VerificationCheck,
431
+ VerificationCoverage,
432
+ VerificationResult,
433
+ VerificationReview,
434
+ VerificationState,
435
+ )
436
+ from equiframe.workflow import (
437
+ InputBinding as WorkflowInputBinding,
438
+ )
439
+ from equiframe.workflow import (
440
+ WorkflowCheckpoint,
441
+ WorkflowResult,
442
+ WorkflowSpec,
443
+ WorkflowStage,
444
+ read_workflow,
445
+ run_workflow,
446
+ )
447
+ from equiframe.workflow_request import WorkflowExpected, WorkflowRequest
448
+
449
+ __version__ = _distribution_version("equiframe")
450
+
451
+ __all__ = [
452
+ "CANONICALIZATION",
453
+ "SCHEMA_VERSION",
454
+ "AdapterCapability",
455
+ "Aggregate",
456
+ "AggregateCheck",
457
+ "AppliedPolicy",
458
+ "Arithmetic",
459
+ "ArrowInput",
460
+ "ArtifactIOError",
461
+ "ArtifactInput",
462
+ "ArtifactIntegrityError",
463
+ "ArtifactRef",
464
+ "ArtifactStore",
465
+ "Boolean",
466
+ "BooleanType",
467
+ "BooleanValue",
468
+ "BundleReference",
469
+ "CancellationToken",
470
+ "CapabilityError",
471
+ "CapabilityStage",
472
+ "CardinalityCheck",
473
+ "Cast",
474
+ "CastColumn",
475
+ "CheckResult",
476
+ "CheckState",
477
+ "Coalesce",
478
+ "Column",
479
+ "ColumnKeyScope",
480
+ "ColumnSpec",
481
+ "Compare",
482
+ "ComparisonCounts",
483
+ "ComparisonDiagnostic",
484
+ "ComparisonDifference",
485
+ "ComparisonInput",
486
+ "ComparisonOptions",
487
+ "ComparisonPolicy",
488
+ "ComparisonReport",
489
+ "ComparisonResult",
490
+ "ComparisonSource",
491
+ "ComparisonSpec",
492
+ "ComparisonState",
493
+ "ComparisonValue",
494
+ "CompatibilityPolicy",
495
+ "CompilationCheck",
496
+ "CompilationDiagnostic",
497
+ "CompiledPlan",
498
+ "CompilerRecord",
499
+ "CompilerRegistry",
500
+ "ComponentDecision",
501
+ "ComponentDetectionResult",
502
+ "CompositeDataSource",
503
+ "Concatenate",
504
+ "Conditional",
505
+ "Contract",
506
+ "ContractIOError",
507
+ "ContractParseError",
508
+ "ContractValidationError",
509
+ "ConversionReceipt",
510
+ "DataSource",
511
+ "DatasetChoiceRequired",
512
+ "DatasetColumn",
513
+ "DatasetFormat",
514
+ "DatasetInfo",
515
+ "DatasetProvenance",
516
+ "DatasetReadError",
517
+ "DatasetReadOptions",
518
+ "DatasetResult",
519
+ "DatasetSource",
520
+ "DatasetTarget",
521
+ "DatePolicy",
522
+ "DateType",
523
+ "DateValue",
524
+ "DecimalRound",
525
+ "DecimalType",
526
+ "DecimalValue",
527
+ "DecisionState",
528
+ "Deduplicate",
529
+ "Destination",
530
+ "DetectionResult",
531
+ "DetectorBundle",
532
+ "DetectorCalibration",
533
+ "DetectorDecision",
534
+ "DetectorFit",
535
+ "DetectorModel",
536
+ "DetectorScoreResult",
537
+ "DetectorScores",
538
+ "DetectorSupport",
539
+ "DetectorVersions",
540
+ "DiffCaptureOptions",
541
+ "DiffContract",
542
+ "DiffInput",
543
+ "DuckDBAdapter",
544
+ "DuckDBCaptureOptions",
545
+ "DuckDBTransformation",
546
+ "EngineAdapter",
547
+ "EngineCapabilities",
548
+ "EquiFrameError",
549
+ "EquiJoin",
550
+ "EquivalenceAssertionError",
551
+ "EquivalenceDecision",
552
+ "EquivalenceDifferentError",
553
+ "EquivalenceEvidenceError",
554
+ "EquivalenceGuaranteeError",
555
+ "EquivalenceInputError",
556
+ "EquivalenceNotEvaluableError",
557
+ "EquivalencePolicy",
558
+ "EvidenceBundle",
559
+ "EvidenceEvent",
560
+ "EvidenceFile",
561
+ "ExactDecimal",
562
+ "ExecutionCancelled",
563
+ "ExecutionOptions",
564
+ "ExecutionPlan",
565
+ "ExecutionProblem",
566
+ "ExecutionResult",
567
+ "ExecutionState",
568
+ "ExecutionTimeout",
569
+ "ExpectedProvenance",
570
+ "Family",
571
+ "FeatureFit",
572
+ "FeatureMatrix",
573
+ "FeatureObservation",
574
+ "FeatureState",
575
+ "FeatureSupport",
576
+ "FieldMapping",
577
+ "FileInput",
578
+ "Filter",
579
+ "FitState",
580
+ "FloatType",
581
+ "FloatValue",
582
+ "GlobalKeyScope",
583
+ "HybridDecision",
584
+ "IRColumn",
585
+ "IgnoredOrder",
586
+ "IndependentReviewEvidence",
587
+ "InfinityValue",
588
+ "IngestionConversionReceipt",
589
+ "IngestionResult",
590
+ "IngestionSpec",
591
+ "IntegerType",
592
+ "IntegerValue",
593
+ "InvalidExecutionInput",
594
+ "IsNaN",
595
+ "IsNull",
596
+ "IsolationForestConfig",
597
+ "JobState",
598
+ "JoinCheck",
599
+ "JoinKey",
600
+ "KeyCheck",
601
+ "KeyScope",
602
+ "KeySpec",
603
+ "LiteralExpression",
604
+ "LoadReceipt",
605
+ "LoadedTable",
606
+ "LocalArtifactStore",
607
+ "LocalDataSource",
608
+ "LocalizeTimestamp",
609
+ "LogicalType",
610
+ "Measure",
611
+ "MigrationOptions",
612
+ "MigrationRequest",
613
+ "MigrationResult",
614
+ "MigrationSpec",
615
+ "MigrationStage",
616
+ "MissingDependencyError",
617
+ "Multiplicity",
618
+ "NaNPolicy",
619
+ "NaNValue",
620
+ "NamedExpression",
621
+ "NativeEngineError",
622
+ "NodeSchema",
623
+ "NormalCalibrationProfiles",
624
+ "NormalTrainingProfiles",
625
+ "Not",
626
+ "NullPolicy",
627
+ "NullValue",
628
+ "NumericPolicy",
629
+ "OracleState",
630
+ "OrderCheck",
631
+ "OrderPolicy",
632
+ "PandasAdapter",
633
+ "PandasInput",
634
+ "PandasTransformation",
635
+ "Parameter",
636
+ "ParquetDestination",
637
+ "PhysicalColumn",
638
+ "PipelineInput",
639
+ "PipelineRequest",
640
+ "PipelineResult",
641
+ "PipelineSpec",
642
+ "PlanCompiler",
643
+ "PolarsAdapter",
644
+ "PolarsInput",
645
+ "PolarsTransformation",
646
+ "PolicyProvenance",
647
+ "PreconditionSpec",
648
+ "PreprocessorBundle",
649
+ "ProfileFeature",
650
+ "ProfileMetadata",
651
+ "ProfileMetric",
652
+ "ProfileOptions",
653
+ "ProfileResult",
654
+ "ProfileSpec",
655
+ "ProfileVector",
656
+ "Project",
657
+ "PublishedTable",
658
+ "QuarantinedRecord",
659
+ "RExecutionBinding",
660
+ "RReviewBinding",
661
+ "RReviewOptions",
662
+ "RReviewResult",
663
+ "RecordBatchInput",
664
+ "ReducedTable",
665
+ "ReductionObservation",
666
+ "ReductionOptions",
667
+ "ReductionResult",
668
+ "RelationalPlan",
669
+ "ReportCount",
670
+ "ReportEvidenceManifest",
671
+ "ReportOptions",
672
+ "ReportPolicy",
673
+ "ReportPublicationManifest",
674
+ "ReportValue",
675
+ "ReportViewPolicy",
676
+ "ReportWitness",
677
+ "ResourceLimitError",
678
+ "ReviewedDecision",
679
+ "RuleContext",
680
+ "RuleCoverage",
681
+ "RuleDefinition",
682
+ "RuleEvaluation",
683
+ "RuleFinding",
684
+ "RuleImplementation",
685
+ "RuleOptions",
686
+ "RuleRegistry",
687
+ "RuleSpec",
688
+ "RunContext",
689
+ "SQLiteInput",
690
+ "ScalarValue",
691
+ "Scan",
692
+ "SchemaCheck",
693
+ "SchemaRef",
694
+ "SchemaVersionError",
695
+ "Sha256",
696
+ "SignificantOrder",
697
+ "SnapshotClient",
698
+ "SnapshotColumn",
699
+ "SnapshotDataSource",
700
+ "SnapshotManifest",
701
+ "SnapshotTable",
702
+ "Sort",
703
+ "SortKey",
704
+ "SortSpec",
705
+ "SourceReceipt",
706
+ "StabilityRecord",
707
+ "StageRecord",
708
+ "StageTiming",
709
+ "StreamInput",
710
+ "StringType",
711
+ "StringValue",
712
+ "TableArtifact",
713
+ "TableKeyScope",
714
+ "TableSchema",
715
+ "TableSpec",
716
+ "TemporalPolicy",
717
+ "TimeUnit",
718
+ "TimeZone",
719
+ "TimestampPolicy",
720
+ "TimestampType",
721
+ "TimestampValue",
722
+ "Tolerance",
723
+ "Transformation",
724
+ "TransformationRegistry",
725
+ "ValidatedIR",
726
+ "ValidationIssue",
727
+ "VerificationBinding",
728
+ "VerificationCheck",
729
+ "VerificationCoverage",
730
+ "VerificationInput",
731
+ "VerificationRequest",
732
+ "VerificationResult",
733
+ "VerificationReview",
734
+ "VerificationState",
735
+ "VersionInfo",
736
+ "Window",
737
+ "WindowMeasure",
738
+ "WorkflowCheckpoint",
739
+ "WorkflowExpected",
740
+ "WorkflowInputBinding",
741
+ "WorkflowRequest",
742
+ "WorkflowResult",
743
+ "WorkflowSpec",
744
+ "WorkflowStage",
745
+ "__version__",
746
+ "assert_equivalent",
747
+ "bag_contract",
748
+ "calibrate_detectors",
749
+ "canonical_contract_bytes",
750
+ "capture_duckdb",
751
+ "check_migration",
752
+ "combine_decisions",
753
+ "compare",
754
+ "comparison_fingerprint",
755
+ "comparison_report",
756
+ "contract_fingerprint",
757
+ "contract_json_schema",
758
+ "convert_dataset",
759
+ "default_rule_registry",
760
+ "detect",
761
+ "detect_component",
762
+ "detector_fingerprint",
763
+ "diff",
764
+ "equivalence_decision",
765
+ "evaluate_rules",
766
+ "execute",
767
+ "export_bundle",
768
+ "finalize_execution_with_r",
769
+ "finalize_with_r",
770
+ "fit_detectors",
771
+ "fit_preprocessor",
772
+ "get_adapter_capabilities",
773
+ "get_compatibility_policy",
774
+ "get_stability_register",
775
+ "import_bundle",
776
+ "infer_diff_contract",
777
+ "ingest_file",
778
+ "inspect_bundle",
779
+ "inspect_dataset",
780
+ "inspect_evidence",
781
+ "ir_fingerprint",
782
+ "iter_differences",
783
+ "iter_rule_findings",
784
+ "keyed_contract",
785
+ "load_dataset",
786
+ "migrate",
787
+ "migration_summary",
788
+ "native_compiler_registry",
789
+ "pipeline_summary",
790
+ "profile_execution",
791
+ "profile_spec_fingerprint",
792
+ "read_bundle",
793
+ "read_comparison",
794
+ "read_comparison_report",
795
+ "read_contract",
796
+ "read_detector_bundle",
797
+ "read_diff_contract",
798
+ "read_migration",
799
+ "read_pipeline",
800
+ "read_preprocessor",
801
+ "read_profile",
802
+ "read_reduction",
803
+ "read_rule_evaluation",
804
+ "read_table",
805
+ "read_verification",
806
+ "read_workflow",
807
+ "reduce_case",
808
+ "render_comparison_html",
809
+ "render_comparison_notebook",
810
+ "render_comparison_text",
811
+ "render_migration_report",
812
+ "render_report",
813
+ "review_with_r",
814
+ "rule_set_fingerprint",
815
+ "run_pipeline",
816
+ "run_workflow",
817
+ "score_detectors",
818
+ "sequence_contract",
819
+ "snapshot_fingerprint",
820
+ "transform_profiles",
821
+ "validate_contract",
822
+ "validate_ir",
823
+ "verification_summary",
824
+ "verify",
825
+ "verify_events",
826
+ "verify_migration",
827
+ "write_comparison_report",
828
+ "write_contract",
829
+ "write_detector_bundle",
830
+ "write_preprocessor",
831
+ "write_report",
832
+ ]