mostlyright-data 0.18.3__tar.gz → 0.19.0__tar.gz
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.
- mostlyright_data-0.19.0/.gitignore +25 -0
- mostlyright_data-0.19.0/PKG-INFO +160 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/README.md +29 -10
- mostlyright_data-0.19.0/pyproject.toml +131 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/scripts/hatch_build.py +3 -3
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/skills/mr-data-build/SKILL.md +24 -21
- mostlyright_data-0.19.0/src/mostlyright/data_harness/__init__.py +46 -0
- mostlyright_data-0.19.0/src/mostlyright/data_harness/hosted_crawler_protocol.py +115 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/key_seam.py +11 -93
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/part_check_evidence.py +9 -121
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/session_probes.py +9 -69
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/acquire.py +2 -3
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/commands.py +0 -5
- mostlyright_data-0.19.0/src/mostlyright/data_harness/thin/progress_vocabulary.py +49 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/propose.py +4 -39
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/recipe.py +3 -4
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/router.py +11 -16
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/stream.py +4 -1
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/transport.py +14 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/user_agent.py +5 -3
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/v4.py +19 -7
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/v4_runs.py +97 -12
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/vocabulary.py +79 -4
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/ux/clarification.py +8 -7
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/ux/commands/__init__.py +1 -55
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/ux/commands/auth.py +0 -12
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/ux/remediation.py +15 -80
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/ux/render.py +0 -18
- mostlyright_data-0.18.3/.gitignore +0 -34
- mostlyright_data-0.18.3/PKG-INFO +0 -292
- mostlyright_data-0.18.3/pyproject.toml +0 -315
- mostlyright_data-0.18.3/skills/mr-data-build/scripts/write_visual_run.py +0 -255
- mostlyright_data-0.18.3/src/mostlyright/_vendor/__init__.py +0 -1
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/LICENSE +0 -203
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/PROVENANCE.json +0 -97
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/__init__.py +0 -39
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/__init__.pyi +0 -12
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/_version.py +0 -24
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/cal_rec_boxes/__init__.py +0 -6
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/cal_rec_boxes/main.py +0 -335
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/__init__.py +0 -7
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/main.py +0 -106
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/utils.py +0 -55
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/__init__.py +0 -7
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/main.py +0 -104
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/utils.py +0 -300
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/__init__.py +0 -7
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/main.py +0 -141
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/typings.py +0 -58
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/utils.py +0 -186
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/config.yaml +0 -65
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/inference_engine/__init__.py +0 -3
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/inference_engine/base.py +0 -59
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/__init__.py +0 -6
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/main.py +0 -89
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/provider_config.py +0 -27
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/main.py +0 -430
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/models/PP-OCRv6_det_small.onnx +0 -0
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/models/PP-OCRv6_rec_small.onnx +0 -0
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/models/ch_ppocr_mobile_v2.0_cls_mobile.onnx +0 -0
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/py.typed +0 -0
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/utils/__init__.py +0 -3
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/utils/load_image.py +0 -25
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/utils/log.py +0 -40
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/utils/model_resolver.py +0 -14
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/utils/output.py +0 -31
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/utils/parse_parameters.py +0 -94
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/utils/process_img.py +0 -199
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/utils/typings.py +0 -68
- mostlyright_data-0.18.3/src/mostlyright/_vendor/rapidocr/utils/utils.py +0 -43
- mostlyright_data-0.18.3/src/mostlyright/data_harness/__init__.py +0 -158
- mostlyright_data-0.18.3/src/mostlyright/data_harness/acquisition/__init__.py +0 -55
- mostlyright_data-0.18.3/src/mostlyright/data_harness/acquisition/derived_credentials.py +0 -506
- mostlyright_data-0.18.3/src/mostlyright/data_harness/acquisition/http.py +0 -4329
- mostlyright_data-0.18.3/src/mostlyright/data_harness/acquisition/parsing.py +0 -1678
- mostlyright_data-0.18.3/src/mostlyright/data_harness/acquisition/ranges.py +0 -495
- mostlyright_data-0.18.3/src/mostlyright/data_harness/acquisition/result_download.py +0 -360
- mostlyright_data-0.18.3/src/mostlyright/data_harness/acquisition/retention_admission.py +0 -248
- mostlyright_data-0.18.3/src/mostlyright/data_harness/acquisition/sandbox.py +0 -7417
- mostlyright_data-0.18.3/src/mostlyright/data_harness/acquisition/sandbox_bootstrap.py +0 -20
- mostlyright_data-0.18.3/src/mostlyright/data_harness/acquisition/url_policy.py +0 -618
- mostlyright_data-0.18.3/src/mostlyright/data_harness/agent_runtime.py +0 -2743
- mostlyright_data-0.18.3/src/mostlyright/data_harness/assets/logo-ink.svg +0 -31
- mostlyright_data-0.18.3/src/mostlyright/data_harness/backends/__init__.py +0 -28
- mostlyright_data-0.18.3/src/mostlyright/data_harness/backends/pandas_backend.py +0 -350
- mostlyright_data-0.18.3/src/mostlyright/data_harness/backends/polars_backend.py +0 -366
- mostlyright_data-0.18.3/src/mostlyright/data_harness/backends/protocol.py +0 -124
- mostlyright_data-0.18.3/src/mostlyright/data_harness/backends/reference.py +0 -83
- mostlyright_data-0.18.3/src/mostlyright/data_harness/backends/registry.py +0 -55
- mostlyright_data-0.18.3/src/mostlyright/data_harness/backends/restrictions.py +0 -126
- mostlyright_data-0.18.3/src/mostlyright/data_harness/bounded_query.py +0 -729
- mostlyright_data-0.18.3/src/mostlyright/data_harness/bounded_scratch_sink.py +0 -223
- mostlyright_data-0.18.3/src/mostlyright/data_harness/catalog_job.py +0 -625
- mostlyright_data-0.18.3/src/mostlyright/data_harness/cli.py +0 -5324
- mostlyright_data-0.18.3/src/mostlyright/data_harness/compact_worker.py +0 -483
- mostlyright_data-0.18.3/src/mostlyright/data_harness/contracts.py +0 -65
- mostlyright_data-0.18.3/src/mostlyright/data_harness/coordinator.py +0 -1307
- mostlyright_data-0.18.3/src/mostlyright/data_harness/crosswalks.py +0 -268
- mostlyright_data-0.18.3/src/mostlyright/data_harness/declared_checks.py +0 -1595
- mostlyright_data-0.18.3/src/mostlyright/data_harness/delta.py +0 -353
- mostlyright_data-0.18.3/src/mostlyright/data_harness/delta_checks.py +0 -466
- mostlyright_data-0.18.3/src/mostlyright/data_harness/delta_classifier.py +0 -875
- mostlyright_data-0.18.3/src/mostlyright/data_harness/delta_persist.py +0 -750
- mostlyright_data-0.18.3/src/mostlyright/data_harness/delta_recompute.py +0 -348
- mostlyright_data-0.18.3/src/mostlyright/data_harness/delta_rows.py +0 -630
- mostlyright_data-0.18.3/src/mostlyright/data_harness/deploy.py +0 -924
- mostlyright_data-0.18.3/src/mostlyright/data_harness/deploy_target.py +0 -312
- mostlyright_data-0.18.3/src/mostlyright/data_harness/deployment_evidence.py +0 -1067
- mostlyright_data-0.18.3/src/mostlyright/data_harness/documents/__init__.py +0 -87
- mostlyright_data-0.18.3/src/mostlyright/data_harness/documents/_worker_capability.py +0 -262
- mostlyright_data-0.18.3/src/mostlyright/data_harness/documents/capture.py +0 -2201
- mostlyright_data-0.18.3/src/mostlyright/data_harness/documents/contracts.py +0 -1135
- mostlyright_data-0.18.3/src/mostlyright/data_harness/documents/lane.py +0 -528
- mostlyright_data-0.18.3/src/mostlyright/data_harness/documents/ocr.py +0 -879
- mostlyright_data-0.18.3/src/mostlyright/data_harness/documents/pdf.py +0 -2527
- mostlyright_data-0.18.3/src/mostlyright/data_harness/documents/registry.py +0 -652
- mostlyright_data-0.18.3/src/mostlyright/data_harness/documents/sandbox.py +0 -3140
- mostlyright_data-0.18.3/src/mostlyright/data_harness/documents/selections.py +0 -430
- mostlyright_data-0.18.3/src/mostlyright/data_harness/documents/tables.py +0 -994
- mostlyright_data-0.18.3/src/mostlyright/data_harness/documents/vendor_rapidocr.py +0 -138
- mostlyright_data-0.18.3/src/mostlyright/data_harness/events.py +0 -2152
- mostlyright_data-0.18.3/src/mostlyright/data_harness/fast_delimited.py +0 -239
- mostlyright_data-0.18.3/src/mostlyright/data_harness/fetch_egress_smoke.py +0 -107
- mostlyright_data-0.18.3/src/mostlyright/data_harness/governors.py +0 -1163
- mostlyright_data-0.18.3/src/mostlyright/data_harness/hosted_bootstrap.py +0 -1405
- mostlyright_data-0.18.3/src/mostlyright/data_harness/hosted_crawler.py +0 -1175
- mostlyright_data-0.18.3/src/mostlyright/data_harness/hosted_crawler_container_smoke.py +0 -351
- mostlyright_data-0.18.3/src/mostlyright/data_harness/hosted_crawler_fetch.py +0 -753
- mostlyright_data-0.18.3/src/mostlyright/data_harness/hosted_crawler_job.py +0 -1436
- mostlyright_data-0.18.3/src/mostlyright/data_harness/hosted_crawler_protocol.py +0 -677
- mostlyright_data-0.18.3/src/mostlyright/data_harness/hosted_deploy.py +0 -3038
- mostlyright_data-0.18.3/src/mostlyright/data_harness/hosted_ingestion_contract.py +0 -504
- mostlyright_data-0.18.3/src/mostlyright/data_harness/hosted_ingestion_job.py +0 -375
- mostlyright_data-0.18.3/src/mostlyright/data_harness/hosted_ingestion_job_smoke.py +0 -40
- mostlyright_data-0.18.3/src/mostlyright/data_harness/hosted_ingestion_worker.py +0 -267
- mostlyright_data-0.18.3/src/mostlyright/data_harness/hosted_rlimit_as_container_smoke.py +0 -123
- mostlyright_data-0.18.3/src/mostlyright/data_harness/hosted_run_worker.py +0 -13457
- mostlyright_data-0.18.3/src/mostlyright/data_harness/hosted_session_container_smoke.py +0 -196
- mostlyright_data-0.18.3/src/mostlyright/data_harness/hosted_session_worker.py +0 -4988
- mostlyright_data-0.18.3/src/mostlyright/data_harness/hosted_session_worker_job_smoke.py +0 -46
- mostlyright_data-0.18.3/src/mostlyright/data_harness/hosted_stream_recorder_container_smoke.py +0 -89
- mostlyright_data-0.18.3/src/mostlyright/data_harness/hosted_stream_recorder_job.py +0 -2138
- mostlyright_data-0.18.3/src/mostlyright/data_harness/hosted_stream_subscription_container_smoke.py +0 -52
- mostlyright_data-0.18.3/src/mostlyright/data_harness/hosted_stream_subscription_worker.py +0 -842
- mostlyright_data-0.18.3/src/mostlyright/data_harness/hosted_worker.py +0 -9840
- mostlyright_data-0.18.3/src/mostlyright/data_harness/incremental_slice_executor.py +0 -874
- mostlyright_data-0.18.3/src/mostlyright/data_harness/incremental_worker.py +0 -524
- mostlyright_data-0.18.3/src/mostlyright/data_harness/ingestion/__init__.py +0 -56
- mostlyright_data-0.18.3/src/mostlyright/data_harness/ingestion/contracts.py +0 -461
- mostlyright_data-0.18.3/src/mostlyright/data_harness/ingestion/faults.py +0 -42
- mostlyright_data-0.18.3/src/mostlyright/data_harness/ingestion/gcs_store.py +0 -1194
- mostlyright_data-0.18.3/src/mostlyright/data_harness/ingestion/spool.py +0 -130
- mostlyright_data-0.18.3/src/mostlyright/data_harness/ingestion/store.py +0 -885
- mostlyright_data-0.18.3/src/mostlyright/data_harness/inprocess_acquisition.py +0 -4947
- mostlyright_data-0.18.3/src/mostlyright/data_harness/legacy_table_recovery.py +0 -281
- mostlyright_data-0.18.3/src/mostlyright/data_harness/legacy_table_recovery_contract.py +0 -74
- mostlyright_data-0.18.3/src/mostlyright/data_harness/linux_process_boundary.py +0 -987
- mostlyright_data-0.18.3/src/mostlyright/data_harness/local_contracts.py +0 -3635
- mostlyright_data-0.18.3/src/mostlyright/data_harness/nbrender/CONTRACT.md +0 -212
- mostlyright_data-0.18.3/src/mostlyright/data_harness/nbrender/__init__.py +0 -12
- mostlyright_data-0.18.3/src/mostlyright/data_harness/nbrender/chrome.py +0 -359
- mostlyright_data-0.18.3/src/mostlyright/data_harness/nbrender/code_body.py +0 -266
- mostlyright_data-0.18.3/src/mostlyright/data_harness/nbrender/document.py +0 -407
- mostlyright_data-0.18.3/src/mostlyright/data_harness/nbrender/frame.py +0 -275
- mostlyright_data-0.18.3/src/mostlyright/data_harness/nbrender/interactive.py +0 -337
- mostlyright_data-0.18.3/src/mostlyright/data_harness/nbrender/markdown_body.py +0 -477
- mostlyright_data-0.18.3/src/mostlyright/data_harness/nbrender/mr_components.py +0 -134
- mostlyright_data-0.18.3/src/mostlyright/data_harness/nbrender/outputs_data.py +0 -595
- mostlyright_data-0.18.3/src/mostlyright/data_harness/nbrender/outputs_rich.py +0 -906
- mostlyright_data-0.18.3/src/mostlyright/data_harness/nbrender/outputs_source.py +0 -260
- mostlyright_data-0.18.3/src/mostlyright/data_harness/nbrender/outputs_stage.py +0 -176
- mostlyright_data-0.18.3/src/mostlyright/data_harness/nbrender/outputs_text.py +0 -400
- mostlyright_data-0.18.3/src/mostlyright/data_harness/nbrender/parse.py +0 -394
- mostlyright_data-0.18.3/src/mostlyright/data_harness/nbrender/status.py +0 -40
- mostlyright_data-0.18.3/src/mostlyright/data_harness/nbrender/tokens.py +0 -1295
- mostlyright_data-0.18.3/src/mostlyright/data_harness/notebook.py +0 -1710
- mostlyright_data-0.18.3/src/mostlyright/data_harness/offline.py +0 -2049
- mostlyright_data-0.18.3/src/mostlyright/data_harness/operation_registry.py +0 -1007
- mostlyright_data-0.18.3/src/mostlyright/data_harness/operator_setup.py +0 -239
- mostlyright_data-0.18.3/src/mostlyright/data_harness/pipeline.py +0 -7125
- mostlyright_data-0.18.3/src/mostlyright/data_harness/plan_graph.py +0 -2067
- mostlyright_data-0.18.3/src/mostlyright/data_harness/preparation/__init__.py +0 -104
- mostlyright_data-0.18.3/src/mostlyright/data_harness/preparation/contracts.py +0 -1017
- mostlyright_data-0.18.3/src/mostlyright/data_harness/preparation/engine.py +0 -221
- mostlyright_data-0.18.3/src/mostlyright/data_harness/preparation/errors.py +0 -14
- mostlyright_data-0.18.3/src/mostlyright/data_harness/preparation/gates.py +0 -751
- mostlyright_data-0.18.3/src/mostlyright/data_harness/preparation/joins.py +0 -574
- mostlyright_data-0.18.3/src/mostlyright/data_harness/preparation/profile.py +0 -384
- mostlyright_data-0.18.3/src/mostlyright/data_harness/preparation/table.py +0 -217
- mostlyright_data-0.18.3/src/mostlyright/data_harness/preparation/transforms.py +0 -568
- mostlyright_data-0.18.3/src/mostlyright/data_harness/progress_events.py +0 -654
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/__init__.py +0 -46
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/_openpyxl.py +0 -17
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/budgets.py +0 -48
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/configurable_delimited.py +0 -284
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/containers.py +0 -963
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/contracts.py +0 -542
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/delimited.py +0 -257
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/geojson_vector.py +0 -442
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/geopackage.py +0 -346
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/geoparquet.py +0 -213
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/grib2/__init__.py +0 -33
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/grib2/admission.py +0 -722
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/grib2/collection.py +0 -444
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/grib2/collection_reader.py +0 -198
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/grib2/decode.py +0 -1009
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/grib2/geometry.py +0 -1133
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/grib2/portable_math.py +0 -501
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/grib_eccodes.py +0 -553
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/html_tabular.py +0 -380
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/html_web_extract.py +0 -814
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/json_tabular.py +0 -485
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/parquet_tabular.py +0 -158
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/pcaxis_px.py +0 -485
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/protobuf_tabular.py +0 -454
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/raster/__init__.py +0 -78
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/raster/_bytes.py +0 -54
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/raster/decode.py +0 -306
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/raster/family.py +0 -326
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/raster/jpeg2000.py +0 -177
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/raster/profiles.py +0 -235
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/raster/rendered.py +0 -122
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/raster/safe.py +0 -168
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/raster/sentinel_safe.py +0 -488
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/raster/tiff.py +0 -515
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/registry.py +0 -1045
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/README.md +0 -110
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/archive.gzip/1.0.0/cities_one_stream/cities.csv.gz +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/archive.gzip/1.0.0/cities_one_stream/expected.json +0 -24
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/archive.gzip/1.1.0/cities_one_stream/cities.csv.gz +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/archive.gzip/1.1.0/cities_one_stream/expected.json +0 -24
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/archive.tar/1.0.0/cities_beside_a_directory_entry/cities.tar +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/archive.tar/1.0.0/cities_beside_a_directory_entry/expected.json +0 -24
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/archive.tar/1.1.0/cities_beside_a_directory_entry/cities.tar +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/archive.tar/1.1.0/cities_beside_a_directory_entry/expected.json +0 -24
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/archive.zip/1.0.0/cities_beside_a_second_member/cities.zip +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/archive.zip/1.0.0/cities_beside_a_second_member/expected.json +0 -25
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/archive.zip/1.1.0/dwd_semicolon_station_member/dwd-station.zip +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/archive.zip/1.1.0/dwd_semicolon_station_member/expected.json +0 -25
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/archive.zip/1.2.0/dwd_semicolon_station_member/dwd-station.zip +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/archive.zip/1.2.0/dwd_semicolon_station_member/expected.json +0 -25
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/an_ordinary_comma_separated_table/cities.csv +0 -3
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/an_ordinary_comma_separated_table/expected.json +0 -23
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/quoted_fields_holding_the_delimiter/cities.tsv +0 -5
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/quoted_fields_holding_the_delimiter/expected.json +0 -25
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/delimited_text/1.1.0/an_hourly_observation_table_served_as_plain_text/expected.json +0 -30
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/delimited_text/1.1.0/an_hourly_observation_table_served_as_plain_text/observations.csv +0 -5
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/delimited_text/2.0.0/publisher_preamble/expected.json +0 -41
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/delimited_text/2.0.0/publisher_preamble/indices.csv +0 -5
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/geojson.vector/1.0.0/czech_capital/expected.json +0 -36
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/geojson.vector/1.0.0/czech_capital/places.geojson +0 -17
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/geopackage.vector/1.0.0/epsg_4326_feature/expected.json +0 -29
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/geopackage.vector/1.0.0/epsg_4326_feature/places.gpkg +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/geoparquet.vector/1.0.0/primary_wkb_point/expected.json +0 -28
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/geoparquet.vector/1.0.0/primary_wkb_point/places.parquet +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/html.tabular/1.0.0/sanitized_table/expected.json +0 -24
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/html.tabular/1.0.0/sanitized_table/table.html +0 -4
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/html.web_extract/1.0.0/json_ld_scorecards/expected.json +0 -27
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/html.web_extract/1.0.0/json_ld_scorecards/scorecards.html +0 -1
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/html.web_extract/1.1.0/article_text_order/article.html +0 -3
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/html.web_extract/1.1.0/article_text_order/expected.json +0 -28
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/image.rendered/1.0.0/tiny_png/expected.json +0 -31
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/image.rendered/1.0.0/tiny_png/tiny-rendered.png +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/json.tabular/1.0.0/nested_hourly_observations/expected.json +0 -44
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/json.tabular/1.0.0/nested_hourly_observations/stations.json +0 -1
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/json.tabular/1.1.0/an_observation_stream_served_as_plain_text/expected.json +0 -48
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/json.tabular/1.1.0/an_observation_stream_served_as_plain_text/observations.ndjson +0 -4
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/meteorology.bufr/1.0.0/eccodes_bufr4_subset/eccodes-bufr4.bufr +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/meteorology.bufr/1.0.0/eccodes_bufr4_subset/expected.json +0 -25
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/meteorology.grib/1.0.0/eccodes_grib1_origin/expected.json +0 -51
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/meteorology.grib/1.0.0/eccodes_grib1_origin/regular-ll-surface.grib1 +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/microdata.sas_xpt/1.0.0/two_raw_columns/expected.json +0 -17
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/microdata.sas_xpt/1.0.0/two_raw_columns/survey.xpt +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/microdata.spss_sav/1.0.0/two_raw_columns/expected.json +0 -17
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/microdata.spss_sav/1.0.0/two_raw_columns/survey.sav +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/microdata.stata_dta/1.0.0/two_raw_columns/expected.json +0 -17
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/microdata.stata_dta/1.0.0/two_raw_columns/stata.dta +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/official.pcaxis_px/1.0.0/population_by_region_and_year/expected.json +0 -25
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/official.pcaxis_px/1.0.0/population_by_region_and_year/population.px +0 -12
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/official.sdmx_json/1.0.0/compact_population_series/expected.json +0 -27
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/official.sdmx_json/1.0.0/compact_population_series/population.json +0 -1
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/parquet.tabular/1.0.0/two_columns/expected.json +0 -25
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/parquet.tabular/1.0.0/two_columns/prices.parquet +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/expected.json +0 -45
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/gtfs-realtime.desc +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/trip-updates.pb +0 -7
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/raster.geospatial/1.0.0/tiny_geotiff/expected.json +0 -36
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/raster.geospatial/1.0.0/tiny_geotiff/tiny-geospatial.tif +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/satellite.goes_abi_l2/1.0.0/authored_cmi_window/expected.json +0 -32
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/satellite.goes_abi_l2/1.0.0/authored_cmi_window/goes-abi-l2-cmi-window.nc +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd/1.0.0/authored_b13_single_bzip2/expected.json +0 -31
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd/1.0.0/authored_b13_single_bzip2/himawari-b13-0101-bzip2.dat +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd_complete/1.0.0/authored_b13_three_segment_scan/expected.json +0 -36
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd_complete/1.0.0/authored_b13_three_segment_scan/himawari-hsd-b13-complete.zip +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/satellite.msg_seviri_l15/1.0.0/authored_calibrated_complete_visir/expected.json +0 -54
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/satellite.msg_seviri_l15/1.0.0/authored_calibrated_complete_visir/msg-seviri-l15.zip +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/satellite.sentinel_safe/1.0.0/authored_b02_scl_window/expected.json +0 -50
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/satellite.sentinel_safe/1.0.0/authored_b02_scl_window/sentinel-safe-b02-scl.zip +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/satellite.xrit_image/1.0.0/authored_complete_raw_counts/expected.json +0 -47
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/satellite.xrit_image/1.0.0/authored_complete_raw_counts/xrit-complete-image.zip +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/scientific.fits/1.0.0/tiny_primary_window/expected.json +0 -29
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/scientific.fits/1.0.0/tiny_primary_window/tiny-primary.fits +0 -1
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/scientific.hdf4/1.0.0/authored_temperature_window/expected.json +0 -47
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/scientific.hdf4/1.0.0/authored_temperature_window/temperature.hdf +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/scientific.hdf5/1.0.0/authored_temperature_window/expected.json +0 -47
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/scientific.hdf5/1.0.0/authored_temperature_window/temperature.h5 +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_grid_temperature_window/expected.json +0 -50
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_grid_temperature_window/nasa-hdfeos2-grid.hdf +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_swath_temperature_window/expected.json +0 -56
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_swath_temperature_window/nasa-hdfeos2-swath.hdf +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/scientific.netcdf/1.0.0/authored_classic_temperature_window/expected.json +0 -47
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/scientific.netcdf/1.0.0/authored_classic_temperature_window/temperature-classic.nc +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/scientific.zarr/1.0.0/authored_v3_temperature_window/expected.json +0 -50
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/scientific.zarr/1.0.0/authored_v3_temperature_window/temperature-zarr-v3.zip +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/an_ordinary_table_beside_a_second_sheet/cities.xlsx +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/an_ordinary_table_beside_a_second_sheet/expected.json +0 -24
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/shares_the_workbook_had_already_computed/expected.json +0 -27
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/shares_the_workbook_had_already_computed/shares.xlsx +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.1.0/shares_the_workbook_had_already_computed/expected.json +0 -27
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.1.0/shares_the_workbook_had_already_computed/shares.xlsx +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/README.md +0 -20
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/gfs_2m_temperature/expected.json +0 -55
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/gfs_2m_temperature/gfs-2m-temperature.grib2 +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_2m_temperature/expected.json +0 -54
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_2m_temperature/hrrr-2m-temperature.grib2 +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_categorical_rain/expected.json +0 -54
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_categorical_rain/hrrr-categorical-rain.grib2 +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/weather.grib2/2.0.0/hrrr_2m_temperature/expected.json +0 -54
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/weather.grib2/2.0.0/hrrr_2m_temperature/hrrr-2m-temperature.grib2 +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/weather.grib2/3.0.0/gfs_and_hrrr_categorical_rain/expected.json +0 -50
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/weather.grib2/3.0.0/gfs_and_hrrr_categorical_rain/gfs-and-hrrr-categorical-rain.grib2 +0 -0
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/plain_filing_fact/expected.json +0 -17
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/plain_filing_fact/filing.xml +0 -3
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/xml_inline_fact/expected.json +0 -16
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/xml_inline_fact/filing.xhtml +0 -4
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/pacer_rss_feed/expected.json +0 -42
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/pacer_rss_feed/feed.xml +0 -8
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/sec_form_d_filing/expected.json +0 -40
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/sec_form_d_filing/filing.xml +0 -10
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/unified_agenda_extract/agenda.xml +0 -5
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/unified_agenda_extract/expected.json +0 -39
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/samples.py +0 -582
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/scientific.py +0 -1085
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/scientific_arrays/__init__.py +0 -47
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/scientific_arrays/container.py +0 -228
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/scientific_arrays/goes.py +0 -189
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/scientific_arrays/hdf4.py +0 -407
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/scientific_arrays/hdf4_bridge.py +0 -618
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/scientific_arrays/hdf5.py +0 -201
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/scientific_arrays/native.py +0 -606
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/scientific_arrays/netcdf.py +0 -255
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/scientific_arrays/profiles.py +0 -496
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/scientific_arrays/raw.py +0 -396
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/scientific_arrays/zarr.py +0 -491
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/scientific_catalog.py +0 -49
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/scientific_segmented/__init__.py +0 -95
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/scientific_segmented/asset_sets.py +0 -101
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/scientific_segmented/formats.py +0 -360
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/scientific_segmented/hsd.py +0 -718
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/scientific_segmented/native.py +0 -200
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/scientific_segmented/profiles.py +0 -365
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/scientific_segmented/reader.py +0 -877
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/scientific_segmented/xrit.py +0 -1200
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/sdmx_json.py +0 -585
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/spreadsheet.py +0 -801
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/statistical_microdata.py +0 -447
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/tabular.py +0 -510
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/vector.py +0 -129
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/vector_wkb.py +0 -199
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/xbrl_facts.py +0 -317
- mostlyright_data-0.18.3/src/mostlyright/data_harness/readers/xml_tabular.py +0 -373
- mostlyright_data-0.18.3/src/mostlyright/data_harness/recipe.py +0 -5638
- mostlyright_data-0.18.3/src/mostlyright/data_harness/review.py +0 -2533
- mostlyright_data-0.18.3/src/mostlyright/data_harness/rowset.py +0 -301
- mostlyright_data-0.18.3/src/mostlyright/data_harness/run_execution_v4.py +0 -4385
- mostlyright_data-0.18.3/src/mostlyright/data_harness/run_phase_timing.py +0 -73
- mostlyright_data-0.18.3/src/mostlyright/data_harness/signing.py +0 -101
- mostlyright_data-0.18.3/src/mostlyright/data_harness/source_bootstrap.py +0 -238
- mostlyright_data-0.18.3/src/mostlyright/data_harness/source_bundle_writer.py +0 -597
- mostlyright_data-0.18.3/src/mostlyright/data_harness/source_discovery.py +0 -898
- mostlyright_data-0.18.3/src/mostlyright/data_harness/source_history_candidate_child.py +0 -188
- mostlyright_data-0.18.3/src/mostlyright/data_harness/source_history_transform_child.py +0 -151
- mostlyright_data-0.18.3/src/mostlyright/data_harness/source_inventory.py +0 -162
- mostlyright_data-0.18.3/src/mostlyright/data_harness/source_partition.py +0 -50
- mostlyright_data-0.18.3/src/mostlyright/data_harness/source_raw_inventory.py +0 -240
- mostlyright_data-0.18.3/src/mostlyright/data_harness/source_state_index.py +0 -544
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/__init__.py +0 -225
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/_adapter_steps.py +0 -231
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/adapters.py +0 -1259
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/authenticated_https.py +0 -374
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/authenticated_https_v2.py +0 -1332
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/authenticated_https_v3.py +0 -2267
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/cadence.py +0 -1428
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/cadence_emission.py +0 -453
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/cadence_history.py +0 -546
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/__init__.py +0 -17
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/admission.py +0 -482
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/authoring.py +0 -1701
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/authoring_policy.py +0 -780
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/authoring_shards.py +0 -1251
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/bounded_io.py +0 -246
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/channel.py +0 -525
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/channel_client.py +0 -296
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/contracts.py +0 -825
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/coverage.py +0 -137
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/embedding.py +0 -532
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/entry_v2.py +0 -1179
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/fill.py +0 -3873
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/fill_partitions.py +0 -459
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/fill_staging.py +0 -1105
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/gating.py +0 -363
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/generation_receipt.py +0 -1607
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/harvest/__init__.py +0 -7
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/harvest/ckan.py +0 -384
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/harvest/datagov_v4.py +0 -798
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/harvest/protocol.py +0 -964
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/harvest/sdmx.py +0 -445
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/harvest/stac.py +0 -384
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/hosted_catalog.py +0 -105
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/identity_history.py +0 -1549
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/neural.py +0 -1618
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/packed_catalog.py +0 -2345
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/packed_retrieval.py +0 -1517
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/packed_writer.py +0 -2802
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/query_trace.py +0 -1037
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/recommend.py +0 -171
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/retrieval.py +0 -230
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/retrieval_manifest.py +0 -995
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/sealed.py +0 -560
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/search.py +0 -238
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/streaming_delta.py +0 -1098
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/catalog/update.py +0 -1040
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/collections.py +0 -815
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/contracts.py +0 -2278
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/dataset.py +0 -272
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/deletion.py +0 -761
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/document_projection.py +0 -226
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/fitness.py +0 -159
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/governance.py +0 -253
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/hosted.py +0 -173
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/integration.py +0 -218
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/page_collections.py +0 -2294
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/range_reader.py +0 -418
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/registry.py +0 -759
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/rights_rule.py +0 -65
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/source_cadence_vectors.v1.json +0 -1
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/sports.py +0 -521
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream.py +0 -810
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_capture_session.py +0 -3733
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_connector.py +0 -2625
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_connectors/fixture.array-frames.v4.json +0 -34
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_connectors/fixture.cursor-resume.v3.json +0 -38
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_connectors/fixture.json-keepalive.v4.json +0 -38
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-ed25519.v2.json +0 -66
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac.v2.json +0 -74
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac384.v2.json +0 -74
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac512.v2.json +0 -74
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame.v2.json +0 -57
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-header-rsa.v2.json +0 -65
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-header.v2.json +0 -52
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-permessage-jwt.v2.json +0 -60
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-permessage.v2.json +0 -75
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-prelude.v2.json +0 -92
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-query.v2.json +0 -48
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-subprotocol.v2.json +0 -46
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-subscribe.v2.json +0 -44
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-urlpath.v2.json +0 -67
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_connectors/fixture.loose-frames.v4.json +0 -39
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_connectors/fixture.text-keepalive.v4.json +0 -39
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_connectors/polymarket.clob-market.v1.json +0 -39
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_credential.py +0 -561
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_numbers.py +0 -338
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_prelude.py +0 -464
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_recorder.py +0 -2049
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_registry.py +0 -597
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_rotation.py +0 -804
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_segment_recorder.py +0 -251
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_series.py +0 -3108
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_signing.py +0 -328
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sources/stream_transport.py +0 -1435
- mostlyright_data-0.18.3/src/mostlyright/data_harness/sql_transform_engine.py +0 -2015
- mostlyright_data-0.18.3/src/mostlyright/data_harness/stream_order_vector.py +0 -136
- mostlyright_data-0.18.3/src/mostlyright/data_harness/stream_recovery_objects.py +0 -256
- mostlyright_data-0.18.3/src/mostlyright/data_harness/stream_segment_spill.py +0 -297
- mostlyright_data-0.18.3/src/mostlyright/data_harness/stream_subscription_feed.py +0 -1004
- mostlyright_data-0.18.3/src/mostlyright/data_harness/stream_subscription_sealer.py +0 -1636
- mostlyright_data-0.18.3/src/mostlyright/data_harness/stream_subscription_worker.py +0 -4020
- mostlyright_data-0.18.3/src/mostlyright/data_harness/stream_venue.py +0 -788
- mostlyright_data-0.18.3/src/mostlyright/data_harness/stream_venue_staging.py +0 -1073
- mostlyright_data-0.18.3/src/mostlyright/data_harness/studio_boundary.py +0 -2053
- mostlyright_data-0.18.3/src/mostlyright/data_harness/studio_subscription_control.py +0 -1364
- mostlyright_data-0.18.3/src/mostlyright/data_harness/table_parts.py +0 -973
- mostlyright_data-0.18.3/src/mostlyright/data_harness/table_profile.py +0 -387
- mostlyright_data-0.18.3/src/mostlyright/data_harness/thin/collection_plan.py +0 -211
- mostlyright_data-0.18.3/src/mostlyright/data_harness/thin/workers.py +0 -249
- mostlyright_data-0.18.3/src/mostlyright/data_harness/ucum/TABLE-PIN.json +0 -40
- mostlyright_data-0.18.3/src/mostlyright/data_harness/ucum/ucum-subset.v1.json +0 -632
- mostlyright_data-0.18.3/src/mostlyright/data_harness/unit_flow.py +0 -927
- mostlyright_data-0.18.3/src/mostlyright/data_harness/units.py +0 -572
- mostlyright_data-0.18.3/src/mostlyright/data_harness/ux/commands/catalog_author.py +0 -431
- mostlyright_data-0.18.3/src/mostlyright/data_harness/ux/commands/catalog_harvest.py +0 -545
- mostlyright_data-0.18.3/src/mostlyright/data_harness/ux/commands/catalog_publish.py +0 -1859
- mostlyright_data-0.18.3/src/mostlyright/data_harness/ux/commands/record.py +0 -1771
- mostlyright_data-0.18.3/src/mostlyright/data_harness/ux/headline.py +0 -691
- mostlyright_data-0.18.3/src/mostlyright/data_harness/ux/hosted_acquisition.py +0 -999
- mostlyright_data-0.18.3/src/mostlyright/data_harness/ux/local_review.py +0 -372
- mostlyright_data-0.18.3/src/mostlyright/data_harness/ux/readers.py +0 -1126
- mostlyright_data-0.18.3/src/mostlyright/data_harness/v4_acquisition.py +0 -1336
- mostlyright_data-0.18.3/src/mostlyright/data_harness/v4_check_dialect.py +0 -495
- mostlyright_data-0.18.3/src/mostlyright/data_harness/v4_closed_source.py +0 -268
- mostlyright_data-0.18.3/src/mostlyright/data_harness/v4_document_pin.py +0 -145
- mostlyright_data-0.18.3/src/mostlyright/data_harness/v4_reader_pin.py +0 -210
- mostlyright_data-0.18.3/src/mostlyright/data_harness/v4_recipe.py +0 -3068
- mostlyright_data-0.18.3/src/mostlyright/data_harness/v4_required_controls.py +0 -670
- mostlyright_data-0.18.3/src/mostlyright/data_harness/v4_snapshot_artifact.py +0 -367
- mostlyright_data-0.18.3/src/mostlyright/data_harness/v4_stream_recording.py +0 -595
- mostlyright_data-0.18.3/src/mostlyright/data_harness/v4_transform.py +0 -355
- mostlyright_data-0.18.3/src/mostlyright/data_harness/v4_window.py +0 -1382
- mostlyright_data-0.18.3/src/mostlyright/data_harness/visual_run/__init__.py +0 -83
- mostlyright_data-0.18.3/src/mostlyright/data_harness/visual_run/authoring.py +0 -235
- mostlyright_data-0.18.3/src/mostlyright/data_harness/visual_run/contracts.py +0 -673
- mostlyright_data-0.18.3/src/mostlyright/data_harness/visual_run/materialize.py +0 -486
- mostlyright_data-0.18.3/src/mostlyright/data_harness/visual_run/observations.py +0 -874
- mostlyright_data-0.18.3/src/mostlyright/data_harness/visual_run/reducer.py +0 -280
- mostlyright_data-0.18.3/src/mostlyright/data_harness/visual_run/sdk.py +0 -892
- mostlyright_data-0.18.3/src/mostlyright/data_harness/visual_run/store.py +0 -584
- mostlyright_data-0.18.3/src/mostlyright/data_harness/visual_run/transport.py +0 -239
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/skills/mr-data-build/agents/openai.yaml +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/skills/mr-data-build/scripts/write_research_notebook.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/canonical.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/formats.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/page_coverage.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/skill_assets.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/table_manifest.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/__init__.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/acquire_cancel.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/activity.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/approvals.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/categories.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/dataset-categories-v1.json +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/download.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/narrative.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/parity.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/probe.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/research.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/runs.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/session.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/stream_venue.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/v4_artifacts.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/v4_catalog.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/v4_connections.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/v4_dataset_covers.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/v4_datasets.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/v4_handoff.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/v4_narrative.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/v4_query.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/v4_secrets.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/v4_stream.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/thin/v4_tables.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/ux/__init__.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/ux/attendance.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/ux/cloud_auth.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/ux/commands/clarify.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/ux/commands/login.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/ux/commands/whoami.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/ux/credential_native.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/ux/credential_store.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/ux/credentials.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/ux/login.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/ux/path_kind.py +0 -0
- {mostlyright_data-0.18.3 → mostlyright_data-0.19.0}/src/mostlyright/data_harness/ux/plain_file.py +0 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
.venv/
|
|
2
|
+
__pycache__/
|
|
3
|
+
.pytest_cache/
|
|
4
|
+
.ruff_cache/
|
|
5
|
+
*.py[cod]
|
|
6
|
+
dist/
|
|
7
|
+
build/
|
|
8
|
+
*.egg-info/
|
|
9
|
+
.env
|
|
10
|
+
.DS_Store
|
|
11
|
+
.work/
|
|
12
|
+
|
|
13
|
+
# A generator that stages a rewrite beside the file it is replacing and moves it into place
|
|
14
|
+
# leaves nothing behind on success; if an interruption leaves one behind, it is not a source file
|
|
15
|
+
# somebody should be offered the chance to commit. The Reader and operation table generator that
|
|
16
|
+
# wrote these went to Studio with the registries it read.
|
|
17
|
+
*.generated
|
|
18
|
+
|
|
19
|
+
# The performance suite builds its fixture inside the repository root rather than in a temporary
|
|
20
|
+
# directory, so an interrupted or parallel run leaves one of these behind. Nothing in one is a
|
|
21
|
+
# source file: it is a generated build folder holding a hundred thousand rows of synthetic data,
|
|
22
|
+
# under directories the build seals read-only, and `git add -A` in that window commits the lot.
|
|
23
|
+
# Recorded as issue #311; ignored here so the window cannot cost anybody a rewritten branch in
|
|
24
|
+
# the meantime.
|
|
25
|
+
.mostlyright-performance-*/
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: mostlyright-data
|
|
3
|
+
Version: 0.19.0
|
|
4
|
+
Summary: Mostly Right hosted CLI for reviewed datasets
|
|
5
|
+
Project-URL: Homepage, https://mostlyright.md/
|
|
6
|
+
Project-URL: Documentation, https://mostlyright.md/docs/guides/cli/
|
|
7
|
+
Requires-Python: >=3.13
|
|
8
|
+
Provides-Extra: build
|
|
9
|
+
Requires-Dist: hatchling==1.28.0; extra == 'build'
|
|
10
|
+
Requires-Dist: uv-build==0.11.3; extra == 'build'
|
|
11
|
+
Description-Content-Type: text/markdown
|
|
12
|
+
|
|
13
|
+
# mostlyright-data
|
|
14
|
+
|
|
15
|
+
Browse datasets built by our community or create your own with agents that find the sources and
|
|
16
|
+
configure the pipeline. Mostly Right treats a successful run as one readable dataset version;
|
|
17
|
+
publishing that version does not by itself prove that catch-up or scheduled refresh is running.
|
|
18
|
+
|
|
19
|
+
`mostlyright-data` is the command-line client. It probes sources, registers one recipe document,
|
|
20
|
+
starts and follows hosted dataset runs, reads what they delivered, and downloads the datasets after
|
|
21
|
+
they finish.
|
|
22
|
+
|
|
23
|
+
## Requirements
|
|
24
|
+
|
|
25
|
+
Use CPython 3.13 or newer.
|
|
26
|
+
|
|
27
|
+
## Install
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
python -m pip install mostlyright-data
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
That is the whole install. There is no second profile and no lane to choose: every `mr-data`
|
|
34
|
+
command sends its work to the backend, and it works on Linux, macOS, and Windows.
|
|
35
|
+
|
|
36
|
+
It also carries the `mr-data-build` agent skill, which Claude Code and Codex read to author a
|
|
37
|
+
recipe without rediscovering the contract a run at a time. The first `mr-data` command you run
|
|
38
|
+
places it in your agent's skill directory; there is nothing to install by hand. A skill you have
|
|
39
|
+
edited yourself is never replaced, and `MOSTLYRIGHT_SKILL_AUTOINSTALL=0` switches the placement
|
|
40
|
+
off.
|
|
41
|
+
|
|
42
|
+
## Sign in
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
mr-data login
|
|
46
|
+
mr-data whoami
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
`login` stores a device key on the current machine. `whoami` checks that key.
|
|
50
|
+
|
|
51
|
+
## Check the installation
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
mr-data --version
|
|
55
|
+
mr-data --help
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Build a dataset
|
|
59
|
+
|
|
60
|
+
Create the dataset, choose its primary category from the fixed vocabulary, then register a recipe document with the sources, table schema, transformations and checks. Use the created dataset ID in the recipe:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
mr-data dataset create --name "Dataset title" --json
|
|
64
|
+
mr-data dataset categories --json
|
|
65
|
+
mr-data dataset set DATASET_ID --category climate-environment
|
|
66
|
+
mr-data recipe recipe.json --json
|
|
67
|
+
mr-data run --recipe RECIPE_ID --digest RECIPE_DIGEST --full
|
|
68
|
+
mr-data status RUN_ID
|
|
69
|
+
mr-data checks RUN_ID
|
|
70
|
+
mr-data download RUN_ID --output ./out
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Use the identifiers returned by registration and run submission. `mr-data dataset create`
|
|
74
|
+
creates a dataset page before a recipe is ready. `mr-data watch RUN_ID` follows a submitted run.
|
|
75
|
+
|
|
76
|
+
To request an offline replay of retained inputs with a registered revision:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
mr-data run --recipe RECIPE_ID --digest RECIPE_DIGEST --mode replay --sources-from RUN_ID
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Studio must have replay enabled and the named successful run must belong to the same table with
|
|
83
|
+
its raw inputs still retained. Replay compares against that run and never becomes the live version.
|
|
84
|
+
Studio returns a typed refusal when replay is unavailable; the CLI does not fetch sources locally.
|
|
85
|
+
|
|
86
|
+
The hosted engine executes sample, full and refresh runs. A refresh uses each source's declared
|
|
87
|
+
update behavior: bounded source windows merge with retained history; snapshot sources are
|
|
88
|
+
revalidated or acquired again. The table's transformations and checks run over the resulting
|
|
89
|
+
source relations. URL windows may use declared query parameters or path placeholders; a fixed
|
|
90
|
+
date URL does not advance automatically. Configure a correction lookback where the publisher
|
|
91
|
+
can revise earlier observations.
|
|
92
|
+
|
|
93
|
+
A source exposing only its current snapshot cannot supply a historical delta. It remains a
|
|
94
|
+
supported source, with snapshot comparison and recomputation rather than a claim that only new
|
|
95
|
+
rows were fetched. Recorded streams use their registered capture and continuation semantics.
|
|
96
|
+
|
|
97
|
+
See [Recipe documents](docs/RECIPE-DOCUMENT.md) for source-window and bootstrap contracts.
|
|
98
|
+
A table's first succeeded run goes live on its own, whatever mode it was; `mr-data promote
|
|
99
|
+
TABLE_ID` records how often it refreshes and why, and puts back a table that was withdrawn. Claim
|
|
100
|
+
a table is live and current only when Studio returns that evidence.
|
|
101
|
+
|
|
102
|
+
## There is no local execution
|
|
103
|
+
|
|
104
|
+
There used to be. A second product lane built datasets on your own machine, and `mr-data` carried
|
|
105
|
+
about fifty commands for making, running, serving, indexing, checking and signing a build here.
|
|
106
|
+
That lane is gone: the engine it ran now ships only inside the backend's worker images.
|
|
107
|
+
|
|
108
|
+
`mr-data --help` lists every command this product has. The execution engine and its dependency
|
|
109
|
+
closure live in Mostly Right Studio's `apps/worker`; this repository ships no engine extras,
|
|
110
|
+
worker executables or image publisher.
|
|
111
|
+
|
|
112
|
+
## Documentation
|
|
113
|
+
|
|
114
|
+
- [CLI guide](https://mostlyright.md/docs/guides/cli/)
|
|
115
|
+
- [Hosted research sessions](https://mostlyright.md/docs/guides/hosted-research/)
|
|
116
|
+
- [Credentials](https://mostlyright.md/docs/guides/credentials/)
|
|
117
|
+
- [Public datasets](https://mostlyright.md/docs/guides/use-public-datasets/)
|
|
118
|
+
- [Certified document extraction](docs/DOCUMENT-EXTRACTION.md)
|
|
119
|
+
|
|
120
|
+
Use `mr-data --help` for the full command list and options. Commands that support
|
|
121
|
+
`--json` write one JSON object.
|
|
122
|
+
|
|
123
|
+
`--output` may use a relative path.
|
|
124
|
+
|
|
125
|
+
## Behavior and limits
|
|
126
|
+
|
|
127
|
+
- Weather Reader versions 1 and 2 accept one extracted GRIB2 record and refuse a multi-record GFS
|
|
128
|
+
or HRRR file. Version 3 reads a bounded collection and selects exactly one sealed record.
|
|
129
|
+
- A single-address credential-free public HTTPS source uses the reviewed hosted route. Bounded
|
|
130
|
+
collections have no route at all; the retired local lane was their only route.
|
|
131
|
+
- A recipe supports up to 256 declared sources. Source count is separate from bounded request concurrency and resource limits. Existing source adapters and Readers retain their own format, pagination, byte, row and credential contracts; a URL collection is not an implicit permission to crawl arbitrary links.
|
|
132
|
+
- A keyed stream venue is named by a credential reference the backend holds, never by a value. No command flag takes a secret as an argument. Venues reached over an actual WebSocket are covered; a venue whose credential comes from an interactive human login, or that is not WebSocket at all, is not.
|
|
133
|
+
|
|
134
|
+
## Verification
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
make test
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
`make test` runs the thin client suite while editing. `make verify` is required
|
|
141
|
+
before review or merge.
|
|
142
|
+
|
|
143
|
+
## Development
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
uv sync --locked
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
There is no `dev` extra to ask for -- `uv run --extra dev` answers
|
|
150
|
+
``error: Extra `dev` is not defined in the project's `optional-dependencies` table``. The test
|
|
151
|
+
tooling is the default dependency group, which `uv sync` installs.
|
|
152
|
+
|
|
153
|
+
`make lint` is the repository's one lint set (`uv run ruff check .` plus `uv lock --check`); it is
|
|
154
|
+
the first thing `make verify` runs and the same target the Linux leg of `thin-client-smoke.yml`
|
|
155
|
+
runs, so the two cannot disagree about what is linted.
|
|
156
|
+
|
|
157
|
+
The test suite checks client behavior, contract compatibility and thin package ownership. Backend
|
|
158
|
+
execution and worker-boundary tests run in Studio. The client supports Linux, macOS and Windows.
|
|
159
|
+
|
|
160
|
+
To update the public Studio contract pin, run `make repin STUDIO_GIT=/path/to/studio STUDIO_REF=<commit>`. It reads committed OpenAPI and JSON Schema bytes, records their hashes and source commit in `vendor/studio-contracts/client-v4-pin.json`, and updates the thin client. Run the cross-repository tests against that Studio revision before release. Worker/client generation and backend job-contract repins now belong to Studio.
|
|
@@ -10,7 +10,7 @@ they finish.
|
|
|
10
10
|
|
|
11
11
|
## Requirements
|
|
12
12
|
|
|
13
|
-
Use CPython 3.13 or newer.
|
|
13
|
+
Use CPython 3.13 or newer.
|
|
14
14
|
|
|
15
15
|
## Install
|
|
16
16
|
|
|
@@ -61,6 +61,16 @@ mr-data download RUN_ID --output ./out
|
|
|
61
61
|
Use the identifiers returned by registration and run submission. `mr-data dataset create`
|
|
62
62
|
creates a dataset page before a recipe is ready. `mr-data watch RUN_ID` follows a submitted run.
|
|
63
63
|
|
|
64
|
+
To request an offline replay of retained inputs with a registered revision:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
mr-data run --recipe RECIPE_ID --digest RECIPE_DIGEST --mode replay --sources-from RUN_ID
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Studio must have replay enabled and the named successful run must belong to the same table with
|
|
71
|
+
its raw inputs still retained. Replay compares against that run and never becomes the live version.
|
|
72
|
+
Studio returns a typed refusal when replay is unavailable; the CLI does not fetch sources locally.
|
|
73
|
+
|
|
64
74
|
The hosted engine executes sample, full and refresh runs. A refresh uses each source's declared
|
|
65
75
|
update behavior: bounded source windows merge with retained history; snapshot sources are
|
|
66
76
|
revalidated or acquired again. The table's transformations and checks run over the resulting
|
|
@@ -83,10 +93,9 @@ There used to be. A second product lane built datasets on your own machine, and
|
|
|
83
93
|
about fifty commands for making, running, serving, indexing, checking and signing a build here.
|
|
84
94
|
That lane is gone: the engine it ran now ships only inside the backend's worker images.
|
|
85
95
|
|
|
86
|
-
`mr-data --help` lists every command this product has.
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
does not run without it.
|
|
96
|
+
`mr-data --help` lists every command this product has. The execution engine and its dependency
|
|
97
|
+
closure live in Mostly Right Studio's `apps/worker`; this repository ships no engine extras,
|
|
98
|
+
worker executables or image publisher.
|
|
90
99
|
|
|
91
100
|
## Documentation
|
|
92
101
|
|
|
@@ -113,17 +122,27 @@ Use `mr-data --help` for the full command list and options. Commands that suppor
|
|
|
113
122
|
## Verification
|
|
114
123
|
|
|
115
124
|
```bash
|
|
116
|
-
make test
|
|
125
|
+
make test
|
|
117
126
|
```
|
|
118
127
|
|
|
119
|
-
`make test
|
|
128
|
+
`make test` runs the thin client suite while editing. `make verify` is required
|
|
120
129
|
before review or merge.
|
|
121
130
|
|
|
122
131
|
## Development
|
|
123
132
|
|
|
124
133
|
```bash
|
|
125
|
-
uv sync --locked
|
|
134
|
+
uv sync --locked
|
|
126
135
|
```
|
|
127
136
|
|
|
128
|
-
|
|
129
|
-
|
|
137
|
+
There is no `dev` extra to ask for -- `uv run --extra dev` answers
|
|
138
|
+
``error: Extra `dev` is not defined in the project's `optional-dependencies` table``. The test
|
|
139
|
+
tooling is the default dependency group, which `uv sync` installs.
|
|
140
|
+
|
|
141
|
+
`make lint` is the repository's one lint set (`uv run ruff check .` plus `uv lock --check`); it is
|
|
142
|
+
the first thing `make verify` runs and the same target the Linux leg of `thin-client-smoke.yml`
|
|
143
|
+
runs, so the two cannot disagree about what is linted.
|
|
144
|
+
|
|
145
|
+
The test suite checks client behavior, contract compatibility and thin package ownership. Backend
|
|
146
|
+
execution and worker-boundary tests run in Studio. The client supports Linux, macOS and Windows.
|
|
147
|
+
|
|
148
|
+
To update the public Studio contract pin, run `make repin STUDIO_GIT=/path/to/studio STUDIO_REF=<commit>`. It reads committed OpenAPI and JSON Schema bytes, records their hashes and source commit in `vendor/studio-contracts/client-v4-pin.json`, and updates the thin client. Run the cross-repository tests against that Studio revision before release. Worker/client generation and backend job-contract repins now belong to Studio.
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "mostlyright-data"
|
|
3
|
+
version = "0.19.0"
|
|
4
|
+
description = "Mostly Right hosted CLI for reviewed datasets"
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
requires-python = ">=3.13"
|
|
7
|
+
# The published Harness package is a pure-Python, stdlib-only hosted client. Dataset execution,
|
|
8
|
+
# native readers, and worker publication live in Mostly Right Studio.
|
|
9
|
+
dependencies = []
|
|
10
|
+
|
|
11
|
+
[project.urls]
|
|
12
|
+
Homepage = "https://mostlyright.md/"
|
|
13
|
+
Documentation = "https://mostlyright.md/docs/guides/cli/"
|
|
14
|
+
|
|
15
|
+
[project.scripts]
|
|
16
|
+
mr-data = "mostlyright.data_harness.thin.router:main"
|
|
17
|
+
|
|
18
|
+
[project.optional-dependencies]
|
|
19
|
+
build = [
|
|
20
|
+
"hatchling==1.28.0",
|
|
21
|
+
"uv-build==0.11.3",
|
|
22
|
+
]
|
|
23
|
+
|
|
24
|
+
[dependency-groups]
|
|
25
|
+
dev = [
|
|
26
|
+
"cmarkgfm>=2025.10.22",
|
|
27
|
+
"jsonschema[format]>=4.23,<5",
|
|
28
|
+
"pytest>=8.3",
|
|
29
|
+
"pytest-xdist>=3.6",
|
|
30
|
+
# Test-only, and only for `tests/test_thin_v4_contract.py`'s cross-check of its hand-written
|
|
31
|
+
# OpenAPI scan against a real parser. It never enters the distribution, whose runtime
|
|
32
|
+
# dependency list is empty; the guard it unblocks was unreachable in every configuration
|
|
33
|
+
# while the extra that used to carry pyyaml no longer existed.
|
|
34
|
+
"pyyaml>=6.0",
|
|
35
|
+
"referencing>=0.35,<1",
|
|
36
|
+
"ruff>=0.9",
|
|
37
|
+
]
|
|
38
|
+
pypi-release = ["twine==6.2.0"]
|
|
39
|
+
|
|
40
|
+
[build-system]
|
|
41
|
+
requires = ["hatchling==1.28.0"]
|
|
42
|
+
build-backend = "hatchling.build"
|
|
43
|
+
|
|
44
|
+
[tool.hatch.build.targets.wheel]
|
|
45
|
+
sources = ["src"]
|
|
46
|
+
only-include = [
|
|
47
|
+
"src/mostlyright/data_harness/__init__.py",
|
|
48
|
+
"src/mostlyright/data_harness/canonical.py",
|
|
49
|
+
"src/mostlyright/data_harness/formats.py",
|
|
50
|
+
"src/mostlyright/data_harness/hosted_crawler_protocol.py",
|
|
51
|
+
"src/mostlyright/data_harness/key_seam.py",
|
|
52
|
+
"src/mostlyright/data_harness/page_coverage.py",
|
|
53
|
+
"src/mostlyright/data_harness/part_check_evidence.py",
|
|
54
|
+
"src/mostlyright/data_harness/session_probes.py",
|
|
55
|
+
"src/mostlyright/data_harness/skill_assets.py",
|
|
56
|
+
"src/mostlyright/data_harness/table_manifest.py",
|
|
57
|
+
"src/mostlyright/data_harness/thin",
|
|
58
|
+
"src/mostlyright/data_harness/ux/__init__.py",
|
|
59
|
+
"src/mostlyright/data_harness/ux/attendance.py",
|
|
60
|
+
"src/mostlyright/data_harness/ux/clarification.py",
|
|
61
|
+
"src/mostlyright/data_harness/ux/cloud_auth.py",
|
|
62
|
+
"src/mostlyright/data_harness/ux/credential_native.py",
|
|
63
|
+
"src/mostlyright/data_harness/ux/credential_store.py",
|
|
64
|
+
"src/mostlyright/data_harness/ux/credentials.py",
|
|
65
|
+
"src/mostlyright/data_harness/ux/login.py",
|
|
66
|
+
"src/mostlyright/data_harness/ux/path_kind.py",
|
|
67
|
+
"src/mostlyright/data_harness/ux/plain_file.py",
|
|
68
|
+
"src/mostlyright/data_harness/ux/remediation.py",
|
|
69
|
+
"src/mostlyright/data_harness/ux/render.py",
|
|
70
|
+
"src/mostlyright/data_harness/ux/commands/__init__.py",
|
|
71
|
+
"src/mostlyright/data_harness/ux/commands/auth.py",
|
|
72
|
+
"src/mostlyright/data_harness/ux/commands/clarify.py",
|
|
73
|
+
"src/mostlyright/data_harness/ux/commands/login.py",
|
|
74
|
+
"src/mostlyright/data_harness/ux/commands/whoami.py",
|
|
75
|
+
]
|
|
76
|
+
|
|
77
|
+
[tool.hatch.build.targets.wheel.force-include]
|
|
78
|
+
"skills/mr-data-build" = "mostlyright/data_harness/skill_tree/mr-data-build"
|
|
79
|
+
|
|
80
|
+
[tool.hatch.build.targets.sdist]
|
|
81
|
+
only-include = [
|
|
82
|
+
"scripts/hatch_build.py",
|
|
83
|
+
"skills/mr-data-build",
|
|
84
|
+
"src/mostlyright/data_harness/__init__.py",
|
|
85
|
+
"src/mostlyright/data_harness/canonical.py",
|
|
86
|
+
"src/mostlyright/data_harness/formats.py",
|
|
87
|
+
"src/mostlyright/data_harness/hosted_crawler_protocol.py",
|
|
88
|
+
"src/mostlyright/data_harness/key_seam.py",
|
|
89
|
+
"src/mostlyright/data_harness/page_coverage.py",
|
|
90
|
+
"src/mostlyright/data_harness/part_check_evidence.py",
|
|
91
|
+
"src/mostlyright/data_harness/session_probes.py",
|
|
92
|
+
"src/mostlyright/data_harness/skill_assets.py",
|
|
93
|
+
"src/mostlyright/data_harness/table_manifest.py",
|
|
94
|
+
"src/mostlyright/data_harness/thin",
|
|
95
|
+
"src/mostlyright/data_harness/ux/__init__.py",
|
|
96
|
+
"src/mostlyright/data_harness/ux/attendance.py",
|
|
97
|
+
"src/mostlyright/data_harness/ux/clarification.py",
|
|
98
|
+
"src/mostlyright/data_harness/ux/cloud_auth.py",
|
|
99
|
+
"src/mostlyright/data_harness/ux/credential_native.py",
|
|
100
|
+
"src/mostlyright/data_harness/ux/credential_store.py",
|
|
101
|
+
"src/mostlyright/data_harness/ux/credentials.py",
|
|
102
|
+
"src/mostlyright/data_harness/ux/login.py",
|
|
103
|
+
"src/mostlyright/data_harness/ux/path_kind.py",
|
|
104
|
+
"src/mostlyright/data_harness/ux/plain_file.py",
|
|
105
|
+
"src/mostlyright/data_harness/ux/remediation.py",
|
|
106
|
+
"src/mostlyright/data_harness/ux/render.py",
|
|
107
|
+
"src/mostlyright/data_harness/ux/commands",
|
|
108
|
+
]
|
|
109
|
+
|
|
110
|
+
[tool.hatch.build.hooks.custom]
|
|
111
|
+
path = "scripts/hatch_build.py"
|
|
112
|
+
|
|
113
|
+
[tool.pytest.ini_options]
|
|
114
|
+
testpaths = ["tests"]
|
|
115
|
+
addopts = "-ra --strict-markers"
|
|
116
|
+
markers = [
|
|
117
|
+
"cross_repo: requires the exact sibling Studio contract/client tree",
|
|
118
|
+
"scale: exercises product-sized fixtures or a complete input domain",
|
|
119
|
+
"isolated_install: builds and exercises an isolated installed distribution",
|
|
120
|
+
"repository_scan: scans the complete live repository tree",
|
|
121
|
+
"contention_sensitive: crosses a wall-clock deadline -- its own or one the production code it drives enforces -- or measures RSS or a thread race, so it observes an idle machine",
|
|
122
|
+
]
|
|
123
|
+
tmp_path_retention_policy = "failed"
|
|
124
|
+
tmp_path_retention_count = 96
|
|
125
|
+
|
|
126
|
+
[tool.ruff]
|
|
127
|
+
line-length = 100
|
|
128
|
+
target-version = "py311"
|
|
129
|
+
|
|
130
|
+
[tool.ruff.lint]
|
|
131
|
+
select = ["E", "F", "I", "UP", "B", "RUF"]
|
|
@@ -22,9 +22,9 @@ from hatchling.builders.hooks.plugin.interface import BuildHookInterface
|
|
|
22
22
|
# The platform-specific tags this hook used to emit (`cp313-cp313-macosx_11_0_arm64`,
|
|
23
23
|
# `cp313-cp313-linux_x86_64`) were a local-lane policy fence, never a statement about the
|
|
24
24
|
# wheel's bytes. That fence kept Windows from having a wheel at all and held the thin-client
|
|
25
|
-
# smoke to Linux. Where a platform restriction still exists it belongs to what needs it
|
|
26
|
-
#
|
|
27
|
-
#
|
|
25
|
+
# smoke to Linux. Where a platform restriction still exists it belongs to what needs it, and
|
|
26
|
+
# nothing this distribution ships needs one: the native Reader bindings and their platform-tagged
|
|
27
|
+
# wheels are Studio's (ADR 0032), and the supported interpreter is `requires-python`'s to state.
|
|
28
28
|
WHEEL_TAG = "py3-none-any"
|
|
29
29
|
|
|
30
30
|
#: Every platform's spelling of "this is a compiled artifact", not merely this build host's. The
|
|
@@ -122,9 +122,9 @@ gap rather than doing anything, and `export-hosted-candidate`, which is a backen
|
|
|
122
122
|
| `mr-data dataset` | Bring the dataset page into existence before there is anything on it, then fill it in while somebody watches. `dataset create --name TEXT` mints it and prints the `dataset_id`; `dataset show ID` reads it back; `dataset set ID --name TEXT --topics "a,b,c" --license ID --description-file F` writes the title, the descriptive tags, the SPDX licence and the description under the version it was read at, retrying once if somebody else wrote first, and an empty `--topics` or `--license` takes that value off the page; `dataset note ID --heading H --blocks-file B` writes one cell of the decision record that OUTLIVES every run, and `--list` reads it back; `dataset watch ID` follows the page's own event stream; `dataset activity ID --phase P --message TEXT` says what is happening right now, silently, and is never a chat message and never a cell; `dataset publish ID [--mode public|link|private]` says who can read the dataset — `public` lists it in the public directory and serves it at an address anybody can read, `link` serves it at an unlisted address, `private` takes it back to the workspace — and `dataset publish ID --show` reads that back without changing it; `dataset archive ID --confirm-name TITLE` retires the page and frees its title, deleting nothing. |
|
|
123
123
|
| `mr-data recipe` | Register one recipe document — dataset, question, table plan, sources, transform, checks and units — in one call, and print the identifiers the server derived. `mr-data recipe show ID` reads one back. |
|
|
124
124
|
| `mr-data cover` | Generate and attach one branded 1200×630 dataset cover. Give it the dataset ID and what the image should depict; Studio fixes the model, single-color style, curated random palette, dimensions and storage. |
|
|
125
|
-
| `mr-data run` | Start one run against a registered recipe, named as `--recipe RECIPE_ID --digest RECIPE_DIGEST` — both required, neither positional, and the digest is the bare hex the registration receipt printed. The
|
|
125
|
+
| `mr-data run` | Start one run against a registered recipe, named as `--recipe RECIPE_ID --digest RECIPE_DIGEST` — both required, neither positional, and the digest is the bare hex the registration receipt printed. The mode is one of six: `sample`, `full`, `refresh`, `backfill`, `compact` and `replay`. Four have a shorthand flag (`--sample`, `--full`, `--refresh`, `--backfill`) and two do not, so write `--mode MODE`, which is accepted for every one of them. A refresh narrows each source that declares a supported address window and merges its returned relation into retained source state; unwindowed sources are conditionally revalidated or re-acquired whole, then the full declared transform runs. `--backfill` states the exact window with `--window START END`. `--mode replay --sources-from RUN_ID` asks Studio to run the registered revision against the RETAINED RAW INPUTS of one named successful run of the same table: nothing is fetched from this computer, nothing is acquired again, the result is compared against that run and never becomes the live version, and it neither asks for nor records an approval. Where Studio has replay switched off, or the named run is not successful, not the same table, or no longer retains its inputs, it answers a typed refusal — report the code rather than retrying in another mode. `--sources-from` on any other mode is refused `THIN_ARGUMENT_INVALID` before anything is sent. `--max-rows` and `--max-source-bytes` bound ONE SOURCE rather than the finished table. A large run is held for a spend confirmation, which `--confirm` settles and whose printed `confirm_command` re-states every argument the request carried; a sample-first held full requires Studio's interactive human approval instead. `--cancel RUN` stops one. |
|
|
126
126
|
| `mr-data status` | Report which of the seven states one run is in, what it delivered and whether a ceiling cut it short, and — on a failure — what failed and where. Exits non-zero on a failed run. |
|
|
127
|
-
| `mr-data runs` | Report this workspace's own runs: identifier, mode, state and creation time, plus the failure triple of any that failed. `--status` and `--mode` narrow it and are refused for a word outside the seven or the
|
|
127
|
+
| `mr-data runs` | Report this workspace's own runs: identifier, mode, state and creation time, plus the failure triple of any that failed. `--status` and `--mode` narrow it and are refused `THIN_ARGUMENT_INVALID` for a word outside the seven states or the six modes; `--limit` says how many, and pages are followed to reach it. |
|
|
128
128
|
| `mr-data watch` | Stream one run's live progress under the durable event type of each stage, resuming across stream cuts. Exits non-zero when the run failed. |
|
|
129
129
|
| `mr-data query` | Run one bounded read-only SQL statement over a finished run's own table and print the rows. Bounded on rows, on answer bytes and on time, and refused by name when a bound is crossed. |
|
|
130
130
|
| `mr-data peek` | Print the columns, their logical types and the first rows of one run's table. The type comes off the run's own column profile where the preview carries none, so `type` is null only for a run that sealed no profile. |
|
|
@@ -182,9 +182,10 @@ what the submission printed and what the dashboard address contains.
|
|
|
182
182
|
## Installation parity
|
|
183
183
|
|
|
184
184
|
Published distributions install with `pip`, and `pip install mostlyright-data` is the whole of it.
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
185
|
+
There is no extra, no second profile and no native wheel: the distribution resolves no third-party
|
|
186
|
+
package at all, and the execution engine, the readers and the worker image live in Mostly Right
|
|
187
|
+
Studio. Do not offer a user an install as a way to get a command back — there is none, and no
|
|
188
|
+
command's behavior depends on what else a machine has.
|
|
188
189
|
|
|
189
190
|
From a Harness checkout, install or update the persistent CLI and the complete Codex and Claude
|
|
190
191
|
Code skill trees together:
|
|
@@ -209,8 +210,8 @@ neither can interleave with the other. Exact final verification commits the new
|
|
|
209
210
|
later private-backup cleanup warning does not invalidate it and names the retained recovery path.
|
|
210
211
|
|
|
211
212
|
That installer is for somebody working ON the Harness repository: it installs from a checkout
|
|
212
|
-
rather than from `pip`, and it
|
|
213
|
-
|
|
213
|
+
rather than from `pip`, and what it installs is exactly the distribution and nothing else. A
|
|
214
|
+
machine that is only using the product installs from `pip` instead.
|
|
214
215
|
|
|
215
216
|
## Cloud authentication preflight
|
|
216
217
|
|
|
@@ -801,8 +802,9 @@ the two temperature scales are offsets rather than multipliers.
|
|
|
801
802
|
### 5. Build — take an unwindowed sample first
|
|
802
803
|
|
|
803
804
|
Take an unwindowed sample before a full run. Choose row and source-byte bounds that exercise the
|
|
804
|
-
shape without pretending they selected a time range.
|
|
805
|
-
|
|
805
|
+
shape without pretending they selected a time range. A stated `--window` may be refused by the
|
|
806
|
+
build service before acquisition; report the typed code it answers with rather than retrying the
|
|
807
|
+
same run in another mode.
|
|
806
808
|
|
|
807
809
|
```sh
|
|
808
810
|
mr-data run --recipe RECIPE_ID --digest RECIPE_DIGEST --sample --max-rows 2000 --json
|
|
@@ -882,14 +884,14 @@ sample. A run's narrative closes with the run, so a cell appended after that ans
|
|
|
882
884
|
which is the other reason the search belongs there.
|
|
883
885
|
[Narrating the run](#narrating-the-run) is the reference for what either cell may carry.
|
|
884
886
|
|
|
885
|
-
**The protocol's three clamps do not behave alike
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
887
|
+
**The protocol's three clamps do not behave alike.** On `--sample`, `max_rows` and `window`
|
|
888
|
+
truncate: the run succeeds at the clamp boundary and reports the coverage it actually delivered.
|
|
889
|
+
`max_source_bytes` refuses in every mode, sample included, and on `full`, `refresh` and `backfill`,
|
|
890
|
+
hitting any clamp is a refusal with `CLAMP_EXCEEDED`. Which modes and clamps the build service
|
|
891
|
+
admits before those dispositions run is its own to decide and can be narrower than the protocol;
|
|
892
|
+
a mode or clamp outside it comes back as a typed refusal, which you report rather than work
|
|
893
|
+
around. A declared supported source window narrows that source's refresh request; it does not
|
|
894
|
+
make every source or connector incremental.
|
|
893
895
|
|
|
894
896
|
**A succeeded run carries `coverage`, and `truncated` is required on every entry.** That is how a
|
|
895
897
|
complete acquired response is told from one cut at fifty thousand rows without opening the
|
|
@@ -908,7 +910,7 @@ revalidatable unless an explicit closure contract says they cannot change. A ref
|
|
|
908
910
|
windowed source slice into retained source state and recomputes the complete transform; unrelated
|
|
909
911
|
snapshot sources are conditionally revalidated or re-acquired as needed. Cursor, pagination and
|
|
910
912
|
new-file discovery need their own supported source contract and must not be represented as a date
|
|
911
|
-
window. A `backfill`
|
|
913
|
+
window. A `backfill` may be refused before acquisition; the refusal says so.
|
|
912
914
|
|
|
913
915
|
### 6. Interrogate — ask the run what it actually delivered
|
|
914
916
|
|
|
@@ -1666,9 +1668,10 @@ What it costs the protocol, and what to do instead:
|
|
|
1666
1668
|
- Preserve event time, available time, acquisition time, source revision, and timezone. Do not use
|
|
1667
1669
|
post-cutoff information in targets, labels, features, joins, or validation decisions.
|
|
1668
1670
|
- When the question is **what changed over time**, or the table needs point-in-time features, and
|
|
1669
|
-
the source answers only with the present, declare a `snapshot` window on that source:
|
|
1670
|
-
every row with the UTC day it
|
|
1671
|
-
|
|
1671
|
+
the source answers only with the present, declare a `snapshot` window on that source: Studio's
|
|
1672
|
+
worker stamps every row with the UTC day it acquired the source on and keeps one partition per
|
|
1673
|
+
day. Compute a transition with
|
|
1674
|
+
`lag(column) over (partition by <identity> order by <snapshot column>)` and keep
|
|
1672
1675
|
the rows where the two are `is distinct from` each other. Never diff two sealed versions by hand;
|
|
1673
1676
|
a version is not a date, and nothing outside the seal can be replayed.
|
|
1674
1677
|
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"""The hosted ``mr-data`` client package, and the closed public surface it actually provides.
|
|
2
|
+
|
|
3
|
+
⚠ AN EXPORT IS A PROMISE THE INSTALLED WHEEL HAS TO KEEP. This module used to resolve fifty-eight
|
|
4
|
+
names through a ``__getattr__`` over a table of module coordinates, and the table outlived the
|
|
5
|
+
modules: the execution engine moved to Studio and every coordinate naming ``pipeline``, ``offline``,
|
|
6
|
+
``recipe``, ``contracts``, ``local_contracts``, ``studio_boundary`` or ``review`` became an import
|
|
7
|
+
that raises inside the shipped wheel. A dynamic coordinate is also invisible to the ownership
|
|
8
|
+
scanner, so nothing held the table to the tree. Both problems have the same fix: the exports are
|
|
9
|
+
plain imports of modules this distribution ships, so a missing one is an ImportError at build and
|
|
10
|
+
test time rather than an AttributeError in somebody else's program.
|
|
11
|
+
|
|
12
|
+
What is left is the canonical-JSON leaf, which the wire contracts share, and the version. Every
|
|
13
|
+
command surface is reached through :mod:`mostlyright.data_harness.thin`.
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
from importlib import metadata as _metadata
|
|
17
|
+
|
|
18
|
+
from mostlyright.data_harness.canonical import (
|
|
19
|
+
CanonicalJSONError,
|
|
20
|
+
canonical_json_bytes,
|
|
21
|
+
canonical_sha256,
|
|
22
|
+
parse_canonical_json,
|
|
23
|
+
parse_json,
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def package_version() -> str:
|
|
28
|
+
"""Return the installed distribution version or an honest source-tree fallback."""
|
|
29
|
+
|
|
30
|
+
try:
|
|
31
|
+
return _metadata.version("mostlyright-data")
|
|
32
|
+
except _metadata.PackageNotFoundError:
|
|
33
|
+
return "uninstalled"
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
__version__ = package_version()
|
|
37
|
+
|
|
38
|
+
__all__ = [
|
|
39
|
+
"CanonicalJSONError",
|
|
40
|
+
"__version__",
|
|
41
|
+
"canonical_json_bytes",
|
|
42
|
+
"canonical_sha256",
|
|
43
|
+
"package_version",
|
|
44
|
+
"parse_canonical_json",
|
|
45
|
+
"parse_json",
|
|
46
|
+
]
|