mostlyright-data 0.15.2__tar.gz → 0.15.3__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.15.2 → mostlyright_data-0.15.3}/PKG-INFO +1 -1
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/pyproject.toml +4 -1
- mostlyright_data-0.15.3/src/mostlyright/data_harness/hosted_ingestion_worker.py +238 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/run_execution_v4.py +20 -2
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/studio_boundary.py +1 -1
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/vocabulary.py +5 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/workers.py +6 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ux/remediation.py +1 -1
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/.gitignore +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/README.md +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/scripts/hatch_build.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/skills/mr-data-build/SKILL.md +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/skills/mr-data-build/agents/openai.yaml +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/skills/mr-data-build/scripts/write_research_notebook.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/skills/mr-data-build/scripts/write_visual_run.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/LICENSE +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/PROVENANCE.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/__init__.pyi +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/_version.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/cal_rec_boxes/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/cal_rec_boxes/main.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/main.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/utils.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/main.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/utils.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/main.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/typings.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/utils.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/config.yaml +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/inference_engine/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/inference_engine/base.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/main.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/provider_config.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/main.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/models/PP-OCRv6_det_small.onnx +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/models/PP-OCRv6_rec_small.onnx +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/models/ch_ppocr_mobile_v2.0_cls_mobile.onnx +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/py.typed +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/utils/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/utils/load_image.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/utils/log.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/utils/model_resolver.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/utils/output.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/utils/parse_parameters.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/utils/process_img.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/utils/typings.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/utils/utils.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/acquisition/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/acquisition/derived_credentials.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/acquisition/http.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/acquisition/parsing.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/acquisition/ranges.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/acquisition/result_download.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/acquisition/retention_admission.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/acquisition/sandbox.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/acquisition/url_policy.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/agent_runtime.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/assets/logo-ink.svg +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/backends/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/backends/pandas_backend.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/backends/polars_backend.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/backends/protocol.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/backends/reference.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/backends/registry.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/backends/restrictions.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/bounded_query.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/bounded_scratch_sink.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/canonical.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/catalog_job.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/cli.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/compact_worker.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/contracts.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/coordinator.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/crosswalks.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/declared_checks.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/deploy.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/deploy_target.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/deployment_evidence.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/documents/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/documents/_worker_capability.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/documents/capture.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/documents/contracts.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/documents/lane.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/documents/ocr.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/documents/pdf.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/documents/registry.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/documents/sandbox.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/documents/selections.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/documents/tables.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/documents/vendor_rapidocr.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/events.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/fast_delimited.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/formats.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/governors.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/hosted_bootstrap.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/hosted_crawler.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/hosted_crawler_container_smoke.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/hosted_crawler_fetch.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/hosted_crawler_job.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/hosted_crawler_protocol.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/hosted_deploy.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/hosted_ingestion_contract.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/hosted_ingestion_job.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/hosted_ingestion_job_smoke.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/hosted_rlimit_as_container_smoke.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/hosted_run_worker.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/hosted_session_container_smoke.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/hosted_session_worker.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/hosted_session_worker_job_smoke.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/hosted_stream_recorder_container_smoke.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/hosted_stream_recorder_job.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/hosted_stream_subscription_container_smoke.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/hosted_stream_subscription_worker.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/hosted_worker.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/incremental_slice_executor.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/incremental_worker.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ingestion/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ingestion/contracts.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ingestion/faults.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ingestion/gcs_store.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ingestion/spool.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ingestion/store.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/inprocess_acquisition.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/key_seam.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/linux_process_boundary.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/local_contracts.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/nbrender/CONTRACT.md +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/nbrender/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/nbrender/chrome.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/nbrender/code_body.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/nbrender/document.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/nbrender/frame.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/nbrender/interactive.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/nbrender/markdown_body.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/nbrender/mr_components.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/nbrender/outputs_data.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/nbrender/outputs_rich.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/nbrender/outputs_source.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/nbrender/outputs_stage.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/nbrender/outputs_text.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/nbrender/parse.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/nbrender/status.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/nbrender/tokens.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/notebook.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/offline.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/operation_registry.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/operator_setup.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/part_check_evidence.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/pipeline.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/plan_graph.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/preparation/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/preparation/contracts.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/preparation/engine.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/preparation/errors.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/preparation/gates.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/preparation/joins.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/preparation/profile.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/preparation/table.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/preparation/transforms.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/progress_events.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/_openpyxl.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/budgets.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/containers.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/contracts.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/delimited.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/geojson_vector.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/geopackage.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/geoparquet.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/grib2/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/grib2/admission.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/grib2/collection.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/grib2/collection_reader.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/grib2/decode.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/grib2/geometry.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/grib2/portable_math.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/grib_eccodes.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/html_tabular.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/html_web_extract.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/json_tabular.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/parquet_tabular.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/pcaxis_px.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/protobuf_tabular.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/raster/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/raster/_bytes.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/raster/decode.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/raster/family.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/raster/jpeg2000.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/raster/profiles.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/raster/rendered.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/raster/safe.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/raster/sentinel_safe.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/raster/tiff.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/registry.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/README.md +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.0.0/cities_one_stream/cities.csv.gz +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.0.0/cities_one_stream/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.1.0/cities_one_stream/cities.csv.gz +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.1.0/cities_one_stream/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/archive.tar/1.0.0/cities_beside_a_directory_entry/cities.tar +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/archive.tar/1.0.0/cities_beside_a_directory_entry/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/archive.tar/1.1.0/cities_beside_a_directory_entry/cities.tar +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/archive.tar/1.1.0/cities_beside_a_directory_entry/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/archive.zip/1.0.0/cities_beside_a_second_member/cities.zip +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/archive.zip/1.0.0/cities_beside_a_second_member/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/archive.zip/1.1.0/dwd_semicolon_station_member/dwd-station.zip +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/archive.zip/1.1.0/dwd_semicolon_station_member/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/archive.zip/1.2.0/dwd_semicolon_station_member/dwd-station.zip +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/archive.zip/1.2.0/dwd_semicolon_station_member/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/an_ordinary_comma_separated_table/cities.csv +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/an_ordinary_comma_separated_table/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/quoted_fields_holding_the_delimiter/cities.tsv +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/quoted_fields_holding_the_delimiter/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/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.15.2 → mostlyright_data-0.15.3}/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.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/geojson.vector/1.0.0/czech_capital/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/geojson.vector/1.0.0/czech_capital/places.geojson +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/geopackage.vector/1.0.0/epsg_4326_feature/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/geopackage.vector/1.0.0/epsg_4326_feature/places.gpkg +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/geoparquet.vector/1.0.0/primary_wkb_point/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/geoparquet.vector/1.0.0/primary_wkb_point/places.parquet +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/html.tabular/1.0.0/sanitized_table/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/html.tabular/1.0.0/sanitized_table/table.html +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/html.web_extract/1.0.0/json_ld_scorecards/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/html.web_extract/1.0.0/json_ld_scorecards/scorecards.html +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/image.rendered/1.0.0/tiny_png/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/image.rendered/1.0.0/tiny_png/tiny-rendered.png +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/json.tabular/1.0.0/nested_hourly_observations/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/json.tabular/1.0.0/nested_hourly_observations/stations.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/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.15.2 → mostlyright_data-0.15.3}/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.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/meteorology.bufr/1.0.0/eccodes_bufr4_subset/eccodes-bufr4.bufr +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/meteorology.bufr/1.0.0/eccodes_bufr4_subset/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/meteorology.grib/1.0.0/eccodes_grib1_origin/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/meteorology.grib/1.0.0/eccodes_grib1_origin/regular-ll-surface.grib1 +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/microdata.sas_xpt/1.0.0/two_raw_columns/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/microdata.sas_xpt/1.0.0/two_raw_columns/survey.xpt +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/microdata.spss_sav/1.0.0/two_raw_columns/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/microdata.spss_sav/1.0.0/two_raw_columns/survey.sav +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/microdata.stata_dta/1.0.0/two_raw_columns/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/microdata.stata_dta/1.0.0/two_raw_columns/stata.dta +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/official.pcaxis_px/1.0.0/population_by_region_and_year/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/official.pcaxis_px/1.0.0/population_by_region_and_year/population.px +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/official.sdmx_json/1.0.0/compact_population_series/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/official.sdmx_json/1.0.0/compact_population_series/population.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/parquet.tabular/1.0.0/two_columns/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/parquet.tabular/1.0.0/two_columns/prices.parquet +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/gtfs-realtime.desc +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/trip-updates.pb +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/raster.geospatial/1.0.0/tiny_geotiff/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/raster.geospatial/1.0.0/tiny_geotiff/tiny-geospatial.tif +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/satellite.goes_abi_l2/1.0.0/authored_cmi_window/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/satellite.goes_abi_l2/1.0.0/authored_cmi_window/goes-abi-l2-cmi-window.nc +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd/1.0.0/authored_b13_single_bzip2/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd/1.0.0/authored_b13_single_bzip2/himawari-b13-0101-bzip2.dat +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/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.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd_complete/1.0.0/authored_b13_three_segment_scan/himawari-hsd-b13-complete.zip +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/satellite.msg_seviri_l15/1.0.0/authored_calibrated_complete_visir/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/satellite.msg_seviri_l15/1.0.0/authored_calibrated_complete_visir/msg-seviri-l15.zip +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/satellite.sentinel_safe/1.0.0/authored_b02_scl_window/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/satellite.sentinel_safe/1.0.0/authored_b02_scl_window/sentinel-safe-b02-scl.zip +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/satellite.xrit_image/1.0.0/authored_complete_raw_counts/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/satellite.xrit_image/1.0.0/authored_complete_raw_counts/xrit-complete-image.zip +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/scientific.fits/1.0.0/tiny_primary_window/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/scientific.fits/1.0.0/tiny_primary_window/tiny-primary.fits +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/scientific.hdf4/1.0.0/authored_temperature_window/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/scientific.hdf4/1.0.0/authored_temperature_window/temperature.hdf +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/scientific.hdf5/1.0.0/authored_temperature_window/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/scientific.hdf5/1.0.0/authored_temperature_window/temperature.h5 +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_grid_temperature_window/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_grid_temperature_window/nasa-hdfeos2-grid.hdf +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_swath_temperature_window/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_swath_temperature_window/nasa-hdfeos2-swath.hdf +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/scientific.netcdf/1.0.0/authored_classic_temperature_window/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/scientific.netcdf/1.0.0/authored_classic_temperature_window/temperature-classic.nc +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/scientific.zarr/1.0.0/authored_v3_temperature_window/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/scientific.zarr/1.0.0/authored_v3_temperature_window/temperature-zarr-v3.zip +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/an_ordinary_table_beside_a_second_sheet/cities.xlsx +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/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.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/shares_the_workbook_had_already_computed/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/shares_the_workbook_had_already_computed/shares.xlsx +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.1.0/shares_the_workbook_had_already_computed/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.1.0/shares_the_workbook_had_already_computed/shares.xlsx +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/README.md +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/gfs_2m_temperature/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/gfs_2m_temperature/gfs-2m-temperature.grib2 +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_2m_temperature/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_2m_temperature/hrrr-2m-temperature.grib2 +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_categorical_rain/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_categorical_rain/hrrr-categorical-rain.grib2 +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/weather.grib2/2.0.0/hrrr_2m_temperature/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/weather.grib2/2.0.0/hrrr_2m_temperature/hrrr-2m-temperature.grib2 +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/weather.grib2/3.0.0/gfs_and_hrrr_categorical_rain/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/weather.grib2/3.0.0/gfs_and_hrrr_categorical_rain/gfs-and-hrrr-categorical-rain.grib2 +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/plain_filing_fact/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/plain_filing_fact/filing.xml +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/xml_inline_fact/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/xml_inline_fact/filing.xhtml +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/pacer_rss_feed/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/pacer_rss_feed/feed.xml +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/sec_form_d_filing/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/sec_form_d_filing/filing.xml +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/unified_agenda_extract/agenda.xml +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/unified_agenda_extract/expected.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/samples.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/scientific.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/scientific_arrays/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/scientific_arrays/container.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/scientific_arrays/goes.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/scientific_arrays/hdf4.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/scientific_arrays/hdf4_bridge.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/scientific_arrays/hdf5.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/scientific_arrays/native.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/scientific_arrays/netcdf.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/scientific_arrays/profiles.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/scientific_arrays/raw.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/scientific_arrays/zarr.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/scientific_catalog.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/scientific_segmented/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/scientific_segmented/asset_sets.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/scientific_segmented/formats.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/scientific_segmented/hsd.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/scientific_segmented/native.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/scientific_segmented/profiles.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/scientific_segmented/reader.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/scientific_segmented/xrit.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/sdmx_json.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/spreadsheet.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/statistical_microdata.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/tabular.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/vector.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/vector_wkb.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/xbrl_facts.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/readers/xml_tabular.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/recipe.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/review.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/rowset.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/session_probes.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/signing.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/skill_assets.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/source_bootstrap.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/source_bundle_writer.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/source_discovery.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/source_history_candidate_child.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/source_history_transform_child.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/source_inventory.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/source_raw_inventory.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/source_state_index.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/_adapter_steps.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/adapters.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/authenticated_https.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/authenticated_https_v2.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/authenticated_https_v3.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/cadence.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/cadence_emission.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/cadence_history.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/admission.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/authoring.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/authoring_policy.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/authoring_shards.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/bounded_io.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/channel.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/channel_client.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/contracts.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/coverage.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/embedding.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/entry_v2.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/fill.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/fill_partitions.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/fill_staging.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/gating.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/generation_receipt.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/harvest/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/harvest/ckan.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/harvest/datagov_v4.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/harvest/protocol.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/harvest/sdmx.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/harvest/stac.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/hosted_catalog.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/identity_history.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/neural.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/packed_catalog.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/packed_retrieval.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/packed_writer.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/query_trace.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/recommend.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/retrieval.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/retrieval_manifest.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/sealed.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/search.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/streaming_delta.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/catalog/update.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/collections.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/contracts.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/dataset.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/deletion.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/document_projection.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/fitness.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/governance.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/hosted.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/integration.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/range_reader.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/registry.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/rights_rule.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/source_cadence_vectors.v1.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/sports.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_capture_session.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_connector.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_connectors/fixture.cursor-resume.v3.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-ed25519.v2.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac.v2.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac384.v2.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac512.v2.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame.v2.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-header-rsa.v2.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-header.v2.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-permessage-jwt.v2.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-permessage.v2.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-prelude.v2.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-query.v2.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-subprotocol.v2.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-subscribe.v2.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-urlpath.v2.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_connectors/polymarket.clob-market.v1.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_credential.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_prelude.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_recorder.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_registry.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_rotation.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_segment_recorder.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_series.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_signing.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sources/stream_transport.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/sql_transform_engine.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/stream_order_vector.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/stream_recovery_objects.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/stream_segment_spill.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/stream_subscription_feed.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/stream_subscription_sealer.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/stream_subscription_worker.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/stream_venue.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/stream_venue_staging.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/studio_subscription_control.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/table_manifest.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/table_parts.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/table_profile.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/acquire.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/acquire_cancel.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/activity.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/approvals.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/commands.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/download.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/narrative.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/parity.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/probe.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/propose.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/recipe.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/research.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/router.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/runs.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/session.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/stream.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/stream_venue.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/transport.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/v4.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/v4_artifacts.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/v4_connections.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/v4_dataset_covers.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/v4_datasets.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/v4_handoff.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/v4_narrative.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/v4_query.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/v4_runs.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/v4_secrets.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/v4_stream.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/v4_tables.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ucum/TABLE-PIN.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ucum/ucum-subset.v1.json +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/unit_flow.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/units.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ux/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ux/attendance.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ux/clarification.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ux/cloud_auth.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ux/commands/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ux/commands/auth.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ux/commands/catalog_author.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ux/commands/catalog_harvest.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ux/commands/catalog_publish.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ux/commands/clarify.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ux/commands/login.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ux/commands/record.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ux/commands/whoami.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ux/credential_native.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ux/credential_store.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ux/credentials.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ux/headline.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ux/hosted_acquisition.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ux/local_review.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ux/login.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ux/path_kind.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ux/plain_file.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ux/readers.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ux/render.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/v4_acquisition.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/v4_check_dialect.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/v4_closed_source.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/v4_document_pin.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/v4_reader_pin.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/v4_recipe.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/v4_required_controls.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/v4_snapshot_artifact.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/v4_stream_recording.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/v4_transform.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/v4_window.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/visual_run/__init__.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/visual_run/authoring.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/visual_run/contracts.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/visual_run/materialize.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/visual_run/observations.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/visual_run/reducer.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/visual_run/sdk.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/visual_run/store.py +0 -0
- {mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/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.15.
|
|
3
|
+
Version: 0.15.3
|
|
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/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "mostlyright-data"
|
|
3
|
-
version = "0.15.
|
|
3
|
+
version = "0.15.3"
|
|
4
4
|
description = "Mostly Right CLI for reproducible, reviewed Parquet datasets"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.13,<3.14"
|
|
@@ -84,6 +84,9 @@ mr-data-generic-api = "mostlyright.data_harness.thin.workers:generic_api_probe_m
|
|
|
84
84
|
mr-data-session-worker = "mostlyright.data_harness.thin.workers:session_worker_main"
|
|
85
85
|
mr-data-session-worker-job = "mostlyright.data_harness.thin.workers:session_worker_job_main"
|
|
86
86
|
mr-data-ingestion-job = "mostlyright.data_harness.thin.workers:ingestion_job_main"
|
|
87
|
+
# The shared, persistent executor for bounded incremental refreshes. Unlike the
|
|
88
|
+
# segment-delivery Job above, it claims a run directly and has no task-specific argv.
|
|
89
|
+
mr-data-ingestion-worker = "mostlyright.data_harness.thin.workers:ingestion_worker_main"
|
|
87
90
|
# The hosted stream venue's recorder. It runs from the same worker runtime the producer and
|
|
88
91
|
# the ingestion Job run from -- the install stage puts every console script in the image and
|
|
89
92
|
# that stage deletes none of them -- so this entry is the whole of what a new job shape needs.
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
"""Persistent executor for Studio-admitted bounded direct refreshes.
|
|
2
|
+
|
|
3
|
+
This worker deliberately owns no session, tenant, queue selector or long-lived Studio
|
|
4
|
+
capability. Each poll presents only its workload identity to the closed ingestion-pop
|
|
5
|
+
route; Studio selects an already-admitted run and returns a fresh run-scoped producer
|
|
6
|
+
capability. ``run_v4`` still creates a fresh scratch root for every run, while every
|
|
7
|
+
Reader remains a fresh networkless, address-space-bounded child.
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
from __future__ import annotations
|
|
11
|
+
|
|
12
|
+
import argparse
|
|
13
|
+
import contextlib
|
|
14
|
+
import logging
|
|
15
|
+
import os
|
|
16
|
+
import signal
|
|
17
|
+
import time
|
|
18
|
+
from collections.abc import Sequence
|
|
19
|
+
from http.server import BaseHTTPRequestHandler, HTTPServer
|
|
20
|
+
from threading import Event, Thread
|
|
21
|
+
from typing import Any
|
|
22
|
+
|
|
23
|
+
from mostlyright.data_harness.hosted_bootstrap import (
|
|
24
|
+
UrlLibBootstrapTransport,
|
|
25
|
+
_https_url,
|
|
26
|
+
_metadata_identity,
|
|
27
|
+
)
|
|
28
|
+
from mostlyright.data_harness.hosted_run_worker import (
|
|
29
|
+
StudioRunCallbacks,
|
|
30
|
+
_assert_bounded_direct_runtime_image,
|
|
31
|
+
_enforce_bounded_direct_runtime_resources,
|
|
32
|
+
_install_termination_handlers,
|
|
33
|
+
_restore_termination_handlers,
|
|
34
|
+
_StageCursor,
|
|
35
|
+
run_v4,
|
|
36
|
+
)
|
|
37
|
+
from mostlyright.data_harness.hosted_session_worker import (
|
|
38
|
+
_claim_poll_interval,
|
|
39
|
+
_claimed_or_empty,
|
|
40
|
+
_V4Internal,
|
|
41
|
+
)
|
|
42
|
+
from mostlyright.data_harness.hosted_worker import (
|
|
43
|
+
HostedWorkerError,
|
|
44
|
+
_new_transfer_client,
|
|
45
|
+
parse_capability,
|
|
46
|
+
)
|
|
47
|
+
from mostlyright.data_harness.run_execution_v4 import (
|
|
48
|
+
RunExecutionError,
|
|
49
|
+
failed_body_for_unparsed,
|
|
50
|
+
parse_run_execution_v4,
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
INGESTION_RUN_CLAIM_PATH = "/internal/v4/ingestion-worker/runs:claim"
|
|
54
|
+
DEFAULT_POLL_SECONDS = 1.0
|
|
55
|
+
MAX_POLL_SECONDS = 60.0
|
|
56
|
+
_LOG = logging.getLogger(__name__)
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
class _HealthHandler(BaseHTTPRequestHandler):
|
|
60
|
+
def do_GET(self) -> None:
|
|
61
|
+
if self.path not in {"/livez", "/healthz"}:
|
|
62
|
+
self.send_error(404)
|
|
63
|
+
return
|
|
64
|
+
self.send_response(200)
|
|
65
|
+
self.send_header("Content-Length", "0")
|
|
66
|
+
self.end_headers()
|
|
67
|
+
|
|
68
|
+
def log_message(self, _format: str, *_args: object) -> None:
|
|
69
|
+
return
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
class _HealthServer(HTTPServer):
|
|
73
|
+
"""A serial probe listener whose slow client cannot retain the worker at shutdown."""
|
|
74
|
+
|
|
75
|
+
request_queue_size = 8
|
|
76
|
+
|
|
77
|
+
def get_request(self) -> tuple[Any, Any]:
|
|
78
|
+
request, address = super().get_request()
|
|
79
|
+
request.settimeout(2.0)
|
|
80
|
+
return request, address
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
def _health_server() -> _HealthServer:
|
|
84
|
+
"""Serve only Cloud Run liveness; it never reports queue or tenant state."""
|
|
85
|
+
|
|
86
|
+
port = int(os.environ.get("PORT", "8080"))
|
|
87
|
+
server = _HealthServer(("0.0.0.0", port), _HealthHandler)
|
|
88
|
+
Thread(target=server.serve_forever, daemon=True).start()
|
|
89
|
+
return server
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
def _config_from_environment() -> tuple[str, str]:
|
|
93
|
+
origin = os.environ.get("STUDIO_API_ORIGIN", "")
|
|
94
|
+
audience = os.environ.get("STUDIO_INGESTION_WORKER_AUDIENCE", origin)
|
|
95
|
+
try:
|
|
96
|
+
return _https_url(origin, "STUDIO_API_ORIGIN").rstrip("/"), _https_url(
|
|
97
|
+
audience, "STUDIO_INGESTION_WORKER_AUDIENCE"
|
|
98
|
+
)
|
|
99
|
+
except HostedWorkerError as error:
|
|
100
|
+
raise HostedWorkerError("INGESTION_WORKER_CONFIG_INVALID", error.detail) from error
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
def run_ingestion_claim_loop(
|
|
104
|
+
*,
|
|
105
|
+
surface: Any,
|
|
106
|
+
transport: Any,
|
|
107
|
+
origin: str,
|
|
108
|
+
stopped: Any,
|
|
109
|
+
sleep: Any = time.sleep,
|
|
110
|
+
execute: Any = run_v4,
|
|
111
|
+
) -> None:
|
|
112
|
+
"""Execute one claimed refresh at a time until the host requests shutdown.
|
|
113
|
+
|
|
114
|
+
Keeping the loop injectable makes its operational guarantees testable: identity/claim
|
|
115
|
+
failures back off, a claim can execute at most once at a time, and only the short-lived
|
|
116
|
+
claim capability reaches callbacks or ``run_v4``. ``run_v4`` owns the per-run scratch
|
|
117
|
+
directory and removes it on both terminal paths.
|
|
118
|
+
"""
|
|
119
|
+
|
|
120
|
+
interval = DEFAULT_POLL_SECONDS
|
|
121
|
+
while not stopped():
|
|
122
|
+
try:
|
|
123
|
+
answer = surface.post(
|
|
124
|
+
INGESTION_RUN_CLAIM_PATH,
|
|
125
|
+
{},
|
|
126
|
+
route=INGESTION_RUN_CLAIM_PATH,
|
|
127
|
+
)
|
|
128
|
+
interval = min(MAX_POLL_SECONDS, _claim_poll_interval(answer, interval))
|
|
129
|
+
claimed = _claimed_or_empty(answer, route=INGESTION_RUN_CLAIM_PATH, kind="run")
|
|
130
|
+
if claimed is None:
|
|
131
|
+
sleep(interval)
|
|
132
|
+
continue
|
|
133
|
+
raw_run = claimed.get("run")
|
|
134
|
+
token = claimed.get("capability_token")
|
|
135
|
+
if not isinstance(raw_run, dict) or not isinstance(token, str) or not token:
|
|
136
|
+
raise HostedWorkerError(
|
|
137
|
+
"V4_CLAIM_ANSWER_INVALID",
|
|
138
|
+
"ingestion claim omitted its run-scoped capability or run document",
|
|
139
|
+
)
|
|
140
|
+
# Do not let an arbitrary claim string reach Authorization. Build callbacks from
|
|
141
|
+
# the raw document before parsing so a malformed claim can promptly terminalize its
|
|
142
|
+
# own lease, following the ordinary one-shot worker's failure path.
|
|
143
|
+
token = parse_capability(token.encode("ascii"))
|
|
144
|
+
raw_run_id = raw_run.get("run_id")
|
|
145
|
+
raw_attempt = raw_run.get("attempt")
|
|
146
|
+
callbacks = StudioRunCallbacks(
|
|
147
|
+
base_url=origin,
|
|
148
|
+
token=token,
|
|
149
|
+
transport=transport,
|
|
150
|
+
run_id=raw_run_id if isinstance(raw_run_id, str) else "",
|
|
151
|
+
attempt=raw_attempt if type(raw_attempt) is int and raw_attempt >= 1 else 1,
|
|
152
|
+
)
|
|
153
|
+
try:
|
|
154
|
+
job = parse_run_execution_v4(raw_run)
|
|
155
|
+
if job.source_history_protocol != "source-history.v2" or job.mode != "refresh":
|
|
156
|
+
raise HostedWorkerError(
|
|
157
|
+
"V4_CLAIM_ANSWER_INVALID",
|
|
158
|
+
"ingestion claim named a run outside the bounded direct refresh contract",
|
|
159
|
+
)
|
|
160
|
+
# These guards run before run_v4 installs its own failure handler. Run them
|
|
161
|
+
# here as well so a rollout witness mismatch terminalizes promptly instead of
|
|
162
|
+
# waiting for lease recovery.
|
|
163
|
+
_assert_bounded_direct_runtime_image(job)
|
|
164
|
+
_enforce_bounded_direct_runtime_resources(job)
|
|
165
|
+
except Exception:
|
|
166
|
+
body = failed_body_for_unparsed(
|
|
167
|
+
raw_run,
|
|
168
|
+
failure_code="V4_CLAIM_ANSWER_INVALID",
|
|
169
|
+
detail="the ingestion worker rejected its claimed run document",
|
|
170
|
+
failed_stage="acquire",
|
|
171
|
+
)
|
|
172
|
+
if body is not None:
|
|
173
|
+
with contextlib.suppress(Exception):
|
|
174
|
+
callbacks.failed(body)
|
|
175
|
+
raise
|
|
176
|
+
# A platform SIGTERM during a run must enter run_v4's existing typed
|
|
177
|
+
# terminal-report path. The idle handler in ``ingestion_worker_main``
|
|
178
|
+
# is temporarily replaced only for this fresh execution.
|
|
179
|
+
cursor = _StageCursor()
|
|
180
|
+
installed = _install_termination_handlers(cursor)
|
|
181
|
+
try:
|
|
182
|
+
execute(job, token, callbacks=callbacks, base_url=origin, cursor=cursor)
|
|
183
|
+
finally:
|
|
184
|
+
_restore_termination_handlers(installed)
|
|
185
|
+
interval = DEFAULT_POLL_SECONDS
|
|
186
|
+
except RunExecutionError as error:
|
|
187
|
+
if error.code == "WORKER_TERMINATED":
|
|
188
|
+
raise
|
|
189
|
+
_LOG.warning("ingestion run failed after terminal reporting: %s", error.code)
|
|
190
|
+
sleep(interval)
|
|
191
|
+
interval = min(MAX_POLL_SECONDS, max(DEFAULT_POLL_SECONDS, interval * 2))
|
|
192
|
+
except Exception as error:
|
|
193
|
+
# Studio's attempt lease/watchdog owns recovery after a worker disappears;
|
|
194
|
+
# backoff avoids a hot loop while a transient identity or control-plane error clears.
|
|
195
|
+
_LOG.warning("ingestion claim loop failed: %s", type(error).__name__)
|
|
196
|
+
sleep(interval)
|
|
197
|
+
interval = min(MAX_POLL_SECONDS, max(DEFAULT_POLL_SECONDS, interval * 2))
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
def ingestion_worker_main(argv: Sequence[str] | None = None) -> int:
|
|
201
|
+
"""Poll the closed queue and run one fresh deterministic execution per claim."""
|
|
202
|
+
|
|
203
|
+
parser = argparse.ArgumentParser(prog="mr-data-ingestion-worker")
|
|
204
|
+
parser.parse_args(argv)
|
|
205
|
+
origin, audience = _config_from_environment()
|
|
206
|
+
health = _health_server()
|
|
207
|
+
stop = Event()
|
|
208
|
+
|
|
209
|
+
def request_stop(_signum: int, _frame: Any) -> None:
|
|
210
|
+
stop.set()
|
|
211
|
+
|
|
212
|
+
installed: list[tuple[int, Any]] = []
|
|
213
|
+
for signum in (signal.SIGTERM, signal.SIGINT):
|
|
214
|
+
installed.append((signum, signal.signal(signum, request_stop)))
|
|
215
|
+
transport = _new_transfer_client()
|
|
216
|
+
surface = _V4Internal(
|
|
217
|
+
base_url=origin,
|
|
218
|
+
transport=transport,
|
|
219
|
+
identity=lambda: _metadata_identity(UrlLibBootstrapTransport(), audience),
|
|
220
|
+
)
|
|
221
|
+
try:
|
|
222
|
+
run_ingestion_claim_loop(
|
|
223
|
+
surface=surface,
|
|
224
|
+
transport=transport,
|
|
225
|
+
origin=origin,
|
|
226
|
+
stopped=stop.is_set,
|
|
227
|
+
# Event.wait is interrupted by request_stop, unlike time.sleep which
|
|
228
|
+
# resumes after a handled signal on modern Python.
|
|
229
|
+
sleep=stop.wait,
|
|
230
|
+
)
|
|
231
|
+
finally:
|
|
232
|
+
for signum, previous in installed:
|
|
233
|
+
signal.signal(signum, previous)
|
|
234
|
+
with contextlib.suppress(Exception):
|
|
235
|
+
transport.close()
|
|
236
|
+
health.shutdown()
|
|
237
|
+
health.server_close()
|
|
238
|
+
return 0
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/run_execution_v4.py
RENAMED
|
@@ -598,7 +598,7 @@ class RunSourceHistoryArtifact:
|
|
|
598
598
|
|
|
599
599
|
@dataclass(frozen=True)
|
|
600
600
|
class RunSourceHistory:
|
|
601
|
-
history_id:
|
|
601
|
+
history_id: str
|
|
602
602
|
run_id: UUID
|
|
603
603
|
table_version_id: str
|
|
604
604
|
candidate_digest: str
|
|
@@ -1278,6 +1278,10 @@ _PREDECESSOR_FIELD_SETS = frozenset(
|
|
|
1278
1278
|
("source_snapshot",),
|
|
1279
1279
|
("manifest_download_session", "source_snapshot"),
|
|
1280
1280
|
("manifest_download_session", "compact_inputs"),
|
|
1281
|
+
# A source-history v1/v2 predecessor may be a table version with neither a
|
|
1282
|
+
# manifest object nor mirrored parts: its retained index is the only
|
|
1283
|
+
# predecessor payload the incremental reader restores.
|
|
1284
|
+
("source_history",),
|
|
1281
1285
|
("manifest_download_session", "source_history"),
|
|
1282
1286
|
("manifest_download_session", "compact_inputs", "source_history"),
|
|
1283
1287
|
# ``parts`` IS THE MANIFEST'S STAND-IN AND NEVER ITS COMPANION. A version composed at a
|
|
@@ -1369,7 +1373,7 @@ def _parse_source_history(value: Any, predecessor: Mapping[str, Any]) -> RunSour
|
|
|
1369
1373
|
except SourceStateIndexError as error:
|
|
1370
1374
|
raise _refuse(code, "source history binding is invalid") from error
|
|
1371
1375
|
return RunSourceHistory(
|
|
1372
|
-
_typed(
|
|
1376
|
+
_typed(_identifier, value["history_id"], "source_history.history_id", code),
|
|
1373
1377
|
_typed(_uuid, value["run_id"], "source_history.run_id", code),
|
|
1374
1378
|
_typed(_identifier, value["table_version_id"], "source_history.table_version_id", code),
|
|
1375
1379
|
_typed(_digest, value["candidate_digest"], "source_history.candidate_digest", code),
|
|
@@ -1960,6 +1964,20 @@ def parse_run_execution_v4(value: Any) -> RunExecution:
|
|
|
1960
1964
|
raise _refuse(
|
|
1961
1965
|
"RUN_PREDECESSOR_INVALID", "source history was not enabled by the job protocol"
|
|
1962
1966
|
)
|
|
1967
|
+
pure_source_history = has_block and set(value["predecessor"]) == {
|
|
1968
|
+
"run_id",
|
|
1969
|
+
"table_version_id",
|
|
1970
|
+
"candidate_digest",
|
|
1971
|
+
"artifact_download_session",
|
|
1972
|
+
"source_history",
|
|
1973
|
+
}
|
|
1974
|
+
if pure_source_history and (
|
|
1975
|
+
protocol not in {"source-history.v1", "source-history.v2"} or mode != "refresh"
|
|
1976
|
+
):
|
|
1977
|
+
raise _refuse(
|
|
1978
|
+
"RUN_PREDECESSOR_INVALID",
|
|
1979
|
+
"a source-history-only predecessor is valid only for a refresh",
|
|
1980
|
+
)
|
|
1963
1981
|
if protocol == "source-history.v2" and "bounded_direct" not in value:
|
|
1964
1982
|
raise _refuse(
|
|
1965
1983
|
"BOUNDED_DIRECT_ROUTE_REFUSED", "source-history.v2 requires a bounded direct admission"
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/studio_boundary.py
RENAMED
|
@@ -85,7 +85,7 @@ PINNED_OPENAPI_SOURCE_SHA256 = "f2164517534e299f96449659332fc5bc0552fa7f94539c3d
|
|
|
85
85
|
#: One line, and it stays one line: ``_replace_exactly`` in the repin matches the whole assignment
|
|
86
86
|
#: as a literal and refuses on any count but one, so a wrapped constant is a constant the repin can
|
|
87
87
|
#: no longer rewrite.
|
|
88
|
-
PINNED_V4_OPENAPI_SOURCE_SHA256 = "
|
|
88
|
+
PINNED_V4_OPENAPI_SOURCE_SHA256 = "5d812f2a3009e8206c5404e0c46295f4ce983272f59b45ac666c7efbc0f04f1b"
|
|
89
89
|
|
|
90
90
|
_DIGEST = re.compile(r"^sha256:[0-9a-f]{64}$")
|
|
91
91
|
_IMAGE_DIGEST = re.compile(r"^[a-z0-9][a-z0-9._/-]{0,254}@sha256:[0-9a-f]{64}$")
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/vocabulary.py
RENAMED
|
@@ -362,6 +362,11 @@ WORKER_ENTRY_POINTS: dict[str, tuple[str, str, str]] = {
|
|
|
362
362
|
"ingestion_job_main",
|
|
363
363
|
"runs one fenced resumable-ingestion delivery inside a backend Cloud Run Job task",
|
|
364
364
|
),
|
|
365
|
+
"mr-data-ingestion-worker": (
|
|
366
|
+
"mostlyright.data_harness.hosted_ingestion_worker",
|
|
367
|
+
"ingestion_worker_main",
|
|
368
|
+
"claims and executes bounded direct refreshes from the persistent backend worker pool",
|
|
369
|
+
),
|
|
365
370
|
"mr-data-stream-recorder-job": (
|
|
366
371
|
"mostlyright.data_harness.hosted_stream_recorder_job",
|
|
367
372
|
"stream_recorder_job_main",
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/thin/workers.py
RENAMED
|
@@ -196,6 +196,10 @@ def ingestion_job_main(argv: Sequence[str] | None = None) -> int:
|
|
|
196
196
|
return _dispatch("mr-data-ingestion-job", argv)
|
|
197
197
|
|
|
198
198
|
|
|
199
|
+
def ingestion_worker_main(argv: Sequence[str] | None = None) -> int:
|
|
200
|
+
return _dispatch("mr-data-ingestion-worker", argv)
|
|
201
|
+
|
|
202
|
+
|
|
199
203
|
def stream_recorder_job_main(argv: Sequence[str] | None = None) -> int:
|
|
200
204
|
return _dispatch("mr-data-stream-recorder-job", argv)
|
|
201
205
|
|
|
@@ -219,6 +223,7 @@ SHIMS = {
|
|
|
219
223
|
"mr-data-session-worker": session_worker_main,
|
|
220
224
|
"mr-data-session-worker-job": session_worker_job_main,
|
|
221
225
|
"mr-data-ingestion-job": ingestion_job_main,
|
|
226
|
+
"mr-data-ingestion-worker": ingestion_worker_main,
|
|
222
227
|
"mr-data-stream-recorder-job": stream_recorder_job_main,
|
|
223
228
|
"mr-data-stream-subscription-worker": stream_subscription_worker_main,
|
|
224
229
|
}
|
|
@@ -234,6 +239,7 @@ __all__ = [
|
|
|
234
239
|
"crawler_main",
|
|
235
240
|
"generic_api_probe_main",
|
|
236
241
|
"ingestion_job_main",
|
|
242
|
+
"ingestion_worker_main",
|
|
237
243
|
"producer_main",
|
|
238
244
|
"run_worker_main",
|
|
239
245
|
"session_worker_job_main",
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/ux/remediation.py
RENAMED
|
@@ -5,7 +5,7 @@ for the commonest failure of all -- pointing a command at a folder that is not t
|
|
|
5
5
|
engineering wording reads like a security incident. This module turns a code into the two or three
|
|
6
6
|
plain sentences that say what happened and what to do next.
|
|
7
7
|
|
|
8
|
-
There are two layers, because
|
|
8
|
+
There are two layers, because 1840 typed codes across 216 prefixes can reach a person at a
|
|
9
9
|
workbench, and a hand-written sentence for each one would be neither affordable nor honest:
|
|
10
10
|
|
|
11
11
|
* **Families.** Every code prefix is assigned to a family. A family is one paragraph: what this
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/skills/mr-data-build/scripts/write_visual_run.py
RENAMED
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/LICENSE
RENAMED
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/PROVENANCE.json
RENAMED
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/__init__.py
RENAMED
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/__init__.pyi
RENAMED
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/_version.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/config.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/main.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/py.typed
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/utils/log.py
RENAMED
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/utils/output.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/_vendor/rapidocr/utils/utils.py
RENAMED
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/acquisition/http.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/agent_runtime.py
RENAMED
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/assets/logo-ink.svg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/bounded_query.py
RENAMED
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/canonical.py
RENAMED
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/catalog_job.py
RENAMED
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/compact_worker.py
RENAMED
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/contracts.py
RENAMED
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/coordinator.py
RENAMED
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/crosswalks.py
RENAMED
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/declared_checks.py
RENAMED
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/deploy_target.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/documents/lane.py
RENAMED
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/documents/ocr.py
RENAMED
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/documents/pdf.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/documents/tables.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/fast_delimited.py
RENAMED
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/governors.py
RENAMED
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/hosted_bootstrap.py
RENAMED
|
File without changes
|
{mostlyright_data-0.15.2 → mostlyright_data-0.15.3}/src/mostlyright/data_harness/hosted_crawler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|