mostlyright-data 0.17.4__tar.gz → 0.17.6__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.17.4 → mostlyright_data-0.17.6}/PKG-INFO +1 -1
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/pyproject.toml +1 -1
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/skills/mr-data-build/SKILL.md +92 -16
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/cli.py +21 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/hosted_crawler_fetch.py +35 -12
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/hosted_deploy.py +2 -1
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/hosted_run_worker.py +523 -40
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/inprocess_acquisition.py +897 -14
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/key_seam.py +2 -1
- mostlyright_data-0.17.6/src/mostlyright/data_harness/page_coverage.py +107 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/html_web_extract.py +203 -72
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/registry.py +12 -0
- mostlyright_data-0.17.6/src/mostlyright/data_harness/readers/samples/html.web_extract/1.1.0/article_text_order/article.html +3 -0
- mostlyright_data-0.17.6/src/mostlyright/data_harness/readers/samples/html.web_extract/1.1.0/article_text_order/expected.json +28 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/run_execution_v4.py +78 -1
- mostlyright_data-0.17.6/src/mostlyright/data_harness/sources/page_collections.py +2294 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/studio_boundary.py +1 -1
- mostlyright_data-0.17.6/src/mostlyright/data_harness/thin/collection_plan.py +211 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/transport.py +4 -2
- mostlyright_data-0.17.6/src/mostlyright/data_harness/thin/user_agent.py +74 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/v4_datasets.py +14 -3
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/v4_runs.py +29 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ux/cloud_auth.py +3 -1
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ux/remediation.py +1 -1
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ux/render.py +6 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/v4_acquisition.py +142 -1
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/v4_recipe.py +184 -3
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/v4_required_controls.py +13 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/.gitignore +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/README.md +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/scripts/hatch_build.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/skills/mr-data-build/agents/openai.yaml +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/skills/mr-data-build/scripts/write_research_notebook.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/skills/mr-data-build/scripts/write_visual_run.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/LICENSE +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/PROVENANCE.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/__init__.pyi +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/_version.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/cal_rec_boxes/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/cal_rec_boxes/main.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/main.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/utils.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/main.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/utils.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/main.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/typings.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/utils.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/config.yaml +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/inference_engine/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/inference_engine/base.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/main.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/provider_config.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/main.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/models/PP-OCRv6_det_small.onnx +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/models/PP-OCRv6_rec_small.onnx +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/models/ch_ppocr_mobile_v2.0_cls_mobile.onnx +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/py.typed +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/utils/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/utils/load_image.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/utils/log.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/utils/model_resolver.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/utils/output.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/utils/parse_parameters.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/utils/process_img.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/utils/typings.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/_vendor/rapidocr/utils/utils.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/acquisition/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/acquisition/derived_credentials.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/acquisition/http.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/acquisition/parsing.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/acquisition/ranges.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/acquisition/result_download.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/acquisition/retention_admission.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/acquisition/sandbox.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/acquisition/sandbox_bootstrap.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/acquisition/url_policy.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/agent_runtime.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/assets/logo-ink.svg +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/backends/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/backends/pandas_backend.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/backends/polars_backend.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/backends/protocol.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/backends/reference.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/backends/registry.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/backends/restrictions.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/bounded_query.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/bounded_scratch_sink.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/canonical.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/catalog_job.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/compact_worker.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/contracts.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/coordinator.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/crosswalks.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/declared_checks.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/delta.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/delta_checks.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/delta_classifier.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/delta_persist.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/delta_recompute.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/delta_rows.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/deploy.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/deploy_target.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/deployment_evidence.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/documents/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/documents/_worker_capability.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/documents/capture.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/documents/contracts.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/documents/lane.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/documents/ocr.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/documents/pdf.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/documents/registry.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/documents/sandbox.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/documents/selections.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/documents/tables.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/documents/vendor_rapidocr.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/events.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/fast_delimited.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/fetch_egress_smoke.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/formats.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/governors.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/hosted_bootstrap.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/hosted_crawler.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/hosted_crawler_container_smoke.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/hosted_crawler_job.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/hosted_crawler_protocol.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/hosted_ingestion_contract.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/hosted_ingestion_job.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/hosted_ingestion_job_smoke.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/hosted_ingestion_worker.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/hosted_rlimit_as_container_smoke.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/hosted_session_container_smoke.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/hosted_session_worker.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/hosted_session_worker_job_smoke.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/hosted_stream_recorder_container_smoke.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/hosted_stream_recorder_job.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/hosted_stream_subscription_container_smoke.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/hosted_stream_subscription_worker.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/hosted_worker.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/incremental_slice_executor.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/incremental_worker.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ingestion/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ingestion/contracts.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ingestion/faults.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ingestion/gcs_store.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ingestion/spool.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ingestion/store.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/legacy_table_recovery.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/legacy_table_recovery_contract.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/linux_process_boundary.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/local_contracts.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/nbrender/CONTRACT.md +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/nbrender/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/nbrender/chrome.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/nbrender/code_body.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/nbrender/document.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/nbrender/frame.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/nbrender/interactive.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/nbrender/markdown_body.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/nbrender/mr_components.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/nbrender/outputs_data.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/nbrender/outputs_rich.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/nbrender/outputs_source.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/nbrender/outputs_stage.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/nbrender/outputs_text.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/nbrender/parse.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/nbrender/status.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/nbrender/tokens.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/notebook.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/offline.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/operation_registry.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/operator_setup.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/part_check_evidence.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/pipeline.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/plan_graph.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/preparation/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/preparation/contracts.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/preparation/engine.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/preparation/errors.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/preparation/gates.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/preparation/joins.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/preparation/profile.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/preparation/table.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/preparation/transforms.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/progress_events.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/_openpyxl.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/budgets.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/configurable_delimited.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/containers.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/contracts.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/delimited.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/geojson_vector.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/geopackage.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/geoparquet.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/grib2/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/grib2/admission.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/grib2/collection.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/grib2/collection_reader.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/grib2/decode.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/grib2/geometry.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/grib2/portable_math.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/grib_eccodes.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/html_tabular.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/json_tabular.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/parquet_tabular.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/pcaxis_px.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/protobuf_tabular.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/raster/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/raster/_bytes.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/raster/decode.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/raster/family.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/raster/jpeg2000.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/raster/profiles.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/raster/rendered.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/raster/safe.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/raster/sentinel_safe.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/raster/tiff.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/README.md +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.0.0/cities_one_stream/cities.csv.gz +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.0.0/cities_one_stream/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.1.0/cities_one_stream/cities.csv.gz +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.1.0/cities_one_stream/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/archive.tar/1.0.0/cities_beside_a_directory_entry/cities.tar +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/archive.tar/1.0.0/cities_beside_a_directory_entry/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/archive.tar/1.1.0/cities_beside_a_directory_entry/cities.tar +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/archive.tar/1.1.0/cities_beside_a_directory_entry/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/archive.zip/1.0.0/cities_beside_a_second_member/cities.zip +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/archive.zip/1.0.0/cities_beside_a_second_member/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/archive.zip/1.1.0/dwd_semicolon_station_member/dwd-station.zip +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/archive.zip/1.1.0/dwd_semicolon_station_member/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/archive.zip/1.2.0/dwd_semicolon_station_member/dwd-station.zip +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/archive.zip/1.2.0/dwd_semicolon_station_member/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/an_ordinary_comma_separated_table/cities.csv +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/an_ordinary_comma_separated_table/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/quoted_fields_holding_the_delimiter/cities.tsv +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/quoted_fields_holding_the_delimiter/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/delimited_text/1.1.0/an_hourly_observation_table_served_as_plain_text/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/delimited_text/1.1.0/an_hourly_observation_table_served_as_plain_text/observations.csv +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/delimited_text/2.0.0/publisher_preamble/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/delimited_text/2.0.0/publisher_preamble/indices.csv +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/geojson.vector/1.0.0/czech_capital/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/geojson.vector/1.0.0/czech_capital/places.geojson +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/geopackage.vector/1.0.0/epsg_4326_feature/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/geopackage.vector/1.0.0/epsg_4326_feature/places.gpkg +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/geoparquet.vector/1.0.0/primary_wkb_point/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/geoparquet.vector/1.0.0/primary_wkb_point/places.parquet +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/html.tabular/1.0.0/sanitized_table/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/html.tabular/1.0.0/sanitized_table/table.html +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/html.web_extract/1.0.0/json_ld_scorecards/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/html.web_extract/1.0.0/json_ld_scorecards/scorecards.html +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/image.rendered/1.0.0/tiny_png/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/image.rendered/1.0.0/tiny_png/tiny-rendered.png +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/json.tabular/1.0.0/nested_hourly_observations/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/json.tabular/1.0.0/nested_hourly_observations/stations.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/json.tabular/1.1.0/an_observation_stream_served_as_plain_text/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/json.tabular/1.1.0/an_observation_stream_served_as_plain_text/observations.ndjson +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/meteorology.bufr/1.0.0/eccodes_bufr4_subset/eccodes-bufr4.bufr +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/meteorology.bufr/1.0.0/eccodes_bufr4_subset/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/meteorology.grib/1.0.0/eccodes_grib1_origin/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/meteorology.grib/1.0.0/eccodes_grib1_origin/regular-ll-surface.grib1 +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/microdata.sas_xpt/1.0.0/two_raw_columns/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/microdata.sas_xpt/1.0.0/two_raw_columns/survey.xpt +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/microdata.spss_sav/1.0.0/two_raw_columns/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/microdata.spss_sav/1.0.0/two_raw_columns/survey.sav +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/microdata.stata_dta/1.0.0/two_raw_columns/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/microdata.stata_dta/1.0.0/two_raw_columns/stata.dta +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/official.pcaxis_px/1.0.0/population_by_region_and_year/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/official.pcaxis_px/1.0.0/population_by_region_and_year/population.px +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/official.sdmx_json/1.0.0/compact_population_series/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/official.sdmx_json/1.0.0/compact_population_series/population.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/parquet.tabular/1.0.0/two_columns/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/parquet.tabular/1.0.0/two_columns/prices.parquet +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/gtfs-realtime.desc +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/trip-updates.pb +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/raster.geospatial/1.0.0/tiny_geotiff/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/raster.geospatial/1.0.0/tiny_geotiff/tiny-geospatial.tif +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/satellite.goes_abi_l2/1.0.0/authored_cmi_window/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/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.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd/1.0.0/authored_b13_single_bzip2/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/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.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd_complete/1.0.0/authored_b13_three_segment_scan/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/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.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/satellite.msg_seviri_l15/1.0.0/authored_calibrated_complete_visir/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/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.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/satellite.sentinel_safe/1.0.0/authored_b02_scl_window/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/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.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/satellite.xrit_image/1.0.0/authored_complete_raw_counts/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/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.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/scientific.fits/1.0.0/tiny_primary_window/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/scientific.fits/1.0.0/tiny_primary_window/tiny-primary.fits +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/scientific.hdf4/1.0.0/authored_temperature_window/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/scientific.hdf4/1.0.0/authored_temperature_window/temperature.hdf +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/scientific.hdf5/1.0.0/authored_temperature_window/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/scientific.hdf5/1.0.0/authored_temperature_window/temperature.h5 +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_grid_temperature_window/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/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.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_swath_temperature_window/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/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.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/scientific.netcdf/1.0.0/authored_classic_temperature_window/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/scientific.netcdf/1.0.0/authored_classic_temperature_window/temperature-classic.nc +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/scientific.zarr/1.0.0/authored_v3_temperature_window/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/scientific.zarr/1.0.0/authored_v3_temperature_window/temperature-zarr-v3.zip +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/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.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/an_ordinary_table_beside_a_second_sheet/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/shares_the_workbook_had_already_computed/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/shares_the_workbook_had_already_computed/shares.xlsx +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.1.0/shares_the_workbook_had_already_computed/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.1.0/shares_the_workbook_had_already_computed/shares.xlsx +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/README.md +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/gfs_2m_temperature/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/gfs_2m_temperature/gfs-2m-temperature.grib2 +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_2m_temperature/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_2m_temperature/hrrr-2m-temperature.grib2 +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_categorical_rain/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_categorical_rain/hrrr-categorical-rain.grib2 +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/weather.grib2/2.0.0/hrrr_2m_temperature/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/weather.grib2/2.0.0/hrrr_2m_temperature/hrrr-2m-temperature.grib2 +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/weather.grib2/3.0.0/gfs_and_hrrr_categorical_rain/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/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.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/plain_filing_fact/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/plain_filing_fact/filing.xml +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/xml_inline_fact/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/xml_inline_fact/filing.xhtml +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/pacer_rss_feed/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/pacer_rss_feed/feed.xml +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/sec_form_d_filing/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/sec_form_d_filing/filing.xml +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/unified_agenda_extract/agenda.xml +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/unified_agenda_extract/expected.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/samples.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/scientific.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/scientific_arrays/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/scientific_arrays/container.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/scientific_arrays/goes.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/scientific_arrays/hdf4.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/scientific_arrays/hdf4_bridge.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/scientific_arrays/hdf5.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/scientific_arrays/native.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/scientific_arrays/netcdf.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/scientific_arrays/profiles.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/scientific_arrays/raw.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/scientific_arrays/zarr.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/scientific_catalog.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/scientific_segmented/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/scientific_segmented/asset_sets.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/scientific_segmented/formats.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/scientific_segmented/hsd.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/scientific_segmented/native.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/scientific_segmented/profiles.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/scientific_segmented/reader.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/scientific_segmented/xrit.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/sdmx_json.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/spreadsheet.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/statistical_microdata.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/tabular.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/vector.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/vector_wkb.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/xbrl_facts.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/readers/xml_tabular.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/recipe.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/review.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/rowset.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/run_phase_timing.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/session_probes.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/signing.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/skill_assets.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/source_bootstrap.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/source_bundle_writer.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/source_discovery.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/source_history_candidate_child.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/source_history_transform_child.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/source_inventory.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/source_partition.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/source_raw_inventory.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/source_state_index.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/_adapter_steps.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/adapters.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/authenticated_https.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/authenticated_https_v2.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/authenticated_https_v3.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/cadence.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/cadence_emission.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/cadence_history.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/admission.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/authoring.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/authoring_policy.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/authoring_shards.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/bounded_io.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/channel.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/channel_client.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/contracts.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/coverage.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/embedding.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/entry_v2.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/fill.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/fill_partitions.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/fill_staging.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/gating.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/generation_receipt.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/harvest/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/harvest/ckan.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/harvest/datagov_v4.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/harvest/protocol.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/harvest/sdmx.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/harvest/stac.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/hosted_catalog.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/identity_history.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/neural.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/packed_catalog.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/packed_retrieval.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/packed_writer.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/query_trace.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/recommend.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/retrieval.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/retrieval_manifest.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/sealed.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/search.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/streaming_delta.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/catalog/update.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/collections.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/contracts.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/dataset.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/deletion.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/document_projection.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/fitness.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/governance.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/hosted.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/integration.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/range_reader.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/registry.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/rights_rule.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/source_cadence_vectors.v1.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/sports.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_capture_session.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_connector.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.cursor-resume.v3.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-ed25519.v2.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac.v2.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac384.v2.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac512.v2.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame.v2.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-header-rsa.v2.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-header.v2.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-permessage-jwt.v2.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-permessage.v2.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-prelude.v2.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-query.v2.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-subprotocol.v2.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-subscribe.v2.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-urlpath.v2.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_connectors/polymarket.clob-market.v1.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_credential.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_prelude.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_recorder.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_registry.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_rotation.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_segment_recorder.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_series.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_signing.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sources/stream_transport.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/sql_transform_engine.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/stream_order_vector.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/stream_recovery_objects.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/stream_segment_spill.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/stream_subscription_feed.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/stream_subscription_sealer.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/stream_subscription_worker.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/stream_venue.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/stream_venue_staging.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/studio_subscription_control.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/table_manifest.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/table_parts.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/table_profile.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/acquire.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/acquire_cancel.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/activity.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/approvals.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/commands.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/download.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/narrative.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/parity.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/probe.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/propose.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/recipe.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/research.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/router.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/runs.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/session.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/stream.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/stream_venue.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/v4.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/v4_artifacts.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/v4_connections.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/v4_dataset_covers.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/v4_handoff.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/v4_narrative.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/v4_query.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/v4_secrets.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/v4_stream.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/v4_tables.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/vocabulary.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/thin/workers.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ucum/TABLE-PIN.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ucum/ucum-subset.v1.json +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/unit_flow.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/units.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ux/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ux/attendance.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ux/clarification.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ux/commands/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ux/commands/auth.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ux/commands/catalog_author.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ux/commands/catalog_harvest.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ux/commands/catalog_publish.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ux/commands/clarify.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ux/commands/login.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ux/commands/record.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ux/commands/whoami.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ux/credential_native.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ux/credential_store.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ux/credentials.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ux/headline.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ux/hosted_acquisition.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ux/local_review.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ux/login.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ux/path_kind.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ux/plain_file.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/ux/readers.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/v4_check_dialect.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/v4_closed_source.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/v4_document_pin.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/v4_reader_pin.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/v4_snapshot_artifact.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/v4_stream_recording.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/v4_transform.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/v4_window.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/visual_run/__init__.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/visual_run/authoring.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/visual_run/contracts.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/visual_run/materialize.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/visual_run/observations.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/visual_run/reducer.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/visual_run/sdk.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/visual_run/store.py +0 -0
- {mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/visual_run/transport.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mostlyright-data
|
|
3
|
-
Version: 0.17.
|
|
3
|
+
Version: 0.17.6
|
|
4
4
|
Summary: Mostly Right CLI for reproducible, reviewed Parquet datasets
|
|
5
5
|
Project-URL: Homepage, https://mostlyright.md/
|
|
6
6
|
Project-URL: Documentation, https://mostlyright.md/docs/guides/cli/
|
|
@@ -37,7 +37,7 @@ service behavior, retry mechanics, or these instructions.
|
|
|
37
37
|
Outside a required host cadence, speak only when one of these boundaries gives the user useful new
|
|
38
38
|
information:
|
|
39
39
|
|
|
40
|
-
- A dataset-shaping choice needs the user
|
|
40
|
+
- A dataset-shaping choice needs the user's input; ask before committing to it.
|
|
41
41
|
- A material source, schema, coverage, rights, or quality decision is supported by observed facts.
|
|
42
42
|
- An exact contract or recipe needs the user's approval. State what will be built, the material
|
|
43
43
|
limitation, and the decision required; do not explain the approval mechanism.
|
|
@@ -387,10 +387,10 @@ around a probe from an hour ago still being warm.
|
|
|
387
387
|
|
|
388
388
|
Where a source needs a credential, enrol it by name first — see
|
|
389
389
|
[Source credentials](#source-credentials) — and reference the name from the recipe document. Where
|
|
390
|
-
neither a probe nor a run can reach the bytes, because the source is
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
390
|
+
neither a probe nor a run can reach the bytes, because the source is not registered in the
|
|
391
|
+
workspace, establish shape from the provider's own documentation and published schema, say
|
|
392
|
+
plainly that the shape is documented rather than observed, and let the hosted Clean room be the
|
|
393
|
+
first thing that opens the bytes. Named messages out of one large object are
|
|
394
394
|
[`acquire-slices`](#not-hosted-yet), which is not hosted yet.
|
|
395
395
|
|
|
396
396
|
Hold the comparison in the shape [Narrating the run](#narrating-the-run) takes: one `source` block
|
|
@@ -400,7 +400,7 @@ blocks file; stage 3 is what puts them on the page.
|
|
|
400
400
|
### 3. Decide — say what you chose, what you refused, and what unblocks it
|
|
401
401
|
|
|
402
402
|
**Post one Sources and decisions message before you register anything.** It goes to two places, in
|
|
403
|
-
the same words: the dataset's own decision record, and the chat. Summarize the user
|
|
403
|
+
the same words: the dataset's own decision record, and the chat. Summarize the user's answers, the source evidence, and any remaining
|
|
404
404
|
assumptions so the user can see what the first dataset will contain.
|
|
405
405
|
|
|
406
406
|
```sh
|
|
@@ -438,7 +438,7 @@ Daily maxima, on the user's answer.
|
|
|
438
438
|
EOF
|
|
439
439
|
```
|
|
440
440
|
|
|
441
|
-
Carry the answers into the recipe
|
|
441
|
+
Carry the answers into the recipe's question, table and column descriptions, source selection,
|
|
442
442
|
transform, and checks as appropriate. Record assumptions separately from user decisions.
|
|
443
443
|
|
|
444
444
|
### 4. Draft — one recipe document, one call
|
|
@@ -794,9 +794,12 @@ one", not as a failure: a document declaring 8 MiB over a feed that answers 40 K
|
|
|
794
794
|
**If a source really does deliver more than the Reader holds, do not answer it by lowering the
|
|
795
795
|
ceiling on that source:** that does not fetch less data, it truncates the sample or refuses the
|
|
796
796
|
full run. Split the window across several sources — one per month, per region, or per whatever the
|
|
797
|
-
publisher paginates on — and union them in a first transform step. A recipe names up to
|
|
798
|
-
which is a great many windows. [The recipe document](../../docs/RECIPE-DOCUMENT.md)
|
|
799
|
-
measured numbers behind the ceiling.
|
|
797
|
+
publisher paginates on — and union them in a first transform step. A recipe names up to 256
|
|
798
|
+
sources, which is a great many windows. [The recipe document](../../docs/RECIPE-DOCUMENT.md)
|
|
799
|
+
carries the measured numbers behind the ceiling.
|
|
800
|
+
|
|
801
|
+
**A corpus of many pages behind one index is a COLLECTION, not many sources.** See
|
|
802
|
+
[Authoring a collection source](#authoring-a-collection-source).
|
|
800
803
|
|
|
801
804
|
**The dataset's record is the primary one; a run's own record is for what happened inside that
|
|
802
805
|
run.** The sources, the decisions and the questions went onto the dataset in stage 3, where they
|
|
@@ -1183,14 +1186,16 @@ changelog entry, and the run's own log is already that.
|
|
|
1183
1186
|
|
|
1184
1187
|
**A `clarification` block with a `question` and no `answer` is a PENDING question**, and it is the
|
|
1185
1188
|
one shape here that is a way to ask: the Dataset page shows it, and the chat asks it in the same
|
|
1186
|
-
words. Write one
|
|
1189
|
+
words. Write one for each question [Dataset discovery](#dataset-discovery) has you ask — a
|
|
1190
|
+
dataset-shaping choice the evidence cannot settle. The answer is a REVISION of that
|
|
1187
1191
|
cell — `--revise CELL_ID`, the same blocks again with `answer` and `answered_at` filled in — so the
|
|
1188
1192
|
page shows the question settled rather than a second cell nothing ties to the first. `answered_at`
|
|
1189
1193
|
is admitted only beside `answer`, because a time with no answer records that the question was
|
|
1190
1194
|
settled by nobody, and is a UTC timestamp ending in `Z`, as `2026-09-01T10:00:00Z`. Everything
|
|
1191
|
-
under [Autonomous delivery](#autonomous-delivery) still holds — do not put a
|
|
1192
|
-
|
|
1193
|
-
anywhere else.
|
|
1195
|
+
under [Autonomous delivery](#autonomous-delivery) still holds — do not put a Reader, engine,
|
|
1196
|
+
parsing format, workspace, retry tactic or semantics-preserving repair to the user, in a block or
|
|
1197
|
+
anywhere else. Source preferences and cleaning choices that change the meaning are the user's,
|
|
1198
|
+
and go in a block.
|
|
1194
1199
|
|
|
1195
1200
|
`--phase` binds the cell to one build stage — `acquire`, `parse`, `transform`, `check`, `persist` —
|
|
1196
1201
|
so a reader can group a run's record by stage. `--checkpoint` places the cell beside the event it
|
|
@@ -1470,8 +1475,8 @@ The command checks whether asking is allowed; the host conversation asks and wai
|
|
|
1470
1475
|
|
|
1471
1476
|
Usually ask one to three related questions per turn, with short bold labels such as **Table shape**,
|
|
1472
1477
|
**Sources**, and **Granularity**. Use plain language and domain-specific examples. Offer a recommended
|
|
1473
|
-
option and explain its consequence when evidence supports it; allow a free-text answer or
|
|
1474
|
-
choose
|
|
1478
|
+
option and explain its consequence when evidence supports it; allow a free-text answer or "you
|
|
1479
|
+
choose." Do not overwhelm the user with the entire list, repeatedly ask answered questions, or ask
|
|
1475
1480
|
about facts you can determine from source inspection. There is no total question quota: follow up
|
|
1476
1481
|
when an answer or source finding exposes another consequential decision.
|
|
1477
1482
|
|
|
@@ -1603,6 +1608,76 @@ What it costs the protocol, and what to do instead:
|
|
|
1603
1608
|
- Preserve event time, available time, acquisition time, source revision, and timezone. Do not use
|
|
1604
1609
|
post-cutoff information in targets, labels, features, joins, or validation decisions.
|
|
1605
1610
|
|
|
1611
|
+
### Authoring a collection source
|
|
1612
|
+
|
|
1613
|
+
A corpus published as an index plus many detail pages is **one** source through
|
|
1614
|
+
`public.https.collection@2.0.0`, not one source per page. Source count and publisher count are
|
|
1615
|
+
unaffected by how many pages sit behind it: 2,819 pages is one source, one publisher, one line on
|
|
1616
|
+
the dataset's sources card.
|
|
1617
|
+
|
|
1618
|
+
Write it as a source whose connector is that coordinate plus a `collection` member:
|
|
1619
|
+
|
|
1620
|
+
- `collection.discovery` says how the corpus is LISTED — `json_api` with RFC 6901 pointers,
|
|
1621
|
+
`html_index` with the reader's closed selectors, `sitemap`, or an `explicit` member list — and
|
|
1622
|
+
which pagination grammar the listing uses. The run follows only that grammar and never a link
|
|
1623
|
+
found inside a detail page.
|
|
1624
|
+
- `collection.pages` says what may be fetched and how much: `allowed_origins` (which must include
|
|
1625
|
+
the discovery address's own origin), `max_pages`, `max_fetches_per_run`, `concurrency` (1 or 2),
|
|
1626
|
+
`min_interval_seconds` as a whole number of seconds (one or more), `request_timeout_seconds`,
|
|
1627
|
+
`retries`, and a `revisit` rule. Only `allowed_origins` is required; every other member has a
|
|
1628
|
+
stated meaning when it is left out.
|
|
1629
|
+
- `limits.max_requests` is REQUIRED and bounds every request the run makes, discovery and detail
|
|
1630
|
+
pages together. `limits.max_source_bytes` bounds the fetched bytes; `limits.max_rows` clamps the
|
|
1631
|
+
merged relation.
|
|
1632
|
+
- The Reader pin is required, must be `html.web_extract`, and is the SAME settings for every page.
|
|
1633
|
+
|
|
1634
|
+
**`limits.max_requests` is charged per HTTP request, redirect hops and retries included** — a page
|
|
1635
|
+
that redirects once costs two. Registration only checks that
|
|
1636
|
+
`discovery.max_requests + pages.max_fetches_per_run` fits inside it, which is necessary and NOT
|
|
1637
|
+
sufficient: a budget written to exactly that sum runs out early on any publisher that redirects,
|
|
1638
|
+
and the run stops with `budget_exhausted: "max_requests"` short of the pages it was allowed. Where
|
|
1639
|
+
redirects are likely — trailing slashes, `http`→`https`, `www`, which is most publishers — write
|
|
1640
|
+
`limits.max_requests >= discovery.max_requests + 2 * max_fetches_per_run`. A budget larger than the
|
|
1641
|
+
corpus can absorb costs nothing.
|
|
1642
|
+
|
|
1643
|
+
The relation the transform reads is the reader's columns plus `page_id`, `page_url`,
|
|
1644
|
+
`page_fetched_at`, `page_content_sha256`, `page_revision`, `page_discovered_at` and `page_ordinal`.
|
|
1645
|
+
Those names are reserved: a reader that declares one is a registration refusal. Select them in the
|
|
1646
|
+
transform so every row on the table says which page and which revision produced it.
|
|
1647
|
+
|
|
1648
|
+
**All seven arrive as text and must be CAST.** The merged relation is sealed as CSV, so every
|
|
1649
|
+
column reaches the transform as `VARCHAR`; selecting `page_ordinal` bare while declaring the column
|
|
1650
|
+
`integer` fails the build with `TRANSFORM_COLUMN_TYPE_MISMATCH`. Write
|
|
1651
|
+
`cast(page_ordinal as integer)`, `cast(page_revision as integer)` and
|
|
1652
|
+
`cast(page_fetched_at as timestamp with time zone)` — a declared `timestamp` column admits
|
|
1653
|
+
`TIMESTAMP WITH TIME ZONE` and nothing else.
|
|
1654
|
+
|
|
1655
|
+
**A listing that could not be read says so.** The coverage block carries `discovery_failure`:
|
|
1656
|
+
`null`, or the code and one sentence for the first listing request the run was refused. A refresh
|
|
1657
|
+
that already holds pages keeps every row and succeeds; a FIRST run whose listing is refused has
|
|
1658
|
+
nothing to continue from and fails with `COLLECTION_DISCOVERY_FAILED` rather than sealing an empty
|
|
1659
|
+
corpus. If a run reports zero discovered, read that member before concluding the publisher's index
|
|
1660
|
+
is empty.
|
|
1661
|
+
|
|
1662
|
+
**Expect the first run not to finish, and say so.** A run that spends its fetch budget still
|
|
1663
|
+
SUCCEEDS; its coverage block reports `complete: false` and names the budget that ended it. The
|
|
1664
|
+
next refresh continues from the ledger — new pages first, then failures oldest first, then
|
|
1665
|
+
revisits — and every row of a page this run did not fetch survives byte for byte. Report the
|
|
1666
|
+
shortfall as what it is, a backfill in progress, not as a failure and not as a complete corpus.
|
|
1667
|
+
|
|
1668
|
+
A page that disappears from the index deletes nothing. A page answering with different content
|
|
1669
|
+
replaces exactly its own rows, increments `page_revision`, and keeps the previous digest: that is
|
|
1670
|
+
a correction, and it is worth saying on the run record when it happens.
|
|
1671
|
+
|
|
1672
|
+
Before registering it, read the discovery block back the way a run will: the address the first
|
|
1673
|
+
request goes to, whether the pagination parameter is already written into that address, whether
|
|
1674
|
+
the records pointer names an array, and whether `discovery.max_requests` plus
|
|
1675
|
+
`pages.max_fetches_per_run` fits inside `limits.max_requests`. Registration refuses all four, and
|
|
1676
|
+
they are the four that are cheapest to get right before a run spends anybody's rate limit.
|
|
1677
|
+
|
|
1678
|
+
The full contract, including every bound and the coverage block's members, is
|
|
1679
|
+
[Source collections](../../docs/SOURCE-COLLECTIONS.md).
|
|
1680
|
+
|
|
1606
1681
|
## Readers
|
|
1607
1682
|
|
|
1608
1683
|
`docs/READERS.md` defines Reader behavior. Certified Readers may be pinned on an exact
|
|
@@ -1697,6 +1772,7 @@ decoder. Zero matches and multiple matches both refuse.
|
|
|
1697
1772
|
| `xml.tabular@1.0.0` | Absolute record element path, declared namespace prefixes, and relative field selectors ending in `text()` or `@attribute`; fields are required unless `required: false`. |
|
|
1698
1773
|
| `html.tabular@1.0.0` | Absolute record element path and relative text/attribute field selectors; fields are required unless `required: false`. |
|
|
1699
1774
|
| `html.web_extract@1.0.0` | `mode: dom` with closed CSS-like record/field selectors, or `mode: json` with an inert JSON script selector and RFC 6901 field pointers. |
|
|
1775
|
+
| `html.web_extract@1.1.0` | Same settings as 1.0.0; extracted text follows DOM order, with one space at block-element boundaries and `<br>` and none between inline runs. |
|
|
1700
1776
|
| `protobuf.tabular@1.0.0` | Digest-pinned base64 FileDescriptorSet, fully-qualified message type, `single` or `length_delimited` framing, and fields with an explicit repeated `explode` or `refuse` choice. |
|
|
1701
1777
|
| `parquet.tabular@1.0.0` | Optional `columns` selects a bounded ordered Parquet projection. |
|
|
1702
1778
|
| `xbrl.facts@1.0.0` | `document_kind` (`xbrl` or constrained XML `ixbrl`) and exact namespace/name fact projection; contexts, units, and metadata remain evidence fields, not joins. |
|
|
@@ -575,6 +575,7 @@ def _dispatch(
|
|
|
575
575
|
or selected_command == "propose"
|
|
576
576
|
or selected_command == "acquire-cancel"
|
|
577
577
|
or selected_command == "clarify"
|
|
578
|
+
or selected_command == "collection-plan"
|
|
578
579
|
or selected_command in _RESEARCH_COMMANDS
|
|
579
580
|
):
|
|
580
581
|
# `note`, `propose` and the research commands are the hosted lane's own implementation, run
|
|
@@ -586,6 +587,8 @@ def _dispatch(
|
|
|
586
587
|
# nothing and is identical in both profiles. It refuses in the thin lane's typed vocabulary
|
|
587
588
|
# because that is the vocabulary the agent driving it already branches on, and a fifth
|
|
588
589
|
# refusal class for four sentences would be a fifth remediation family for no reader.
|
|
590
|
+
# `collection-plan` is the same shape again: it reaches nothing, and it refuses in that
|
|
591
|
+
# same vocabulary because the agent authoring a collection is already reading it.
|
|
589
592
|
from mostlyright.data_harness.thin.transport import ThinLaneError
|
|
590
593
|
|
|
591
594
|
handled_errors += (ThinLaneError,)
|
|
@@ -754,6 +757,10 @@ def _dispatch(
|
|
|
754
757
|
if args.command == "crosswalk-inspect":
|
|
755
758
|
payload["rows"] = [row.to_dict() for row in crosswalk.rows]
|
|
756
759
|
_emit(payload)
|
|
760
|
+
elif args.command == "collection-plan":
|
|
761
|
+
from mostlyright.data_harness.thin import collection_plan as _collection_plan
|
|
762
|
+
|
|
763
|
+
_emit(_collection_plan.collection_plan(args))
|
|
757
764
|
elif args.command == "recipe-validate":
|
|
758
765
|
recipe = parse_fresh_recipe(_read_json(args.recipe))
|
|
759
766
|
_emit(
|
|
@@ -1694,6 +1701,20 @@ def _parser(
|
|
|
1694
1701
|
)
|
|
1695
1702
|
recipe_validate.add_argument("--recipe", type=Path, required=True, help=_RECIPE_FILE)
|
|
1696
1703
|
|
|
1704
|
+
# DECLARED BY THE MODULE THAT IMPLEMENTS IT, which is the rule `probe` and `recipe` already
|
|
1705
|
+
# follow. It is registered HERE and not in the hosted lane, for the reason that module's own
|
|
1706
|
+
# header states: rendering the plan parses the recipe with the engine's parser, and `mr-data`
|
|
1707
|
+
# installs without it. This is where `recipe-validate` -- the other command that reads a
|
|
1708
|
+
# recipe and reaches nothing -- already lives.
|
|
1709
|
+
from mostlyright.data_harness.thin import collection_plan as _collection_plan
|
|
1710
|
+
|
|
1711
|
+
_collection_plan.declare_arguments(
|
|
1712
|
+
_add(
|
|
1713
|
+
"collection-plan",
|
|
1714
|
+
help="show what a recipe's collection source would discover, fetch and seal",
|
|
1715
|
+
)
|
|
1716
|
+
)
|
|
1717
|
+
|
|
1697
1718
|
crosswalk_validate = _add(
|
|
1698
1719
|
"crosswalk-validate",
|
|
1699
1720
|
help="validate a canonical authored crosswalk and print its digest",
|
|
@@ -10,7 +10,7 @@ from collections.abc import Callable, Iterator
|
|
|
10
10
|
from concurrent.futures import ThreadPoolExecutor
|
|
11
11
|
from contextlib import contextmanager
|
|
12
12
|
from contextvars import ContextVar
|
|
13
|
-
from dataclasses import dataclass
|
|
13
|
+
from dataclasses import dataclass, replace
|
|
14
14
|
from urllib.parse import urlsplit
|
|
15
15
|
|
|
16
16
|
from mostlyright.data_harness.acquisition.http import (
|
|
@@ -271,6 +271,7 @@ def _public_https_retriever(
|
|
|
271
271
|
transport: StdlibPinnedTransport | None = None,
|
|
272
272
|
connect_proxy: ConnectProxyMember | None = None,
|
|
273
273
|
connect_proxy_config_digest: str | None = None,
|
|
274
|
+
allowed_media_types: tuple[str, ...] | None = None,
|
|
274
275
|
) -> PinnedHttpsRetriever:
|
|
275
276
|
"""The one reviewed public-HTTPS retriever construction.
|
|
276
277
|
|
|
@@ -279,6 +280,13 @@ def _public_https_retriever(
|
|
|
279
280
|
limiter -- and differ only in the three explicit caps a caller names: the byte ceiling
|
|
280
281
|
and the two stall timeouts. Stated once so the ranged path cannot drift into a second,
|
|
281
282
|
subtly different transport policy.
|
|
283
|
+
|
|
284
|
+
``allowed_media_types`` NARROWS THAT ONE TERM AND NOTHING ELSE, for a caller whose response
|
|
285
|
+
is not the one the query's own pin describes. A page collection's LISTING request is the
|
|
286
|
+
case: the source is pinned to an HTML Reader because its detail pages are HTML, and the index
|
|
287
|
+
that names those pages is JSON or a sitemap, read inertly by the driver and handed to no
|
|
288
|
+
Reader at all. Every other term above is the reviewed one, so what the narrowing changes is
|
|
289
|
+
which representations the origin may answer with and not how the request is made.
|
|
282
290
|
"""
|
|
283
291
|
|
|
284
292
|
return PinnedHttpsRetriever(
|
|
@@ -288,17 +296,24 @@ def _public_https_retriever(
|
|
|
288
296
|
allowed_ports=frozenset({443}),
|
|
289
297
|
),
|
|
290
298
|
transport=transport or StdlibPinnedTransport(),
|
|
291
|
-
limits=
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
299
|
+
limits=replace(
|
|
300
|
+
RetrievalLimits(
|
|
301
|
+
max_response_bytes=max_response_bytes,
|
|
302
|
+
max_redirects=3,
|
|
303
|
+
max_requests=4,
|
|
304
|
+
connect_timeout_seconds=5.0,
|
|
305
|
+
read_timeout_seconds=read_timeout_seconds,
|
|
306
|
+
total_timeout_seconds=total_timeout_seconds,
|
|
307
|
+
max_concurrency=PUBLIC_HTTPS_MAX_CONCURRENCY,
|
|
308
|
+
min_interval_seconds=1.0,
|
|
309
|
+
allowed_media_types=_public_expected_media_types(request.query),
|
|
310
|
+
user_agent=PUBLIC_HTTPS_USER_AGENT,
|
|
311
|
+
),
|
|
312
|
+
**(
|
|
313
|
+
{}
|
|
314
|
+
if allowed_media_types is None
|
|
315
|
+
else {"allowed_media_types": tuple(allowed_media_types)}
|
|
316
|
+
),
|
|
302
317
|
),
|
|
303
318
|
limiter=_PUBLIC_HTTPS_LIMITER,
|
|
304
319
|
connect_proxy=connect_proxy,
|
|
@@ -407,12 +422,16 @@ def fetch_crawler_source(
|
|
|
407
422
|
*,
|
|
408
423
|
expected_egress_policy_attestation: str,
|
|
409
424
|
retriever: PinnedHttpsRetriever | None = None,
|
|
425
|
+
allowed_media_types: tuple[str, ...] | None = None,
|
|
410
426
|
) -> RetrievedBytes:
|
|
411
427
|
"""Fetch one exact reviewed URL for the crawler child to normalize.
|
|
412
428
|
|
|
413
429
|
The retrieved bytes are framed by encode_normalization_input and handed to the
|
|
414
430
|
mr-data-crawler child, which hosted_crawler_job spawns under a seccomp filter that
|
|
415
431
|
denies socket and connect. That child is not acquisition.sandbox.CrawlerSandbox.
|
|
432
|
+
|
|
433
|
+
``allowed_media_types`` is the caller's own narrowing of the one term
|
|
434
|
+
:func:`_public_https_retriever` documents it for, and reaches only the public HTTPS route.
|
|
416
435
|
"""
|
|
417
436
|
|
|
418
437
|
coordinate = validate_crawler_request(
|
|
@@ -427,6 +446,7 @@ def fetch_crawler_source(
|
|
|
427
446
|
requested_url=requested_url,
|
|
428
447
|
hostname=hostname,
|
|
429
448
|
injected_retriever=retriever,
|
|
449
|
+
allowed_media_types=allowed_media_types,
|
|
430
450
|
)
|
|
431
451
|
if (
|
|
432
452
|
retrieved.source_url != requested_url
|
|
@@ -502,6 +522,7 @@ def _retrieve_public_https(
|
|
|
502
522
|
requested_url: str,
|
|
503
523
|
hostname: str,
|
|
504
524
|
injected_retriever: PinnedHttpsRetriever | None,
|
|
525
|
+
allowed_media_types: tuple[str, ...] | None = None,
|
|
505
526
|
) -> RetrievedBytes:
|
|
506
527
|
"""Retrieve one public HTTPS source, ranged when the origin supports it and size warrants.
|
|
507
528
|
|
|
@@ -536,6 +557,7 @@ def _retrieve_public_https(
|
|
|
536
557
|
transport=transport,
|
|
537
558
|
connect_proxy=proxy_member,
|
|
538
559
|
connect_proxy_config_digest=proxy_digest,
|
|
560
|
+
allowed_media_types=allowed_media_types,
|
|
539
561
|
)
|
|
540
562
|
|
|
541
563
|
def single_shot(probe_hops: tuple[RetrievalHop, ...]) -> RetrievedBytes:
|
|
@@ -548,6 +570,7 @@ def _retrieve_public_https(
|
|
|
548
570
|
transport=transport,
|
|
549
571
|
connect_proxy=proxy_member,
|
|
550
572
|
connect_proxy_config_digest=proxy_digest,
|
|
573
|
+
allowed_media_types=allowed_media_types,
|
|
551
574
|
)
|
|
552
575
|
return _seal_probe_evidence(probe_hops, retriever.retrieve(requested_url))
|
|
553
576
|
|
{mostlyright_data-0.17.4 → mostlyright_data-0.17.6}/src/mostlyright/data_harness/hosted_deploy.py
RENAMED
|
@@ -30,6 +30,7 @@ from mostlyright.data_harness.hosted_crawler_protocol import (
|
|
|
30
30
|
PUBLIC_HTTPS_EGRESS_POLICY_ATTESTATION,
|
|
31
31
|
)
|
|
32
32
|
from mostlyright.data_harness.studio_boundary import StudioBoundaryError, client_contract_identity
|
|
33
|
+
from mostlyright.data_harness.thin.user_agent import with_user_agent
|
|
33
34
|
from mostlyright.data_harness.ux.credentials import ResolvedCloudCredentials
|
|
34
35
|
|
|
35
36
|
CLOUD_TOKEN_PATH = "/api/cli/studio-token"
|
|
@@ -178,7 +179,7 @@ class UrlLibTokenExchangeTransport:
|
|
|
178
179
|
body: bytes | None,
|
|
179
180
|
maximum: int,
|
|
180
181
|
) -> tuple[int, bytes, Mapping[str, str]]:
|
|
181
|
-
request = Request(url, data=body, headers=
|
|
182
|
+
request = Request(url, data=body, headers=with_user_agent(headers), method=method)
|
|
182
183
|
try:
|
|
183
184
|
response = self._opener.open(request, timeout=REQUEST_TIMEOUT_SECONDS)
|
|
184
185
|
except HTTPError as error:
|