mostlyright-data 0.9.2__tar.gz → 0.9.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.
Files changed (315) hide show
  1. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/PKG-INFO +4 -4
  2. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/README.md +3 -3
  3. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/pyproject.toml +1 -1
  4. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/authoring_shards.py +36 -2
  5. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/catalog_author.py +11 -0
  6. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/catalog_publish.py +9 -1
  7. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/.gitignore +0 -0
  8. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/scripts/hatch_build.py +0 -0
  9. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/__init__.py +0 -0
  10. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/acquisition/__init__.py +0 -0
  11. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/acquisition/http.py +0 -0
  12. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/acquisition/parsing.py +0 -0
  13. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/acquisition/ranges.py +0 -0
  14. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/acquisition/result_download.py +0 -0
  15. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/acquisition/retention_admission.py +0 -0
  16. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/acquisition/sandbox.py +0 -0
  17. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/acquisition/url_policy.py +0 -0
  18. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/agent_runtime.py +0 -0
  19. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/assets/logo-ink.svg +0 -0
  20. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/backends/__init__.py +0 -0
  21. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/backends/pandas_backend.py +0 -0
  22. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/backends/polars_backend.py +0 -0
  23. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/backends/protocol.py +0 -0
  24. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/backends/reference.py +0 -0
  25. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/backends/registry.py +0 -0
  26. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/backends/restrictions.py +0 -0
  27. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/canonical.py +0 -0
  28. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/catalog_job.py +0 -0
  29. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/cli.py +0 -0
  30. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/contracts.py +0 -0
  31. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/coordinator.py +0 -0
  32. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/deploy.py +0 -0
  33. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/deploy_target.py +0 -0
  34. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/deployment_evidence.py +0 -0
  35. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/event_presentation.py +0 -0
  36. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/events.py +0 -0
  37. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/fast_delimited.py +0 -0
  38. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/fleet.py +0 -0
  39. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/formats.py +0 -0
  40. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/governors.py +0 -0
  41. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/hosted_bootstrap.py +0 -0
  42. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/hosted_crawler.py +0 -0
  43. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/hosted_crawler_container_smoke.py +0 -0
  44. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/hosted_crawler_fetch.py +0 -0
  45. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/hosted_crawler_job.py +0 -0
  46. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/hosted_crawler_protocol.py +0 -0
  47. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/hosted_dataset.py +0 -0
  48. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/hosted_deploy.py +0 -0
  49. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/hosted_handoff.py +0 -0
  50. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/hosted_ingestion_contract.py +0 -0
  51. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/hosted_ingestion_job.py +0 -0
  52. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/hosted_ingestion_job_smoke.py +0 -0
  53. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/hosted_session_container_smoke.py +0 -0
  54. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/hosted_session_worker.py +0 -0
  55. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/hosted_session_worker_job_smoke.py +0 -0
  56. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/hosted_worker.py +0 -0
  57. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ingestion/__init__.py +0 -0
  58. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ingestion/contracts.py +0 -0
  59. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ingestion/faults.py +0 -0
  60. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ingestion/gcs_store.py +0 -0
  61. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ingestion/spool.py +0 -0
  62. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ingestion/store.py +0 -0
  63. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/key_seam.py +0 -0
  64. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/linux_process_boundary.py +0 -0
  65. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/local_contracts.py +0 -0
  66. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/local_search/__init__.py +0 -0
  67. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/local_search/build_index.py +0 -0
  68. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/local_search/contracts.py +0 -0
  69. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/local_search/query_trace.py +0 -0
  70. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/local_search/retrieval.py +0 -0
  71. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/local_search/sealed.py +0 -0
  72. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/local_search/service.py +0 -0
  73. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/nbrender/CONTRACT.md +0 -0
  74. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/nbrender/__init__.py +0 -0
  75. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/nbrender/chrome.py +0 -0
  76. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/nbrender/code_body.py +0 -0
  77. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/nbrender/document.py +0 -0
  78. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/nbrender/frame.py +0 -0
  79. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/nbrender/interactive.py +0 -0
  80. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/nbrender/markdown_body.py +0 -0
  81. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/nbrender/mr_components.py +0 -0
  82. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/nbrender/outputs_data.py +0 -0
  83. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/nbrender/outputs_rich.py +0 -0
  84. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/nbrender/outputs_source.py +0 -0
  85. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/nbrender/outputs_stage.py +0 -0
  86. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/nbrender/outputs_text.py +0 -0
  87. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/nbrender/parse.py +0 -0
  88. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/nbrender/status.py +0 -0
  89. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/nbrender/tokens.py +0 -0
  90. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/notebook.py +0 -0
  91. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/offline.py +0 -0
  92. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/operation_registry.py +0 -0
  93. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/operator_setup.py +0 -0
  94. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/pipeline.py +0 -0
  95. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/plan_graph.py +0 -0
  96. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/preparation/__init__.py +0 -0
  97. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/preparation/contracts.py +0 -0
  98. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/preparation/engine.py +0 -0
  99. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/preparation/errors.py +0 -0
  100. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/preparation/gates.py +0 -0
  101. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/preparation/joins.py +0 -0
  102. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/preparation/profile.py +0 -0
  103. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/preparation/table.py +0 -0
  104. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/preparation/transforms.py +0 -0
  105. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/progress_events.py +0 -0
  106. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/__init__.py +0 -0
  107. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/containers.py +0 -0
  108. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/contracts.py +0 -0
  109. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/delimited.py +0 -0
  110. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/grib2/__init__.py +0 -0
  111. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/grib2/admission.py +0 -0
  112. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/grib2/decode.py +0 -0
  113. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/grib2/geometry.py +0 -0
  114. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/grib2/portable_math.py +0 -0
  115. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/json_tabular.py +0 -0
  116. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/registry.py +0 -0
  117. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/README.md +0 -0
  118. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.0.0/cities_one_stream/cities.csv.gz +0 -0
  119. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.0.0/cities_one_stream/expected.json +0 -0
  120. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.1.0/cities_one_stream/cities.csv.gz +0 -0
  121. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/archive.gzip/1.1.0/cities_one_stream/expected.json +0 -0
  122. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/archive.tar/1.0.0/cities_beside_a_directory_entry/cities.tar +0 -0
  123. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/archive.tar/1.0.0/cities_beside_a_directory_entry/expected.json +0 -0
  124. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/archive.tar/1.1.0/cities_beside_a_directory_entry/cities.tar +0 -0
  125. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/archive.tar/1.1.0/cities_beside_a_directory_entry/expected.json +0 -0
  126. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/archive.zip/1.0.0/cities_beside_a_second_member/cities.zip +0 -0
  127. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/archive.zip/1.0.0/cities_beside_a_second_member/expected.json +0 -0
  128. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/archive.zip/1.1.0/dwd_semicolon_station_member/dwd-station.zip +0 -0
  129. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/archive.zip/1.1.0/dwd_semicolon_station_member/expected.json +0 -0
  130. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/archive.zip/1.2.0/dwd_semicolon_station_member/dwd-station.zip +0 -0
  131. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/archive.zip/1.2.0/dwd_semicolon_station_member/expected.json +0 -0
  132. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/an_ordinary_comma_separated_table/cities.csv +0 -0
  133. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/an_ordinary_comma_separated_table/expected.json +0 -0
  134. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/quoted_fields_holding_the_delimiter/cities.tsv +0 -0
  135. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/delimited_text/1.0.0/quoted_fields_holding_the_delimiter/expected.json +0 -0
  136. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/delimited_text/1.1.0/an_hourly_observation_table_served_as_plain_text/expected.json +0 -0
  137. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/delimited_text/1.1.0/an_hourly_observation_table_served_as_plain_text/observations.csv +0 -0
  138. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/json.tabular/1.0.0/nested_hourly_observations/expected.json +0 -0
  139. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/json.tabular/1.0.0/nested_hourly_observations/stations.json +0 -0
  140. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/json.tabular/1.1.0/an_observation_stream_served_as_plain_text/expected.json +0 -0
  141. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/json.tabular/1.1.0/an_observation_stream_served_as_plain_text/observations.ndjson +0 -0
  142. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/an_ordinary_table_beside_a_second_sheet/cities.xlsx +0 -0
  143. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/an_ordinary_table_beside_a_second_sheet/expected.json +0 -0
  144. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/shares_the_workbook_had_already_computed/expected.json +0 -0
  145. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.0.0/shares_the_workbook_had_already_computed/shares.xlsx +0 -0
  146. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.1.0/shares_the_workbook_had_already_computed/expected.json +0 -0
  147. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/spreadsheet.xlsx/1.1.0/shares_the_workbook_had_already_computed/shares.xlsx +0 -0
  148. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/README.md +0 -0
  149. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/gfs_2m_temperature/expected.json +0 -0
  150. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/gfs_2m_temperature/gfs-2m-temperature.grib2 +0 -0
  151. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_2m_temperature/expected.json +0 -0
  152. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_2m_temperature/hrrr-2m-temperature.grib2 +0 -0
  153. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_categorical_rain/expected.json +0 -0
  154. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/weather.grib2/1.0.0/hrrr_categorical_rain/hrrr-categorical-rain.grib2 +0 -0
  155. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/weather.grib2/2.0.0/hrrr_2m_temperature/expected.json +0 -0
  156. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples/weather.grib2/2.0.0/hrrr_2m_temperature/hrrr-2m-temperature.grib2 +0 -0
  157. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/samples.py +0 -0
  158. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/spreadsheet.py +0 -0
  159. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/readers/tabular.py +0 -0
  160. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/recipe.py +0 -0
  161. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/repair/__init__.py +0 -0
  162. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/repair/adapters.py +0 -0
  163. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/repair/contracts.py +0 -0
  164. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/repair/coordinator.py +0 -0
  165. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/repair/errors.py +0 -0
  166. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/review.py +0 -0
  167. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/rowset.py +0 -0
  168. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/serving.py +0 -0
  169. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/serving_edge.py +0 -0
  170. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/serving_http.py +0 -0
  171. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/session_probes.py +0 -0
  172. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/signing.py +0 -0
  173. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/source_discovery.py +0 -0
  174. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/__init__.py +0 -0
  175. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/_adapter_steps.py +0 -0
  176. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/adapters.py +0 -0
  177. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/cadence.py +0 -0
  178. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/cadence_emission.py +0 -0
  179. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/cadence_history.py +0 -0
  180. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/__init__.py +0 -0
  181. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/admission.py +0 -0
  182. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/authoring.py +0 -0
  183. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/authoring_policy.py +0 -0
  184. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/bounded_io.py +0 -0
  185. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/channel.py +0 -0
  186. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/channel_client.py +0 -0
  187. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/contracts.py +0 -0
  188. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/coverage.py +0 -0
  189. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/delta.py +0 -0
  190. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/embedding.py +0 -0
  191. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/entry_v2.py +0 -0
  192. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/fill.py +0 -0
  193. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/fill_partitions.py +0 -0
  194. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/fill_staging.py +0 -0
  195. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/gating.py +0 -0
  196. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/generation_receipt.py +0 -0
  197. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/harvest/__init__.py +0 -0
  198. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/harvest/ckan.py +0 -0
  199. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/harvest/datagov_v4.py +0 -0
  200. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/harvest/protocol.py +0 -0
  201. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/harvest/sdmx.py +0 -0
  202. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/harvest/stac.py +0 -0
  203. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/health.py +0 -0
  204. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/hosted_catalog.py +0 -0
  205. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/identity_history.py +0 -0
  206. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/neural.py +0 -0
  207. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/packed_catalog.py +0 -0
  208. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/packed_retrieval.py +0 -0
  209. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/packed_writer.py +0 -0
  210. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/query_trace.py +0 -0
  211. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/recommend.py +0 -0
  212. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/retrieval.py +0 -0
  213. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/retrieval_manifest.py +0 -0
  214. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/rights_decisions.py +0 -0
  215. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/sealed.py +0 -0
  216. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/search.py +0 -0
  217. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/streaming_delta.py +0 -0
  218. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/catalog/update.py +0 -0
  219. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/collections.py +0 -0
  220. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/contracts.py +0 -0
  221. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/deletion.py +0 -0
  222. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/fitness.py +0 -0
  223. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/governance.py +0 -0
  224. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/hosted.py +0 -0
  225. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/integration.py +0 -0
  226. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/range_reader.py +0 -0
  227. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/registry.py +0 -0
  228. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/rights_rule.py +0 -0
  229. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/source_cadence_vectors.v1.json +0 -0
  230. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/sports.py +0 -0
  231. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/stream.py +0 -0
  232. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/stream_connector.py +0 -0
  233. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/sources/stream_recorder.py +0 -0
  234. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/studio_boundary.py +0 -0
  235. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/thin/__init__.py +0 -0
  236. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/thin/acquire.py +0 -0
  237. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/thin/acquire_cancel.py +0 -0
  238. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/thin/approvals.py +0 -0
  239. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/thin/commands.py +0 -0
  240. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/thin/download.py +0 -0
  241. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/thin/narrative.py +0 -0
  242. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/thin/parity.py +0 -0
  243. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/thin/propose.py +0 -0
  244. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/thin/research.py +0 -0
  245. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/thin/router.py +0 -0
  246. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/thin/runs.py +0 -0
  247. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/thin/session.py +0 -0
  248. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/thin/stream.py +0 -0
  249. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/thin/transport.py +0 -0
  250. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/thin/vocabulary.py +0 -0
  251. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/thin/workers.py +0 -0
  252. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ucum/TABLE-PIN.json +0 -0
  253. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ucum/ucum-subset.v1.json +0 -0
  254. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/unit_flow.py +0 -0
  255. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/units.py +0 -0
  256. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/__init__.py +0 -0
  257. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/approve.py +0 -0
  258. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/author_yaml.py +0 -0
  259. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/cloud_auth.py +0 -0
  260. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/__init__.py +0 -0
  261. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/approve.py +0 -0
  262. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/auth.py +0 -0
  263. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/author.py +0 -0
  264. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/catalog_fill.py +0 -0
  265. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/catalog_harvest.py +0 -0
  266. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/catalog_search.py +0 -0
  267. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/catalog_update.py +0 -0
  268. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/deploy.py +0 -0
  269. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/deploy_dataset.py +0 -0
  270. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/deploy_plan.py +0 -0
  271. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/deploy_status.py +0 -0
  272. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/diff.py +0 -0
  273. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/index.py +0 -0
  274. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/inventory.py +0 -0
  275. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/list_builds.py +0 -0
  276. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/login.py +0 -0
  277. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/peek.py +0 -0
  278. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/plan_check.py +0 -0
  279. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/preflight.py +0 -0
  280. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/record.py +0 -0
  281. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/review_setup.py +0 -0
  282. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/search.py +0 -0
  283. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/show.py +0 -0
  284. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/commands/whoami.py +0 -0
  285. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/credential_native.py +0 -0
  286. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/credential_store.py +0 -0
  287. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/credentials.py +0 -0
  288. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/diffing.py +0 -0
  289. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/headline.py +0 -0
  290. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/hosted_acquisition.py +0 -0
  291. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/hosted_run_status.py +0 -0
  292. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/inventory.py +0 -0
  293. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/local_review.py +0 -0
  294. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/login.py +0 -0
  295. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/path_kind.py +0 -0
  296. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/peek.py +0 -0
  297. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/plain_file.py +0 -0
  298. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/plan_check.py +0 -0
  299. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/preflight.py +0 -0
  300. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/readers.py +0 -0
  301. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/remediation.py +0 -0
  302. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/render.py +0 -0
  303. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/ux/workload.py +0 -0
  304. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/viewer.py +0 -0
  305. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/visual_run/__init__.py +0 -0
  306. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/visual_run/authoring.py +0 -0
  307. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/visual_run/contracts.py +0 -0
  308. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/visual_run/materialize.py +0 -0
  309. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/visual_run/observations.py +0 -0
  310. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/visual_run/query.py +0 -0
  311. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/visual_run/reducer.py +0 -0
  312. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/visual_run/sdk.py +0 -0
  313. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/visual_run/store.py +0 -0
  314. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/visual_run/transport.py +0 -0
  315. {mostlyright_data-0.9.2 → mostlyright_data-0.9.3}/src/mostlyright/data_harness/watch.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mostlyright-data
