mostlyright-data 0.17.8__tar.gz → 0.18.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/PKG-INFO +1 -1
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/pyproject.toml +1 -1
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_stream_recorder_job.py +5 -2
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_stream_subscription_worker.py +67 -6
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/run_execution_v4.py +1 -1
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream.py +5 -2
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_capture_session.py +393 -74
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connector.py +681 -13
- mostlyright_data-0.18.0/src/mostlyright/data_harness/sources/stream_connectors/fixture.array-frames.v4.json +34 -0
- mostlyright_data-0.18.0/src/mostlyright/data_harness/sources/stream_connectors/fixture.json-keepalive.v4.json +38 -0
- mostlyright_data-0.18.0/src/mostlyright/data_harness/sources/stream_connectors/fixture.loose-frames.v4.json +39 -0
- mostlyright_data-0.18.0/src/mostlyright/data_harness/sources/stream_connectors/fixture.text-keepalive.v4.json +39 -0
- mostlyright_data-0.18.0/src/mostlyright/data_harness/sources/stream_numbers.py +93 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_recorder.py +14 -5
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_rotation.py +4 -4
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_segment_recorder.py +14 -5
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_series.py +745 -137
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_transport.py +67 -12
- mostlyright_data-0.18.0/src/mostlyright/data_harness/stream_subscription_feed.py +932 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/stream_subscription_sealer.py +133 -17
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/stream_subscription_worker.py +748 -15
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/stream_venue_staging.py +49 -9
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/studio_boundary.py +2 -2
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/stream_venue.py +5 -4
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/commands/record.py +60 -14
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/remediation.py +1 -1
- mostlyright_data-0.17.8/src/mostlyright/data_harness/stream_subscription_feed.py +0 -507
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/.gitignore +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/README.md +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/scripts/hatch_build.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/skills/mr-data-build/SKILL.md +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/skills/mr-data-build/agents/openai.yaml +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/skills/mr-data-build/scripts/write_research_notebook.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/skills/mr-data-build/scripts/write_visual_run.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/LICENSE +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/PROVENANCE.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/__init__.pyi +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/_version.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/cal_rec_boxes/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/cal_rec_boxes/main.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/main.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_cls/utils.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/main.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_det/utils.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/main.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/typings.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/ch_ppocr_rec/utils.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/config.yaml +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/inference_engine/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/inference_engine/base.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/main.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/inference_engine/onnxruntime/provider_config.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/main.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/models/PP-OCRv6_det_small.onnx +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/models/PP-OCRv6_rec_small.onnx +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/models/ch_ppocr_mobile_v2.0_cls_mobile.onnx +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/py.typed +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/utils/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/utils/load_image.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/utils/log.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/utils/model_resolver.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/utils/output.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/utils/parse_parameters.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/utils/process_img.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/utils/typings.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/_vendor/rapidocr/utils/utils.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/acquisition/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/acquisition/derived_credentials.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/acquisition/http.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/acquisition/parsing.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/acquisition/ranges.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/acquisition/result_download.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/acquisition/retention_admission.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/acquisition/sandbox.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/acquisition/sandbox_bootstrap.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/acquisition/url_policy.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/agent_runtime.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/assets/logo-ink.svg +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/backends/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/backends/pandas_backend.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/backends/polars_backend.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/backends/protocol.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/backends/reference.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/backends/registry.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/backends/restrictions.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/bounded_query.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/bounded_scratch_sink.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/canonical.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/catalog_job.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/cli.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/compact_worker.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/contracts.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/coordinator.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/crosswalks.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/declared_checks.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/delta.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/delta_checks.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/delta_classifier.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/delta_persist.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/delta_recompute.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/delta_rows.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/deploy.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/deploy_target.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/deployment_evidence.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/documents/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/documents/_worker_capability.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/documents/capture.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/documents/contracts.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/documents/lane.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/documents/ocr.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/documents/pdf.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/documents/registry.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/documents/sandbox.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/documents/selections.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/documents/tables.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/documents/vendor_rapidocr.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/events.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/fast_delimited.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/fetch_egress_smoke.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/formats.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/governors.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_bootstrap.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_crawler.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_crawler_container_smoke.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_crawler_fetch.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_crawler_job.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_crawler_protocol.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_deploy.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_ingestion_contract.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_ingestion_job.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_ingestion_job_smoke.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_ingestion_worker.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_rlimit_as_container_smoke.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_run_worker.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_session_container_smoke.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_session_worker.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_session_worker_job_smoke.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_stream_recorder_container_smoke.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_stream_subscription_container_smoke.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/hosted_worker.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/incremental_slice_executor.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/incremental_worker.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ingestion/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ingestion/contracts.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ingestion/faults.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ingestion/gcs_store.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ingestion/spool.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ingestion/store.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/inprocess_acquisition.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/key_seam.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/legacy_table_recovery.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/legacy_table_recovery_contract.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/linux_process_boundary.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/local_contracts.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/CONTRACT.md +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/chrome.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/code_body.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/document.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/frame.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/interactive.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/markdown_body.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/mr_components.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/outputs_data.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/outputs_rich.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/outputs_source.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/outputs_stage.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/outputs_text.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/parse.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/status.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/nbrender/tokens.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/notebook.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/offline.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/operation_registry.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/operator_setup.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/page_coverage.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/part_check_evidence.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/pipeline.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/plan_graph.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/preparation/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/preparation/contracts.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/preparation/engine.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/preparation/errors.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/preparation/gates.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/preparation/joins.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/preparation/profile.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/preparation/table.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/preparation/transforms.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/progress_events.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/_openpyxl.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/budgets.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/configurable_delimited.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/containers.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/contracts.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/delimited.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/geojson_vector.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/geopackage.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/geoparquet.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/grib2/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/grib2/admission.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/grib2/collection.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/grib2/collection_reader.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/grib2/decode.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/grib2/geometry.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/grib2/portable_math.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/grib_eccodes.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/html_tabular.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/html_web_extract.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/json_tabular.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/parquet_tabular.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/pcaxis_px.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/protobuf_tabular.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/raster/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/raster/_bytes.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/raster/decode.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/raster/family.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/raster/jpeg2000.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/raster/profiles.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/raster/rendered.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/raster/safe.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/raster/sentinel_safe.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/raster/tiff.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/registry.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/README.md +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.0.0/cities_one_stream/cities.csv.gz +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.0.0/cities_one_stream/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.1.0/cities_one_stream/cities.csv.gz +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.1.0/cities_one_stream/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.tar/1.0.0/cities_beside_a_directory_entry/cities.tar +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.tar/1.0.0/cities_beside_a_directory_entry/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.tar/1.1.0/cities_beside_a_directory_entry/cities.tar +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.tar/1.1.0/cities_beside_a_directory_entry/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.0.0/cities_beside_a_second_member/cities.zip +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.0.0/cities_beside_a_second_member/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.1.0/dwd_semicolon_station_member/dwd-station.zip +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.1.0/dwd_semicolon_station_member/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.2.0/dwd_semicolon_station_member/dwd-station.zip +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/archive.zip/1.2.0/dwd_semicolon_station_member/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/an_ordinary_comma_separated_table/cities.csv +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/an_ordinary_comma_separated_table/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/quoted_fields_holding_the_delimiter/cities.tsv +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/quoted_fields_holding_the_delimiter/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/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.8 → mostlyright_data-0.18.0}/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.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/delimited_text/2.0.0/publisher_preamble/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/delimited_text/2.0.0/publisher_preamble/indices.csv +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/geojson.vector/1.0.0/czech_capital/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/geojson.vector/1.0.0/czech_capital/places.geojson +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/geopackage.vector/1.0.0/epsg_4326_feature/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/geopackage.vector/1.0.0/epsg_4326_feature/places.gpkg +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/geoparquet.vector/1.0.0/primary_wkb_point/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/geoparquet.vector/1.0.0/primary_wkb_point/places.parquet +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/html.tabular/1.0.0/sanitized_table/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/html.tabular/1.0.0/sanitized_table/table.html +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/html.web_extract/1.0.0/json_ld_scorecards/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/html.web_extract/1.0.0/json_ld_scorecards/scorecards.html +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/html.web_extract/1.1.0/article_text_order/article.html +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/html.web_extract/1.1.0/article_text_order/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/image.rendered/1.0.0/tiny_png/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/image.rendered/1.0.0/tiny_png/tiny-rendered.png +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/json.tabular/1.0.0/nested_hourly_observations/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/json.tabular/1.0.0/nested_hourly_observations/stations.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/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.8 → mostlyright_data-0.18.0}/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.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/meteorology.bufr/1.0.0/eccodes_bufr4_subset/eccodes-bufr4.bufr +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/meteorology.bufr/1.0.0/eccodes_bufr4_subset/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/meteorology.grib/1.0.0/eccodes_grib1_origin/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/meteorology.grib/1.0.0/eccodes_grib1_origin/regular-ll-surface.grib1 +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/microdata.sas_xpt/1.0.0/two_raw_columns/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/microdata.sas_xpt/1.0.0/two_raw_columns/survey.xpt +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/microdata.spss_sav/1.0.0/two_raw_columns/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/microdata.spss_sav/1.0.0/two_raw_columns/survey.sav +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/microdata.stata_dta/1.0.0/two_raw_columns/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/microdata.stata_dta/1.0.0/two_raw_columns/stata.dta +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/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.8 → mostlyright_data-0.18.0}/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.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/official.sdmx_json/1.0.0/compact_population_series/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/official.sdmx_json/1.0.0/compact_population_series/population.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/parquet.tabular/1.0.0/two_columns/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/parquet.tabular/1.0.0/two_columns/prices.parquet +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/gtfs-realtime.desc +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/protobuf.tabular/1.0.0/gtfs_realtime_trip_updates/trip-updates.pb +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/raster.geospatial/1.0.0/tiny_geotiff/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/raster.geospatial/1.0.0/tiny_geotiff/tiny-geospatial.tif +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/satellite.goes_abi_l2/1.0.0/authored_cmi_window/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/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.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/satellite.himawari_hsd/1.0.0/authored_b13_single_bzip2/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/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.8 → mostlyright_data-0.18.0}/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.8 → mostlyright_data-0.18.0}/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.8 → mostlyright_data-0.18.0}/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.8 → mostlyright_data-0.18.0}/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.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/satellite.sentinel_safe/1.0.0/authored_b02_scl_window/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/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.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/satellite.xrit_image/1.0.0/authored_complete_raw_counts/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/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.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/scientific.fits/1.0.0/tiny_primary_window/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/scientific.fits/1.0.0/tiny_primary_window/tiny-primary.fits +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf4/1.0.0/authored_temperature_window/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf4/1.0.0/authored_temperature_window/temperature.hdf +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf5/1.0.0/authored_temperature_window/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf5/1.0.0/authored_temperature_window/temperature.h5 +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_grid_temperature_window/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/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.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/scientific.hdf_eos2/1.0.0/authored_swath_temperature_window/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/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.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/scientific.netcdf/1.0.0/authored_classic_temperature_window/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/scientific.netcdf/1.0.0/authored_classic_temperature_window/temperature-classic.nc +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/scientific.zarr/1.0.0/authored_v3_temperature_window/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/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.8 → mostlyright_data-0.18.0}/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.8 → mostlyright_data-0.18.0}/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.8 → mostlyright_data-0.18.0}/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.8 → mostlyright_data-0.18.0}/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.8 → mostlyright_data-0.18.0}/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.8 → mostlyright_data-0.18.0}/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.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/README.md +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/gfs_2m_temperature/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/gfs_2m_temperature/gfs-2m-temperature.grib2 +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_2m_temperature/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_2m_temperature/hrrr-2m-temperature.grib2 +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_categorical_rain/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_categorical_rain/hrrr-categorical-rain.grib2 +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/2.0.0/hrrr_2m_temperature/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/2.0.0/hrrr_2m_temperature/hrrr-2m-temperature.grib2 +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/weather.grib2/3.0.0/gfs_and_hrrr_categorical_rain/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/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.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/plain_filing_fact/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/plain_filing_fact/filing.xml +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/xml_inline_fact/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/xbrl.facts/1.0.0/xml_inline_fact/filing.xhtml +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/pacer_rss_feed/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/pacer_rss_feed/feed.xml +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/sec_form_d_filing/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/sec_form_d_filing/filing.xml +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/unified_agenda_extract/agenda.xml +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples/xml.tabular/1.0.0/unified_agenda_extract/expected.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/samples.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_arrays/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_arrays/container.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_arrays/goes.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_arrays/hdf4.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_arrays/hdf4_bridge.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_arrays/hdf5.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_arrays/native.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_arrays/netcdf.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_arrays/profiles.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_arrays/raw.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_arrays/zarr.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_catalog.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_segmented/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_segmented/asset_sets.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_segmented/formats.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_segmented/hsd.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_segmented/native.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_segmented/profiles.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_segmented/reader.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/scientific_segmented/xrit.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/sdmx_json.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/spreadsheet.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/statistical_microdata.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/tabular.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/vector.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/vector_wkb.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/xbrl_facts.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/readers/xml_tabular.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/recipe.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/review.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/rowset.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/run_phase_timing.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/session_probes.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/signing.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/skill_assets.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/source_bootstrap.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/source_bundle_writer.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/source_discovery.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/source_history_candidate_child.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/source_history_transform_child.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/source_inventory.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/source_partition.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/source_raw_inventory.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/source_state_index.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/_adapter_steps.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/adapters.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/authenticated_https.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/authenticated_https_v2.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/authenticated_https_v3.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/cadence.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/cadence_emission.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/cadence_history.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/admission.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/authoring.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/authoring_policy.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/authoring_shards.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/bounded_io.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/channel.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/channel_client.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/contracts.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/coverage.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/embedding.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/entry_v2.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/fill.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/fill_partitions.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/fill_staging.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/gating.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/generation_receipt.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/harvest/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/harvest/ckan.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/harvest/datagov_v4.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/harvest/protocol.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/harvest/sdmx.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/harvest/stac.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/hosted_catalog.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/identity_history.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/neural.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/packed_catalog.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/packed_retrieval.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/packed_writer.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/query_trace.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/recommend.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/retrieval.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/retrieval_manifest.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/sealed.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/search.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/streaming_delta.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/catalog/update.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/collections.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/contracts.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/dataset.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/deletion.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/document_projection.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/fitness.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/governance.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/hosted.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/integration.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/page_collections.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/range_reader.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/registry.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/rights_rule.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/source_cadence_vectors.v1.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/sports.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.cursor-resume.v3.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-ed25519.v2.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac.v2.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac384.v2.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame-hmac512.v2.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-frame.v2.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-header-rsa.v2.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-header.v2.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-permessage-jwt.v2.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-permessage.v2.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-prelude.v2.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-query.v2.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-subprotocol.v2.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-subscribe.v2.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/fixture.keyed-urlpath.v2.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_connectors/polymarket.clob-market.v1.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_credential.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_prelude.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_registry.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream_signing.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sql_transform_engine.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/stream_order_vector.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/stream_recovery_objects.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/stream_segment_spill.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/stream_venue.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/studio_subscription_control.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/table_manifest.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/table_parts.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/table_profile.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/acquire.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/acquire_cancel.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/activity.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/approvals.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/categories.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/collection_plan.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/commands.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/dataset-categories-v1.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/download.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/narrative.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/parity.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/probe.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/propose.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/recipe.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/research.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/router.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/runs.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/session.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/stream.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/transport.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/user_agent.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/v4.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/v4_artifacts.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/v4_catalog.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/v4_connections.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/v4_dataset_covers.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/v4_datasets.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/v4_handoff.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/v4_narrative.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/v4_query.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/v4_runs.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/v4_secrets.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/v4_stream.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/v4_tables.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/vocabulary.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/thin/workers.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ucum/TABLE-PIN.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ucum/ucum-subset.v1.json +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/unit_flow.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/units.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/attendance.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/clarification.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/cloud_auth.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/commands/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/commands/auth.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/commands/catalog_author.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/commands/catalog_harvest.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/commands/catalog_publish.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/commands/clarify.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/commands/login.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/commands/whoami.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/credential_native.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/credential_store.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/credentials.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/headline.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/hosted_acquisition.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/local_review.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/login.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/path_kind.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/plain_file.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/readers.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/ux/render.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/v4_acquisition.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/v4_check_dialect.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/v4_closed_source.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/v4_document_pin.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/v4_reader_pin.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/v4_recipe.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/v4_required_controls.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/v4_snapshot_artifact.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/v4_stream_recording.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/v4_transform.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/v4_window.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/visual_run/__init__.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/visual_run/authoring.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/visual_run/contracts.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/visual_run/materialize.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/visual_run/observations.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/visual_run/reducer.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/visual_run/sdk.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/visual_run/store.py +0 -0
- {mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/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.
|
|
3
|
+
Version: 0.18.0
|
|
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/
|
|
@@ -284,7 +284,10 @@ _JOB_OPTIONAL_KEYS = frozenset(
|
|
|
284
284
|
)
|
|
285
285
|
|
|
286
286
|
_MODES = frozenset({"probe", "capture"})
|
|
287
|
-
|
|
287
|
+
# The most members one bounded recorder Job may name. The thin client restates it and a
|
|
288
|
+
# cross-repo test holds the two equal, because a client that admits more than the worker
|
|
289
|
+
# does is a round trip spent on a refusal the caller could have been told about at once.
|
|
290
|
+
_MAX_MEMBERS = 256
|
|
288
291
|
|
|
289
292
|
# The hard ceilings keep a malformed or compromised dispatch from turning a sample into an
|
|
290
293
|
# unbounded process. They are deliberately separate from ``until``: a completion may claim only
|
|
@@ -299,7 +302,7 @@ _BUCKET = re.compile(r"[a-z0-9][a-z0-9._-]{1,61}[a-z0-9]\Z")
|
|
|
299
302
|
_OBJECT_PREFIX = re.compile(r"[a-z0-9][A-Za-z0-9._/-]{0,255}\Z")
|
|
300
303
|
_CONNECTOR_ID = re.compile(r"[a-z][a-z0-9.-]{0,127}\Z")
|
|
301
304
|
_SERIES_ID = re.compile(r"[a-z][a-z0-9-]{0,63}\Z")
|
|
302
|
-
_MEMBER_ID = re.compile(r"[A-Za-z0-9][A-Za-z0-9._
|
|
305
|
+
_MEMBER_ID = re.compile(r"[A-Za-z0-9][A-Za-z0-9._:@/-]{0,255}\Z")
|
|
303
306
|
_RFC3339 = re.compile(r"[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\.[0-9]{1,6})?Z\Z")
|
|
304
307
|
|
|
305
308
|
#: The two message classes a probe report counts as admitted, and the one it counts as ignored.
|
|
@@ -25,6 +25,7 @@ import sys
|
|
|
25
25
|
import tempfile
|
|
26
26
|
import time
|
|
27
27
|
from collections.abc import Callable, Mapping, Sequence
|
|
28
|
+
from concurrent.futures import ThreadPoolExecutor
|
|
28
29
|
from dataclasses import dataclass
|
|
29
30
|
from pathlib import Path
|
|
30
31
|
from typing import Any, Protocol
|
|
@@ -77,6 +78,7 @@ from mostlyright.data_harness.stream_subscription_feed import (
|
|
|
77
78
|
)
|
|
78
79
|
from mostlyright.data_harness.stream_subscription_sealer import GCSSubscriptionSealer
|
|
79
80
|
from mostlyright.data_harness.stream_subscription_worker import (
|
|
81
|
+
DISCOVERY_TOTAL_TIMEOUT_SECONDS,
|
|
80
82
|
MAX_ACTIVE_SUBSCRIPTIONS,
|
|
81
83
|
ClaimedSubscription,
|
|
82
84
|
ContinuousSubscriptionWorker,
|
|
@@ -86,11 +88,14 @@ from mostlyright.data_harness.stream_subscription_worker import (
|
|
|
86
88
|
SubscriptionFeed,
|
|
87
89
|
install_shutdown_handlers,
|
|
88
90
|
require_policy_serviceable,
|
|
91
|
+
subscription_executor_workers,
|
|
89
92
|
utc_now,
|
|
90
93
|
)
|
|
91
94
|
from mostlyright.data_harness.stream_venue import StreamVenueError, materialize_connector_registry
|
|
92
95
|
from mostlyright.data_harness.studio_subscription_control import StudioSubscriptionControl
|
|
93
96
|
|
|
97
|
+
LOGGER = logging.getLogger(__name__)
|
|
98
|
+
|
|
94
99
|
WORK_ROOT_ENV = "MOSTLYRIGHT_STREAM_SUBSCRIPTION_WORK_ROOT"
|
|
95
100
|
MAX_ACTIVE_ENV = "MOSTLYRIGHT_STREAM_SUBSCRIPTION_MAX_ACTIVE"
|
|
96
101
|
HEARTBEAT_SECONDS_ENV = "MOSTLYRIGHT_STREAM_SUBSCRIPTION_HEARTBEAT_SECONDS"
|
|
@@ -115,6 +120,15 @@ MAX_HEARTBEAT_SECONDS = 300.0
|
|
|
115
120
|
MAX_IDLE_POLL_SECONDS = 60.0
|
|
116
121
|
MAX_CONTROL_RESPONSE_BYTES = 768 * 1024
|
|
117
122
|
|
|
123
|
+
#: What this executable exits with when the worker asked to be REPLACED rather than stopped.
|
|
124
|
+
#:
|
|
125
|
+
#: 75, ``EX_TEMPFAIL``: the condition is temporary in the only sense that matters here -- a fresh
|
|
126
|
+
#: process does not have this one's abandoned threads -- and the value is non-zero, which is the
|
|
127
|
+
#: part Cloud Run reads. A clean SIGTERM drain still exits 0; only a worker that called
|
|
128
|
+
#: ``ContinuousSubscriptionWorker.request_restart`` reaches this, and today exactly one refusal
|
|
129
|
+
#: calls it: ``STREAM_SUBSCRIPTION_REGISTRY_POOL_EXHAUSTED``.
|
|
130
|
+
RESTART_EXIT_CODE = 75
|
|
131
|
+
|
|
118
132
|
|
|
119
133
|
class HostedStreamSubscriptionWorkerError(RuntimeError):
|
|
120
134
|
"""A safe front-door refusal for the long-lived Worker Pool process."""
|
|
@@ -236,7 +250,7 @@ class ProductionSubscriptionFeedResolver:
|
|
|
236
250
|
)
|
|
237
251
|
return _CredentialClosingConnection(current.connection, credential)
|
|
238
252
|
|
|
239
|
-
def subscribe(cursor: str | None) -> str:
|
|
253
|
+
def subscribe(cursor: str | None) -> tuple[str, ...]:
|
|
240
254
|
if current is None:
|
|
241
255
|
raise StreamSubscriptionError(
|
|
242
256
|
"STREAM_SUBSCRIPTION_FEED_INVALID",
|
|
@@ -254,6 +268,7 @@ class ProductionSubscriptionFeedResolver:
|
|
|
254
268
|
open_connection=open_connection,
|
|
255
269
|
subscribe=subscribe,
|
|
256
270
|
reconnect_due=reconnect_due,
|
|
271
|
+
subscription_id=claim.stream_subscription_id,
|
|
257
272
|
)
|
|
258
273
|
|
|
259
274
|
|
|
@@ -489,7 +504,7 @@ def _production_discovery_transport(config: StreamSeriesConfig) -> DiscoveryTran
|
|
|
489
504
|
max_ranges=1,
|
|
490
505
|
connect_timeout_seconds=5.0,
|
|
491
506
|
read_timeout_seconds=30.0,
|
|
492
|
-
total_timeout_seconds=
|
|
507
|
+
total_timeout_seconds=DISCOVERY_TOTAL_TIMEOUT_SECONDS,
|
|
493
508
|
max_concurrency=1,
|
|
494
509
|
allowed_media_types=("application/json",),
|
|
495
510
|
),
|
|
@@ -641,18 +656,64 @@ def build_worker(
|
|
|
641
656
|
)
|
|
642
657
|
|
|
643
658
|
|
|
659
|
+
def size_default_executor(max_active_subscriptions: int) -> int:
|
|
660
|
+
"""Give this process an executor sized for the claims it may hold, and say how big.
|
|
661
|
+
|
|
662
|
+
**THE DEFAULT IS SIX THREADS ON THIS CONTAINER AND NOTHING IN THE PROCESS SAID SO.** Every
|
|
663
|
+
``asyncio.to_thread`` in the recorder -- the roster read, the roster tick, materializing the
|
|
664
|
+
registry that opens a feed -- draws from the loop's default executor, which Python sizes at
|
|
665
|
+
``min(32, cpu_count + 4)`` regardless of how many subscriptions this pool admits. A burst of
|
|
666
|
+
claims filled it, and the leases that could not get a thread heartbeated healthily for
|
|
667
|
+
twenty minutes while sealing nothing. Sizing it from the declared capacity is the arithmetic
|
|
668
|
+
the shipped code was missing; the returned count is logged so the number this instance is
|
|
669
|
+
actually running on can be read off its own log rather than inferred from its vCPU.
|
|
670
|
+
|
|
671
|
+
``asyncio.run`` shuts this executor down with the loop, so it is owned for exactly as long as
|
|
672
|
+
the worker it was sized for.
|
|
673
|
+
"""
|
|
674
|
+
|
|
675
|
+
workers = subscription_executor_workers(max_active_subscriptions)
|
|
676
|
+
asyncio.get_running_loop().set_default_executor(
|
|
677
|
+
ThreadPoolExecutor(max_workers=workers, thread_name_prefix="mr-stream-subscription")
|
|
678
|
+
)
|
|
679
|
+
LOGGER.info(
|
|
680
|
+
"stream_subscription_executor_sized max_active_subscriptions=%s executor_threads=%s",
|
|
681
|
+
max_active_subscriptions,
|
|
682
|
+
workers,
|
|
683
|
+
)
|
|
684
|
+
return workers
|
|
685
|
+
|
|
686
|
+
|
|
644
687
|
async def run_subscription_worker(
|
|
645
688
|
config: SubscriptionWorkerRuntimeConfig,
|
|
646
689
|
**dependencies: object,
|
|
647
|
-
) ->
|
|
648
|
-
"""Run until SIGTERM/SIGINT and give the worker its bounded drain window.
|
|
690
|
+
) -> int:
|
|
691
|
+
"""Run until SIGTERM/SIGINT and give the worker its bounded drain window.
|
|
692
|
+
|
|
693
|
+
The return value is this executable's exit status. A SIGTERM drain is a clean stop and
|
|
694
|
+
answers ``0``; a worker that asked to be REPLACED rather than merely stopped answers
|
|
695
|
+
:data:`RESTART_EXIT_CODE`, because Cloud Run reads a non-zero exit as an instance to start
|
|
696
|
+
again and a zero one as a job that finished.
|
|
697
|
+
"""
|
|
649
698
|
|
|
699
|
+
# BEFORE the worker, not after it. `build_worker` is what constructs the adapters this
|
|
700
|
+
# process runs on, and anything one of them dispatches off the loop while it is being built
|
|
701
|
+
# would land on the inherited default executor -- the six threads this call exists to
|
|
702
|
+
# replace -- and, worse, hold a thread in a pool the very next line discards.
|
|
703
|
+
size_default_executor(config.max_active_subscriptions)
|
|
650
704
|
worker = build_worker(config, **dependencies)
|
|
651
705
|
restore = install_shutdown_handlers(worker)
|
|
652
706
|
try:
|
|
653
707
|
await worker.run()
|
|
654
708
|
finally:
|
|
655
709
|
restore()
|
|
710
|
+
if worker.restart_requested:
|
|
711
|
+
LOGGER.error(
|
|
712
|
+
"stream_subscription_worker_restarting exit_code=%s",
|
|
713
|
+
RESTART_EXIT_CODE,
|
|
714
|
+
)
|
|
715
|
+
return RESTART_EXIT_CODE
|
|
716
|
+
return 0
|
|
656
717
|
|
|
657
718
|
|
|
658
719
|
def stream_subscription_worker_main(argv: Sequence[str] | None = None) -> int:
|
|
@@ -666,8 +727,7 @@ def stream_subscription_worker_main(argv: Sequence[str] | None = None) -> int:
|
|
|
666
727
|
"the Worker Pool executable accepts no arguments",
|
|
667
728
|
)
|
|
668
729
|
config = SubscriptionWorkerRuntimeConfig.from_environment()
|
|
669
|
-
asyncio.run(run_subscription_worker(config))
|
|
670
|
-
return 0
|
|
730
|
+
return asyncio.run(run_subscription_worker(config))
|
|
671
731
|
|
|
672
732
|
|
|
673
733
|
def _configure_worker_logging() -> None:
|
|
@@ -768,6 +828,7 @@ def _bounded_float(
|
|
|
768
828
|
|
|
769
829
|
__all__ = [
|
|
770
830
|
"DEFAULT_WORK_ROOT",
|
|
831
|
+
"RESTART_EXIT_CODE",
|
|
771
832
|
"HostedStreamSubscriptionWorkerError",
|
|
772
833
|
"ProductionSubscriptionRosterResolver",
|
|
773
834
|
"SubscriptionCredentialResolver",
|
{mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/run_execution_v4.py
RENAMED
|
@@ -435,7 +435,7 @@ _RECORDING_BATCH_FIELDS = frozenset(
|
|
|
435
435
|
_RECORDING_BATCH_OPTIONAL_FIELDS = frozenset({"members"})
|
|
436
436
|
|
|
437
437
|
#: The most members one batch's roster may name, equal to the series grammar's own ceiling.
|
|
438
|
-
MAX_RECORDING_BATCH_MEMBERS =
|
|
438
|
+
MAX_RECORDING_BATCH_MEMBERS = 2048
|
|
439
439
|
|
|
440
440
|
|
|
441
441
|
class RunExecutionError(HostedWorkerError):
|
{mostlyright_data-0.17.8 → mostlyright_data-0.18.0}/src/mostlyright/data_harness/sources/stream.py
RENAMED
|
@@ -68,8 +68,11 @@ STREAM_STATE_VERSION_V1 = "harness-stream-watermark.v1"
|
|
|
68
68
|
STREAM_BATCH_ADAPTER_ID = "user.stream-batch"
|
|
69
69
|
STREAM_BATCH_ADAPTER_VERSION = "1.0.0"
|
|
70
70
|
# The one grammar an event name has to be in to enter the ledger. Named once, here, because the
|
|
71
|
-
# Recorder that assigns names and the ledger that admits them must not drift apart.
|
|
72
|
-
|
|
71
|
+
# Recorder that assigns names and the ledger that admits them must not drift apart. It holds
|
|
72
|
+
# ``@`` and ``/`` because a venue-assigned name carries whatever the venue put in it, and an
|
|
73
|
+
# event name addresses nothing on a disk: the ledger scope beneath it is a separate and
|
|
74
|
+
# stricter single-component grammar, and it stays exactly as strict.
|
|
75
|
+
EVENT_ID_GRAMMAR = re.compile(r"^[A-Za-z0-9][A-Za-z0-9._:@/-]{0,255}$")
|
|
73
76
|
_EVENT_ID = EVENT_ID_GRAMMAR
|
|
74
77
|
# ONE MILLION, RAISED FROM ONE HUNDRED THOUSAND WITH THE GRAMMAR THAT MIRRORS IT.
|
|
75
78
|
#
|