3
- Version: 0.9.2
3
+ Version: 0.9.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/
@@ -81,9 +81,9 @@ Description-Content-Type: text/markdown
81
81
 
82
82
  # mostlyright-data
83
83
 
84
- Mostly Right turns public weather, economic, financial, and satellite data into datasets for
85
- analysis and prediction. It keeps source links, timestamps, and check results with each dataset
86
- version.
84
+ Mostly Right turns historical and live public data—weather, economic releases, financial reports,
85
+ and satellite data—into consistent datasets for analysis and prediction. Each dataset includes
86
+ source links, timestamps, and check results.
87
87
 
88
88
  `mostlyright-data` is the command-line client. It starts hosted research and build work, follows
89
89
  run status, and downloads completed Parquet datasets.
@@ -1,8 +1,8 @@
1
1
  # mostlyright-data
2
2
 
3
- Mostly Right turns public weather, economic, financial, and satellite data into datasets for
4
- analysis and prediction. It keeps source links, timestamps, and check results with each dataset
5
- version.
3
+ Mostly Right turns historical and live public data—weather, economic releases, financial reports,
4
+ and satellite data—into consistent datasets for analysis and prediction. Each dataset includes
5
+ source links, timestamps, and check results.
6
6
 
7
7
  `mostlyright-data` is the command-line client. It starts hosted research and build work, follows
8
8
  run status, and downloads completed Parquet datasets.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mostlyright-data"
3
- version = "0.9.2"
3
+ version = "0.9.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"
@@ -193,6 +193,7 @@ class AuthoringLimits:
193
193
 
194
194
  max_records: int
195
195
  max_input_bytes: int
196
+ max_conflicting_identifiers: int = 0
196
197
  max_shard_entries: int = MAX_AUTHORING_SHARD_ENTRIES
197
198
  max_shard_bytes: int = MAX_AUTHORING_SHARD_BYTES
198
199
  max_disk_bytes: int = 30 * 1024 * 1024 * 1024
@@ -212,6 +213,14 @@ class AuthoringLimits:
212
213
  raise CatalogAuthoringRefused(
213
214
  "AUTHOR_LIMIT", f"limits.{name}", "must be a positive integer"
214
215
  )
216
+ if type(self.max_conflicting_identifiers) is not int or (
217
+ self.max_conflicting_identifiers < 0
218
+ ):
219
+ raise CatalogAuthoringRefused(
220
+ "AUTHOR_LIMIT",
221
+ "limits.max_conflicting_identifiers",
222
+ "must be a non-negative integer; zero admits none",
223
+ )
215
224
  if (
216
225
  self.max_shard_entries > MAX_AUTHORING_SHARD_ENTRIES
217
226
  or self.max_shard_bytes > MAX_AUTHORING_SHARD_BYTES
@@ -226,6 +235,7 @@ class AuthoringLimits:
226
235
  return {
227
236
  "max_records": self.max_records,
228
237
  "max_input_bytes": self.max_input_bytes,
238
+ "max_conflicting_identifiers": self.max_conflicting_identifiers,
229
239
  "max_shard_entries": self.max_shard_entries,
230
240
  "max_shard_bytes": self.max_shard_bytes,
231
241
  "max_disk_bytes": self.max_disk_bytes,
@@ -460,6 +470,9 @@ class _RecordIndex:
460
470
  self.count = 0
461
471
  self.selected = 0
462
472
  self.input_bytes = 0
473
+ #: Identifiers the provider published twice with different content, arbitrated the way
474
+ #: the sweep's own pass map arbitrates them.
475
+ self.conflicting_identifiers = 0
463
476
  self._bounded = False
464
477
  self._connection = sqlite3.connect(path)
465
478
  self._connection.execute("PRAGMA journal_mode=OFF")
@@ -567,11 +580,32 @@ class _RecordIndex:
567
580
  "SELECT semantic FROM record WHERE identifier = ?", (identifier,)
568
581
  ).fetchone()
569
582
  if existing is not None:
570
- if existing[0] != record["normalized_sha256"]:
583
+ if existing[0] == record["normalized_sha256"]:
584
+ return
585
+ # The provider published this identifier twice with different content. The sweep's
586
+ # pass map already settled that case -- `_deduplicate_sorted` keeps the lexically
587
+ # smaller semantic digest -- and the authored corpus has to be the same corpus the
588
+ # sweep converged on, so the same rule is applied here rather than a refusal that
589
+ # would make the two stages disagree about what the catalogue contains.
590
+ self.conflicting_identifiers += 1
591
+ if self.conflicting_identifiers > limits.max_conflicting_identifiers:
571
592
  raise CatalogAuthoringRefused(
572
593
  "AUTHOR_RECORD_CONFLICT",
573
594
  "authoring.records",
574
- "one provider identifier carries two different semantic digests",
595
+ "more identifiers carry two different semantic digests than were admitted",
596
+ )
597
+ if record["normalized_sha256"] < existing[0]:
598
+ self._connection.execute(
599
+ "UPDATE record SET semantic = ?, page = ?, observed = ?, rank = ?, "
600
+ "payload = ? WHERE identifier = ?",
601
+ (
602
+ record["normalized_sha256"],
603
+ page_sha256,
604
+ row[0],
605
+ _selection_rank(record),
606
+ raw,
607
+ identifier,
608
+ ),
575
609
  )
576
610
  return
577
611
  self._connection.execute(
@@ -97,6 +97,16 @@ def add_arguments(parser: argparse.ArgumentParser) -> None:
97
97
  parser.add_argument(
98
98
  "--max-input-bytes", type=int, required=True, help="maximum normalized input bytes read"
99
99
  )
100
+ parser.add_argument(
101
+ "--max-conflicting-identifiers",
102
+ type=int,
103
+ help=(
104
+ "how many identifiers the provider may publish twice with different content "
105
+ "(default 0). Each one is settled the way the sweep's own pass map settled it, by "
106
+ "keeping the lexically smaller semantic digest, so the authored corpus is the corpus "
107
+ "the sweep converged on. The harvest receipt states the count"
108
+ ),
109
+ )
100
110
  parser.add_argument(
101
111
  "--max-shard-entries",
102
112
  type=int,
@@ -207,6 +217,7 @@ def _run_locked(
207
217
  limits=AuthoringLimits(
208
218
  max_records=args.max_records,
209
219
  max_input_bytes=args.max_input_bytes,
220
+ max_conflicting_identifiers=getattr(args, "max_conflicting_identifiers", None) or 0,
210
221
  max_shard_entries=args.max_shard_entries,
211
222
  max_shard_bytes=args.max_shard_bytes,
212
223
  max_disk_bytes=args.max_disk_bytes,
@@ -222,10 +222,14 @@ _AUTHOR_STAGING_MEMBERS = frozenset(
222
222
  _AUTHOR_COUNT_MEMBERS = frozenset(
223
223
  {"records", "authored", "flagged", "skipped", "failed", "layer_text_truncated"}
224
224
  )
225
+ #: The one authoring bound that is meaningfully zero: zero admits no double-published identifier,
226
+ #: which is what an authoring run does when the flag is left off entirely.
227
+ _AUTHOR_ZERO_ALLOWED = frozenset({"max_conflicting_identifiers"})
225
228
  _AUTHOR_LIMIT_MEMBERS = frozenset(
226
229
  {
227
230
  "max_records",
228
231
  "max_input_bytes",
232
+ "max_conflicting_identifiers",
229
233
  "max_shard_entries",
230
234
  "max_shard_bytes",
231
235
  "max_disk_bytes",
@@ -262,6 +266,7 @@ _AUTHOR_JOURNAL_MEMBERS = frozenset(
262
266
  #: it, and this command does not pretend otherwise.
263
267
  AUTHOR_CLAIM_RECONCILIATION = {
264
268
  "journal_sha256": "bound",
269
+ "limits.max_conflicting_identifiers": "unverified",
265
270
  "limits.max_disk_bytes": "unverified",
266
271
  "limits.max_input_bytes": "unverified",
267
272
  "limits.max_records": "bounded_below",
@@ -1234,7 +1239,10 @@ def _verify_author_receipt(
1234
1239
  if (
1235
1240
  not isinstance(limits, dict)
1236
1241
  or set(limits) != _AUTHOR_LIMIT_MEMBERS
1237
- or any(type(value) is not int or value < 1 for value in limits.values())
1242
+ or any(
1243
+ type(value) is not int or value < (0 if name in _AUTHOR_ZERO_ALLOWED else 1)
1244
+ for name, value in limits.items()
1245
+ )
1238
1246
  or limits["max_shard_entries"] > MAX_AUTHORING_SHARD_ENTRIES
1239
1247
  or limits["max_shard_bytes"] > MAX_AUTHORING_SHARD_BYTES
1240
1248
  ):