pointblank 0.11.5__tar.gz → 0.12.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.
Files changed (401) hide show
  1. {pointblank-0.11.5 → pointblank-0.12.0}/.github/workflows/ci-tests.yaml +10 -0
  2. {pointblank-0.11.5 → pointblank-0.12.0}/PKG-INFO +58 -5
  3. {pointblank-0.11.5 → pointblank-0.12.0}/README.md +53 -1
  4. {pointblank-0.11.5 → pointblank-0.12.0}/docs/_quarto.yml +9 -0
  5. {pointblank-0.11.5 → pointblank-0.12.0}/docs/index.qmd +55 -1
  6. {pointblank-0.11.5 → pointblank-0.12.0}/docs/styles.css +6 -0
  7. pointblank-0.12.0/docs/user-guide/cli-reference.qmd +453 -0
  8. pointblank-0.12.0/docs/user-guide/yaml-reference.qmd +657 -0
  9. {pointblank-0.11.5 → pointblank-0.12.0}/docs/user-guide/yaml-validation-workflows.qmd +70 -28
  10. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/__init__.py +2 -0
  11. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/_constants.py +0 -1
  12. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/_interrogation.py +181 -38
  13. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/_utils.py +29 -2
  14. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/assistant.py +9 -0
  15. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/cli.py +39 -24
  16. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/data/api-docs.txt +658 -29
  17. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/schema.py +17 -0
  18. pointblank-0.12.0/pointblank/segments.py +163 -0
  19. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/validate.py +320 -57
  20. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/yaml.py +162 -19
  21. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank.egg-info/PKG-INFO +58 -5
  22. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank.egg-info/SOURCES.txt +7 -0
  23. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank.egg-info/requires.txt +3 -2
  24. {pointblank-0.11.5 → pointblank-0.12.0}/pyproject.toml +4 -2
  25. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_comprehensive_validation_report_html_snap/comprehensive_validation_report.html +2 -2
  26. pointblank-0.12.0/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_sqlite/validation_report.json +26 -0
  27. pointblank-0.12.0/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_sqlite/validation_report.json +26 -0
  28. pointblank-0.12.0/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_sqlite/validation_report.json +10 -0
  29. pointblank-0.12.0/tests/test_segments.py +209 -0
  30. {pointblank-0.11.5 → pointblank-0.12.0}/tests/test_validate.py +834 -15
  31. {pointblank-0.11.5 → pointblank-0.12.0}/tests/test_yaml.py +630 -1
  32. {pointblank-0.11.5 → pointblank-0.12.0}/translations/README.ar.md +53 -1
  33. {pointblank-0.11.5 → pointblank-0.12.0}/translations/README.de.md +53 -1
  34. {pointblank-0.11.5 → pointblank-0.12.0}/translations/README.es.md +54 -2
  35. {pointblank-0.11.5 → pointblank-0.12.0}/translations/README.fr.md +53 -1
  36. {pointblank-0.11.5 → pointblank-0.12.0}/translations/README.hi.md +53 -1
  37. {pointblank-0.11.5 → pointblank-0.12.0}/translations/README.it.md +53 -1
  38. {pointblank-0.11.5 → pointblank-0.12.0}/translations/README.ja.md +53 -1
  39. {pointblank-0.11.5 → pointblank-0.12.0}/translations/README.ko.md +53 -1
  40. {pointblank-0.11.5 → pointblank-0.12.0}/translations/README.nl.md +53 -1
  41. {pointblank-0.11.5 → pointblank-0.12.0}/translations/README.pt-BR.md +53 -1
  42. {pointblank-0.11.5 → pointblank-0.12.0}/translations/README.zh-CN.md +53 -1
  43. {pointblank-0.11.5 → pointblank-0.12.0}/.github/CODE_OF_CONDUCT.md +0 -0
  44. {pointblank-0.11.5 → pointblank-0.12.0}/.github/ISSUE_TEMPLATE/bug.md +0 -0
  45. {pointblank-0.11.5 → pointblank-0.12.0}/.github/ISSUE_TEMPLATE/feature.md +0 -0
  46. {pointblank-0.11.5 → pointblank-0.12.0}/.github/ISSUE_TEMPLATE/question.md +0 -0
  47. {pointblank-0.11.5 → pointblank-0.12.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  48. {pointblank-0.11.5 → pointblank-0.12.0}/.github/SECURITY.md +0 -0
  49. {pointblank-0.11.5 → pointblank-0.12.0}/.github/workflows/ci-docs.yaml +0 -0
  50. {pointblank-0.11.5 → pointblank-0.12.0}/.github/workflows/code-checks.yaml +0 -0
  51. {pointblank-0.11.5 → pointblank-0.12.0}/.gitignore +0 -0
  52. {pointblank-0.11.5 → pointblank-0.12.0}/.pre-commit-config.yaml +0 -0
  53. {pointblank-0.11.5 → pointblank-0.12.0}/.vscode/settings.json +0 -0
  54. {pointblank-0.11.5 → pointblank-0.12.0}/CITATION.cff +0 -0
  55. {pointblank-0.11.5 → pointblank-0.12.0}/CONTRIBUTING.md +0 -0
  56. {pointblank-0.11.5 → pointblank-0.12.0}/LICENSE +0 -0
  57. {pointblank-0.11.5 → pointblank-0.12.0}/Makefile +0 -0
  58. {pointblank-0.11.5 → pointblank-0.12.0}/data_raw/game_revenue.csv +0 -0
  59. {pointblank-0.11.5 → pointblank-0.12.0}/data_raw/global_sales.csv +0 -0
  60. {pointblank-0.11.5 → pointblank-0.12.0}/data_raw/global_sales_dataset.qmd +0 -0
  61. {pointblank-0.11.5 → pointblank-0.12.0}/data_raw/nycflights.csv +0 -0
  62. {pointblank-0.11.5 → pointblank-0.12.0}/data_raw/small_table.csv +0 -0
  63. {pointblank-0.11.5 → pointblank-0.12.0}/data_raw/worldcities.csv +0 -0
  64. {pointblank-0.11.5 → pointblank-0.12.0}/data_raw/x-01-parquet.qmd +0 -0
  65. {pointblank-0.11.5 → pointblank-0.12.0}/data_raw/x-02-duckdb.qmd +0 -0
  66. {pointblank-0.11.5 → pointblank-0.12.0}/data_raw/x-03-sqlite.qmd +0 -0
  67. {pointblank-0.11.5 → pointblank-0.12.0}/docs/.gitignore +0 -0
  68. {pointblank-0.11.5 → pointblank-0.12.0}/docs/_extensions/machow/interlinks/.gitignore +0 -0
  69. {pointblank-0.11.5 → pointblank-0.12.0}/docs/_extensions/machow/interlinks/_extension.yml +0 -0
  70. {pointblank-0.11.5 → pointblank-0.12.0}/docs/_extensions/machow/interlinks/interlinks.lua +0 -0
  71. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/fav-logo.png +0 -0
  72. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pb-info-worldcities-csv.png +0 -0
  73. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pb-info-worldcities-github-csv.png +0 -0
  74. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pb-make-template.png +0 -0
  75. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pb-missing-worldcities-csv.png +0 -0
  76. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pb-preview-game_revenue-all-columns.png +0 -0
  77. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pb-preview-game_revenue-column-names.png +0 -0
  78. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pb-preview-game_revenue-column-range.png +0 -0
  79. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pb-preview-worldcities-csv-no-row-numbers.png +0 -0
  80. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pb-preview-worldcities-csv.png +0 -0
  81. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pb-run-worldcities_validation-extracts.png +0 -0
  82. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pb-run-worldcities_validation-fail-on-warning.png +0 -0
  83. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pb-run-worldcities_validation-output.png +0 -0
  84. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pb-run-worldcities_validation.png +0 -0
  85. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pb-scan-worldcities-csv.png +0 -0
  86. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pb-validate-exit-code.png +0 -0
  87. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pb-validate-multi-check.png +0 -0
  88. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pb-validate-rows-complete-worldcities-csv.png +0 -0
  89. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pb-validate-rows-distinct-worldcities-csv.png +0 -0
  90. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pb-validate-show-extract.png +0 -0
  91. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pb-validate-worldcities-gt-0-population.png +0 -0
  92. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pb-validate-worldcities-not-null-city_name.png +0 -0
  93. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pb-validate-write-extract.png +0 -0
  94. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pointblank-sales-data.de.png +0 -0
  95. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pointblank-sales-data.es.png +0 -0
  96. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pointblank-sales-data.fr.png +0 -0
  97. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pointblank-sales-data.it.png +0 -0
  98. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pointblank-sales-data.ja.png +0 -0
  99. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pointblank-sales-data.ko.png +0 -0
  100. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pointblank-sales-data.nl.png +0 -0
  101. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pointblank-sales-data.png +0 -0
  102. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pointblank-sales-data.pt-BR.png +0 -0
  103. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pointblank-sales-data.zh-CN.png +0 -0
  104. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pointblank-step-report.png +0 -0
  105. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pointblank-tabular-report.png +0 -0
  106. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/pointblank_logo.svg +0 -0
  107. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/posit-logo-black.svg +0 -0
  108. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/validation-table-diagram.png +0 -0
  109. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/validation-test-units.png +0 -0
  110. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/vhs/.gitignore +0 -0
  111. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/vhs/cli-cicd-workflows.gif +0 -0
  112. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/vhs/cli-cicd-workflows.tape +0 -0
  113. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/vhs/cli-complete-workflow.gif +0 -0
  114. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/vhs/cli-complete-workflow.tape +0 -0
  115. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/vhs/cli-data-exploration.gif +0 -0
  116. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/vhs/cli-data-exploration.tape +0 -0
  117. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/vhs/cli-essential-validations.gif +0 -0
  118. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/vhs/cli-essential-validations.tape +0 -0
  119. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/vhs/cli-getting-started.gif +0 -0
  120. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/vhs/cli-getting-started.tape +0 -0
  121. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/vhs/cli-using-polars.gif +0 -0
  122. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/vhs/cli-using-polars.tape +0 -0
  123. {pointblank-0.11.5 → pointblank-0.12.0}/docs/assets/vhs/validation.py +0 -0
  124. {pointblank-0.11.5 → pointblank-0.12.0}/docs/blog/all-about-actions/index.qmd +0 -0
  125. {pointblank-0.11.5 → pointblank-0.12.0}/docs/blog/index.qmd +0 -0
  126. {pointblank-0.11.5 → pointblank-0.12.0}/docs/blog/intro-pointblank/index.qmd +0 -0
  127. {pointblank-0.11.5 → pointblank-0.12.0}/docs/blog/intro-pointblank/pointblank-localized.png +0 -0
  128. {pointblank-0.11.5 → pointblank-0.12.0}/docs/blog/intro-pointblank/step_report.png +0 -0
  129. {pointblank-0.11.5 → pointblank-0.12.0}/docs/blog/intro-pointblank/validation-table-diagram.png +0 -0
  130. {pointblank-0.11.5 → pointblank-0.12.0}/docs/blog/intro-pointblank/validation-test-units.png +0 -0
  131. {pointblank-0.11.5 → pointblank-0.12.0}/docs/blog/lets-workshop-together/index.qmd +0 -0
  132. {pointblank-0.11.5 → pointblank-0.12.0}/docs/blog/overhauled-user-guide/advanced-in-sidebar.png +0 -0
  133. {pointblank-0.11.5 → pointblank-0.12.0}/docs/blog/overhauled-user-guide/breadth-and-depth.png +0 -0
  134. {pointblank-0.11.5 → pointblank-0.12.0}/docs/blog/overhauled-user-guide/explanation-of-visual.png +0 -0
  135. {pointblank-0.11.5 → pointblank-0.12.0}/docs/blog/overhauled-user-guide/index.qmd +0 -0
  136. {pointblank-0.11.5 → pointblank-0.12.0}/docs/blog/overhauled-user-guide/links-in-guide.png +0 -0
  137. {pointblank-0.11.5 → pointblank-0.12.0}/docs/blog/overhauled-user-guide/segments.png +0 -0
  138. {pointblank-0.11.5 → pointblank-0.12.0}/docs/blog/overhauled-user-guide/step-report.png +0 -0
  139. {pointblank-0.11.5 → pointblank-0.12.0}/docs/blog/overhauled-user-guide/validation-three-things.png +0 -0
  140. {pointblank-0.11.5 → pointblank-0.12.0}/docs/blog/pointblank_blog_logo.png +0 -0
  141. {pointblank-0.11.5 → pointblank-0.12.0}/docs/blog/validation-libs-2025/index.qmd +0 -0
  142. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/01-starter/index.qmd +0 -0
  143. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/02-advanced/index.qmd +0 -0
  144. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/03-data-extracts/index.qmd +0 -0
  145. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/04-sundered-data/index.qmd +0 -0
  146. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/05-step-report-column-check/index.qmd +0 -0
  147. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/06-step-report-schema-check/index.qmd +0 -0
  148. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/07-validation-with-actions/index.qmd +0 -0
  149. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/08-validation-with-final-actions/index.qmd +0 -0
  150. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/apply-checks-to-several-columns/index.qmd +0 -0
  151. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/check-for-freshness/index.qmd +0 -0
  152. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/check-row-column-counts/index.qmd +0 -0
  153. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/checks-for-missing/index.qmd +0 -0
  154. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/cli-interactive/index.qmd +0 -0
  155. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/col-vals-custom-expr/index.qmd +0 -0
  156. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/column-selector-functions/index.qmd +0 -0
  157. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/comparisons-across-columns/index.qmd +0 -0
  158. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/custom-validation-specially/index.qmd +0 -0
  159. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/data/game_revenue.parquet +0 -0
  160. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/expect-no-duplicate-rows/index.qmd +0 -0
  161. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/expect-no-duplicate-values/index.qmd +0 -0
  162. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/expect-text-pattern/index.qmd +0 -0
  163. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/failure-thresholds/index.qmd +0 -0
  164. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/img/advanced_validation.png +0 -0
  165. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/img/data_extracts.png +0 -0
  166. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/img/starter_validation.png +0 -0
  167. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/img/step_report_column_schema.png +0 -0
  168. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/img/step_report_column_values.png +0 -0
  169. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/img/sundered_data.png +0 -0
  170. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/img/validation_with_actions.png +0 -0
  171. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/img/validation_with_final_actions.png +0 -0
  172. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/index.qmd +0 -0
  173. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/mutate-table-in-step/index.qmd +0 -0
  174. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/numeric-comparisons/index.qmd +0 -0
  175. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/schema-check/index.qmd +0 -0
  176. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/set-membership/index.qmd +0 -0
  177. {pointblank-0.11.5 → pointblank-0.12.0}/docs/demos/using-parquet-data/index.qmd +0 -0
  178. {pointblank-0.11.5 → pointblank-0.12.0}/docs/scripts/post-render.py +0 -0
  179. {pointblank-0.11.5 → pointblank-0.12.0}/docs/user-guide/actions.qmd +0 -0
  180. {pointblank-0.11.5 → pointblank-0.12.0}/docs/user-guide/assertions.qmd +0 -0
  181. {pointblank-0.11.5 → pointblank-0.12.0}/docs/user-guide/briefs.qmd +0 -0
  182. {pointblank-0.11.5 → pointblank-0.12.0}/docs/user-guide/cli-data-inspection.qmd +0 -0
  183. {pointblank-0.11.5 → pointblank-0.12.0}/docs/user-guide/cli-data-validation.qmd +0 -0
  184. {pointblank-0.11.5 → pointblank-0.12.0}/docs/user-guide/col-summary-tbl.qmd +0 -0
  185. {pointblank-0.11.5 → pointblank-0.12.0}/docs/user-guide/column-selection-patterns.qmd +0 -0
  186. {pointblank-0.11.5 → pointblank-0.12.0}/docs/user-guide/draft-validation.qmd +0 -0
  187. {pointblank-0.11.5 → pointblank-0.12.0}/docs/user-guide/expressions.qmd +0 -0
  188. {pointblank-0.11.5 → pointblank-0.12.0}/docs/user-guide/extracts.qmd +0 -0
  189. {pointblank-0.11.5 → pointblank-0.12.0}/docs/user-guide/index.qmd +0 -0
  190. {pointblank-0.11.5 → pointblank-0.12.0}/docs/user-guide/installation.qmd +0 -0
  191. {pointblank-0.11.5 → pointblank-0.12.0}/docs/user-guide/langs.qmd +0 -0
  192. {pointblank-0.11.5 → pointblank-0.12.0}/docs/user-guide/missing-vals-tbl.qmd +0 -0
  193. {pointblank-0.11.5 → pointblank-0.12.0}/docs/user-guide/preprocessing.qmd +0 -0
  194. {pointblank-0.11.5 → pointblank-0.12.0}/docs/user-guide/preview.qmd +0 -0
  195. {pointblank-0.11.5 → pointblank-0.12.0}/docs/user-guide/schema-validation.qmd +0 -0
  196. {pointblank-0.11.5 → pointblank-0.12.0}/docs/user-guide/segmentation.qmd +0 -0
  197. {pointblank-0.11.5 → pointblank-0.12.0}/docs/user-guide/step-reports.qmd +0 -0
  198. {pointblank-0.11.5 → pointblank-0.12.0}/docs/user-guide/sundering.qmd +0 -0
  199. {pointblank-0.11.5 → pointblank-0.12.0}/docs/user-guide/thresholds.qmd +0 -0
  200. {pointblank-0.11.5 → pointblank-0.12.0}/docs/user-guide/validation-methods.qmd +0 -0
  201. {pointblank-0.11.5 → pointblank-0.12.0}/docs/user-guide/validation-overview.qmd +0 -0
  202. {pointblank-0.11.5 → pointblank-0.12.0}/images/pointblank-tabular-report.png +0 -0
  203. {pointblank-0.11.5 → pointblank-0.12.0}/images/pointblank_logo.svg +0 -0
  204. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/_constants_docs.py +0 -0
  205. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/_constants_translations.py +0 -0
  206. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/_datascan_utils.py +0 -0
  207. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/_typing.py +0 -0
  208. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/_utils_check_args.py +0 -0
  209. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/_utils_html.py +0 -0
  210. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/actions.py +0 -0
  211. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/column.py +0 -0
  212. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/compare.py +0 -0
  213. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/data/game_revenue-duckdb.zip +0 -0
  214. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/data/game_revenue.zip +0 -0
  215. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/data/global_sales-duckdb.zip +0 -0
  216. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/data/global_sales.zip +0 -0
  217. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/data/nycflights-duckdb.zip +0 -0
  218. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/data/nycflights.zip +0 -0
  219. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/data/polars-api-docs.txt +0 -0
  220. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/data/small_table-duckdb.zip +0 -0
  221. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/data/small_table.zip +0 -0
  222. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/datascan.py +0 -0
  223. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/draft.py +0 -0
  224. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/scan_profile.py +0 -0
  225. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/scan_profile_stats.py +0 -0
  226. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/tf.py +0 -0
  227. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank/thresholds.py +0 -0
  228. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank.egg-info/dependency_links.txt +0 -0
  229. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank.egg-info/entry_points.txt +0 -0
  230. {pointblank-0.11.5 → pointblank-0.12.0}/pointblank.egg-info/top_level.txt +0 -0
  231. {pointblank-0.11.5 → pointblank-0.12.0}/setup.cfg +0 -0
  232. {pointblank-0.11.5 → pointblank-0.12.0}/tests/__init__.py +0 -0
  233. {pointblank-0.11.5 → pointblank-0.12.0}/tests/manual_tests/schema_step_reports.qmd +0 -0
  234. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_datascan/test_col_summary_tbl_duckdb_snap/col_summary_html_duckdb.html +0 -0
  235. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_datascan/test_col_summary_tbl_pandas_snap/col_summary_html_pandas.html +0 -0
  236. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_datascan/test_col_summary_tbl_polars_snap/col_summary_html_polars.html +0 -0
  237. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_01/schema_step_report_01-0.txt +0 -0
  238. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_01_1/schema_step_report_01-1.txt +0 -0
  239. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_01_2/schema_step_report_01-2.txt +0 -0
  240. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_01_3/schema_step_report_01-3.txt +0 -0
  241. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_02/schema_step_report_02-0.txt +0 -0
  242. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_02_1/schema_step_report_02-1.txt +0 -0
  243. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_02_2/schema_step_report_02-2.txt +0 -0
  244. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_02_3/schema_step_report_02-3.txt +0 -0
  245. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_03/schema_step_report_03-0.txt +0 -0
  246. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_03_1/schema_step_report_03-1.txt +0 -0
  247. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_03_2/schema_step_report_03-2.txt +0 -0
  248. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_03_3/schema_step_report_03-3.txt +0 -0
  249. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_04/schema_step_report_04-0.txt +0 -0
  250. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_05/schema_step_report_05-0.txt +0 -0
  251. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_06/schema_step_report_06-0.txt +0 -0
  252. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_07/schema_step_report_07-0.txt +0 -0
  253. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_08/schema_step_report_08-0.txt +0 -0
  254. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_09/schema_step_report_09-0.txt +0 -0
  255. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_10/schema_step_report_10-0.txt +0 -0
  256. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_11/schema_step_report_11-0.txt +0 -0
  257. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_12/schema_step_report_12-0.txt +0 -0
  258. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_13/schema_step_report_13-0.txt +0 -0
  259. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_14/schema_step_report_14-0.txt +0 -0
  260. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_14_1/schema_step_report_14-1.txt +0 -0
  261. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_15/schema_step_report_15-0.txt +0 -0
  262. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_15_1/schema_step_report_15-1.txt +0 -0
  263. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_16/schema_step_report_16-0.txt +0 -0
  264. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_16_1/schema_step_report_16-1.txt +0 -0
  265. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_17/schema_step_report_17-0.txt +0 -0
  266. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_17_1/schema_step_report_17-1.txt +0 -0
  267. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_18/schema_step_report_18-0.txt +0 -0
  268. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_18_1/schema_step_report_18-1.txt +0 -0
  269. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_19/schema_step_report_19-0.txt +0 -0
  270. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_19_1/schema_step_report_19-1.txt +0 -0
  271. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_20/schema_step_report_20-0.txt +0 -0
  272. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_20_1/schema_step_report_20-1.txt +0 -0
  273. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_21/schema_step_report_21-0.txt +0 -0
  274. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_21_1/schema_step_report_21-1.txt +0 -0
  275. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_21_2/schema_step_report_21-2.txt +0 -0
  276. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_21_3/schema_step_report_21-3.txt +0 -0
  277. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_22/schema_step_report_22-0.txt +0 -0
  278. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_22_1/schema_step_report_22-1.txt +0 -0
  279. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_23/schema_step_report_23-0.txt +0 -0
  280. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_23_1/schema_step_report_23-1.txt +0 -0
  281. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_24/schema_step_report_24-0.txt +0 -0
  282. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_24_1/schema_step_report_24-1.txt +0 -0
  283. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_24_2/schema_step_report_24-2.txt +0 -0
  284. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_24_3/schema_step_report_24-3.txt +0 -0
  285. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_25/schema_step_report_25-0.txt +0 -0
  286. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_25_1/schema_step_report_25-1.txt +0 -0
  287. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_25_2/schema_step_report_25-2.txt +0 -0
  288. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_25_3/schema_step_report_25-3.txt +0 -0
  289. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_25_4/schema_step_report_25-4.txt +0 -0
  290. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_step_report_25_5/schema_step_report_25-5.txt +0 -0
  291. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_01-0.txt +0 -0
  292. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_02-0.txt +0 -0
  293. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_03-0.txt +0 -0
  294. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_04-0.txt +0 -0
  295. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_05-0.txt +0 -0
  296. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_06-0.txt +0 -0
  297. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_07-0.txt +0 -0
  298. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_08-0.txt +0 -0
  299. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_09-0.txt +0 -0
  300. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_10-0.txt +0 -0
  301. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_11-0.txt +0 -0
  302. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_12-0.txt +0 -0
  303. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_13-0.txt +0 -0
  304. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_14-0.txt +0 -0
  305. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_14-1.txt +0 -0
  306. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_15-0.txt +0 -0
  307. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_15-1.txt +0 -0
  308. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_16-0.txt +0 -0
  309. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_16-1.txt +0 -0
  310. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_17-0.txt +0 -0
  311. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_17-1.txt +0 -0
  312. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_18-0.txt +0 -0
  313. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_18-1.txt +0 -0
  314. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_19-0.txt +0 -0
  315. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_19-1.txt +0 -0
  316. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_20-0.txt +0 -0
  317. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_20-1.txt +0 -0
  318. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_21-0.txt +0 -0
  319. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_21-1.txt +0 -0
  320. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_21-2.txt +0 -0
  321. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_21-3.txt +0 -0
  322. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_22-0.txt +0 -0
  323. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_22-1.txt +0 -0
  324. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_23-0.txt +0 -0
  325. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_23-1.txt +0 -0
  326. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_24-0.txt +0 -0
  327. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_24-1.txt +0 -0
  328. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_24-2.txt +0 -0
  329. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_24-3.txt +0 -0
  330. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-0.txt +0 -0
  331. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-1.txt +0 -0
  332. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-2.txt +0 -0
  333. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-3.txt +0 -0
  334. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-4.txt +0 -0
  335. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-5.txt +0 -0
  336. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_no_interrogation_validation_report_html_snap/no_interrogation_validation_report.html +0 -0
  337. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_no_steps_validation_report_html_snap/no_steps_validation_report.html +0 -0
  338. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_validation_report_briefs_global_local_html/validation_report_briefs_global_local.html +0 -0
  339. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_validation_report_briefs_html/validation_report_with_briefs.html +0 -0
  340. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_duckdb/validation_report.json +0 -0
  341. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_parquet/validation_report.json +0 -0
  342. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_pd/validation_report.json +0 -0
  343. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_pl/validation_report.json +0 -0
  344. {pointblank-0.11.5/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_sqlite → pointblank-0.12.0/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_pyspark}/validation_report.json +0 -0
  345. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_duckdb/validation_report.json +0 -0
  346. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_parquet/validation_report.json +0 -0
  347. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_pd/validation_report.json +0 -0
  348. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_pl/validation_report.json +0 -0
  349. {pointblank-0.11.5/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_sqlite → pointblank-0.12.0/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_pyspark}/validation_report.json +0 -0
  350. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_validation_report_segments_html/duckdb/validation_report_segments.html +0 -0
  351. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_validation_report_segments_html/pandas/validation_report_segments.html +0 -0
  352. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_validation_report_segments_html/polars/validation_report_segments.html +0 -0
  353. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_validation_report_segments_with_pre_html/polars/validation_report_segments_with_pre.html +0 -0
  354. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_validation_report_segments_with_pre_html/validation_report_segments_with_pre.html +0 -0
  355. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_duckdb/validation_report.json +0 -0
  356. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_parquet/validation_report.json +0 -0
  357. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_pd/validation_report.json +0 -0
  358. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_pl/validation_report.json +0 -0
  359. {pointblank-0.11.5/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_sqlite → pointblank-0.12.0/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_pyspark}/validation_report.json +0 -0
  360. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_validation_with_selector_helper_functions_no_match_snap/tbl_memtable_variable_names/selector_helper_functions_no_match.html +0 -0
  361. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_validation_with_selector_helper_functions_no_match_snap/tbl_pd_variable_names/selector_helper_functions_no_match.html +0 -0
  362. {pointblank-0.11.5 → pointblank-0.12.0}/tests/snapshots/test_validate/test_validation_with_selector_helper_functions_no_match_snap/tbl_pl_variable_names/selector_helper_functions_no_match.html +0 -0
  363. {pointblank-0.11.5 → pointblank-0.12.0}/tests/tbl_files/parquet_data/data_a.parquet +0 -0
  364. {pointblank-0.11.5 → pointblank-0.12.0}/tests/tbl_files/parquet_data/data_b.parquet +0 -0
  365. {pointblank-0.11.5 → pointblank-0.12.0}/tests/tbl_files/parquet_data/subdir/nested_data.parquet +0 -0
  366. {pointblank-0.11.5 → pointblank-0.12.0}/tests/tbl_files/partitioned_sales/status=cancelled/0.parquet +0 -0
  367. {pointblank-0.11.5 → pointblank-0.12.0}/tests/tbl_files/partitioned_sales/status=delivered/0.parquet +0 -0
  368. {pointblank-0.11.5 → pointblank-0.12.0}/tests/tbl_files/partitioned_sales/status=pending/0.parquet +0 -0
  369. {pointblank-0.11.5 → pointblank-0.12.0}/tests/tbl_files/partitioned_sales/status=returned/0.parquet +0 -0
  370. {pointblank-0.11.5 → pointblank-0.12.0}/tests/tbl_files/partitioned_sales/status=shipped/0.parquet +0 -0
  371. {pointblank-0.11.5 → pointblank-0.12.0}/tests/tbl_files/partitioned_small_table/f=high/0.parquet +0 -0
  372. {pointblank-0.11.5 → pointblank-0.12.0}/tests/tbl_files/partitioned_small_table/f=low/0.parquet +0 -0
  373. {pointblank-0.11.5 → pointblank-0.12.0}/tests/tbl_files/partitioned_small_table/f=mid/0.parquet +0 -0
  374. {pointblank-0.11.5 → pointblank-0.12.0}/tests/tbl_files/taxi_part_01.parquet +0 -0
  375. {pointblank-0.11.5 → pointblank-0.12.0}/tests/tbl_files/taxi_part_02.parquet +0 -0
  376. {pointblank-0.11.5 → pointblank-0.12.0}/tests/tbl_files/taxi_part_03.parquet +0 -0
  377. {pointblank-0.11.5 → pointblank-0.12.0}/tests/tbl_files/taxi_sample.parquet +0 -0
  378. {pointblank-0.11.5 → pointblank-0.12.0}/tests/tbl_files/tbl_dates_times_text.ddb +0 -0
  379. {pointblank-0.11.5 → pointblank-0.12.0}/tests/tbl_files/tbl_dates_times_text.parquet +0 -0
  380. {pointblank-0.11.5 → pointblank-0.12.0}/tests/tbl_files/tbl_dates_times_text.sqlite +0 -0
  381. {pointblank-0.11.5 → pointblank-0.12.0}/tests/tbl_files/tbl_true_dates_times.ddb +0 -0
  382. {pointblank-0.11.5 → pointblank-0.12.0}/tests/tbl_files/tbl_xyz.ddb +0 -0
  383. {pointblank-0.11.5 → pointblank-0.12.0}/tests/tbl_files/tbl_xyz.parquet +0 -0
  384. {pointblank-0.11.5 → pointblank-0.12.0}/tests/tbl_files/tbl_xyz.sqlite +0 -0
  385. {pointblank-0.11.5 → pointblank-0.12.0}/tests/tbl_files/tbl_xyz_missing.ddb +0 -0
  386. {pointblank-0.11.5 → pointblank-0.12.0}/tests/tbl_files/tbl_xyz_missing.parquet +0 -0
  387. {pointblank-0.11.5 → pointblank-0.12.0}/tests/tbl_files/tbl_xyz_missing.sqlite +0 -0
  388. {pointblank-0.11.5 → pointblank-0.12.0}/tests/test__interrogation.py +0 -0
  389. {pointblank-0.11.5 → pointblank-0.12.0}/tests/test__utils.py +0 -0
  390. {pointblank-0.11.5 → pointblank-0.12.0}/tests/test__utils_check_args.py +0 -0
  391. {pointblank-0.11.5 → pointblank-0.12.0}/tests/test_actions.py +0 -0
  392. {pointblank-0.11.5 → pointblank-0.12.0}/tests/test_assistant.py +0 -0
  393. {pointblank-0.11.5 → pointblank-0.12.0}/tests/test_cli.py +0 -0
  394. {pointblank-0.11.5 → pointblank-0.12.0}/tests/test_column.py +0 -0
  395. {pointblank-0.11.5 → pointblank-0.12.0}/tests/test_compare.py +0 -0
  396. {pointblank-0.11.5 → pointblank-0.12.0}/tests/test_datascan.py +0 -0
  397. {pointblank-0.11.5 → pointblank-0.12.0}/tests/test_draft.py +0 -0
  398. {pointblank-0.11.5 → pointblank-0.12.0}/tests/test_meta.py +0 -0
  399. {pointblank-0.11.5 → pointblank-0.12.0}/tests/test_schema.py +0 -0
  400. {pointblank-0.11.5 → pointblank-0.12.0}/tests/test_tf.py +0 -0
  401. {pointblank-0.11.5 → pointblank-0.12.0}/tests/test_thresholds.py +0 -0
@@ -24,11 +24,21 @@ jobs:
24
24
  uses: actions/setup-python@v5
25
25
  with:
26
26
  python-version: ${{ matrix.python-version }}
27
+ - name: Set up Java for PySpark
28
+ uses: actions/setup-java@v4
29
+ with:
30
+ distribution: "temurin"
31
+ java-version: "11"
27
32
  - name: Install uv
28
33
  uses: astral-sh/setup-uv@v5
29
34
  - name: pytest unit tests
30
35
  run: |
31
36
  make test
37
+ env:
38
+ # Optimize PySpark for CI environment
39
+ PYSPARK_DRIVER_MEMORY: 1g
40
+ PYSPARK_EXECUTOR_MEMORY: 1g
41
+ SPARK_LOCAL_IP: 127.0.0.1
32
42
  - name: Upload coverage reports to Codecov
33
43
  uses: codecov/codecov-action@v5
34
44
  with:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pointblank
3
- Version: 0.11.5
3
+ Version: 0.12.0
4
4
  Summary: Find out if your data is what you think it is.
5
5
  Author-email: Richard Iannone <riannone@me.com>
6
6
  License: MIT License
@@ -43,7 +43,7 @@ License-File: LICENSE
43
43
  Requires-Dist: commonmark>=0.9.1
44
44
  Requires-Dist: importlib-metadata
45
45
  Requires-Dist: great_tables>=0.17.0
46
- Requires-Dist: narwhals>=1.41.0
46
+ Requires-Dist: narwhals>=2.0.1
47
47
  Requires-Dist: typing_extensions>=3.10.0.0
48
48
  Requires-Dist: requests>=2.31.0
49
49
  Requires-Dist: click>=8.0.0
@@ -53,6 +53,8 @@ Provides-Extra: pd
53
53
  Requires-Dist: pandas>=2.2.3; extra == "pd"
54
54
  Provides-Extra: pl
55
55
  Requires-Dist: polars>=1.24.0; extra == "pl"
56
+ Provides-Extra: pyspark
57
+ Requires-Dist: pyspark==3.5.6; extra == "pyspark"
56
58
  Provides-Extra: generate
57
59
  Requires-Dist: chatlas>=0.3.0; extra == "generate"
58
60
  Requires-Dist: anthropic[bedrock]>=0.45.2; extra == "generate"
@@ -70,8 +72,6 @@ Provides-Extra: mssql
70
72
  Requires-Dist: ibis-framework[mssql]>=9.5.0; extra == "mssql"
71
73
  Provides-Extra: postgres
72
74
  Requires-Dist: ibis-framework[postgres]>=9.5.0; extra == "postgres"
73
- Provides-Extra: pyspark
74
- Requires-Dist: ibis-framework[pyspark]>=9.5.0; extra == "pyspark"
75
75
  Provides-Extra: snowflake
76
76
  Requires-Dist: ibis-framework[snowflake]>=9.5.0; extra == "snowflake"
77
77
  Provides-Extra: sqlite
@@ -83,6 +83,7 @@ Requires-Dist: nbformat>=5.10.4; extra == "docs"
83
83
  Requires-Dist: quartodoc>=0.8.1; python_version >= "3.9" and extra == "docs"
84
84
  Requires-Dist: pandas>=2.2.3; extra == "docs"
85
85
  Requires-Dist: polars>=1.17.1; extra == "docs"
86
+ Requires-Dist: pyspark==3.5.6; extra == "docs"
86
87
  Dynamic: license-file
87
88
 
88
89
  <div align="center">
@@ -236,6 +237,48 @@ validation.get_step_report(i=3).show("browser") # Get failing records from step
236
237
 
237
238
  <br>
238
239
 
240
+ ## YAML Configuration
241
+
242
+ For teams that need portable, version-controlled validation workflows, Pointblank supports YAML configuration files. This makes it easy to share validation logic across different environments and team members, ensuring everyone is on the same page.
243
+
244
+ **validation.yaml**
245
+
246
+ ```yaml
247
+ validate:
248
+ data: small_table
249
+ tbl_name: "small_table"
250
+ label: "Getting started validation"
251
+
252
+ steps:
253
+ - col_vals_gt:
254
+ columns: "d"
255
+ value: 100
256
+ - col_vals_le:
257
+ columns: "c"
258
+ value: 5
259
+ - col_exists:
260
+ columns: ["date", "date_time"]
261
+ ```
262
+
263
+ **Execute the YAML validation**
264
+
265
+ ```python
266
+ import pointblank as pb
267
+
268
+ # Run validation from YAML configuration
269
+ validation = pb.yaml_interrogate("validation.yaml")
270
+
271
+ # Get the results just like any other validation
272
+ validation.get_tabular_report().show()
273
+ ```
274
+
275
+ This approach is perfect for:
276
+
277
+ - **CI/CD pipelines**: Store validation rules alongside your code
278
+ - **Team collaboration**: Share validation logic in a readable format
279
+ - **Environment consistency**: Use the same validation across dev, staging, and production
280
+ - **Documentation**: YAML files serve as living documentation of your data quality requirements
281
+
239
282
  ## Command Line Interface (CLI)
240
283
 
241
284
  Pointblank includes a powerful CLI utility called `pb` that lets you run data validation workflows directly from the command line. Perfect for CI/CD pipelines, scheduled data quality checks, or quick validation tasks.
@@ -263,6 +306,12 @@ pb scan "duckdb:///data/sales.ddb::customers"
263
306
  **Run Essential Validations**
264
307
 
265
308
  ```bash
309
+ # Run validation from YAML configuration file
310
+ pb run validation.yaml
311
+
312
+ # Run validation from Python file
313
+ pb run validation.py
314
+
266
315
  # Check for duplicate rows
267
316
  pb validate small_table --check rows-distinct
268
317
 
@@ -279,8 +328,12 @@ pb validate small_table --check col-vals-gt --column a --value 5 --show-extract
279
328
  **Integrate with CI/CD**
280
329
 
281
330
  ```bash
282
- # Use exit codes for automation (0 = pass, 1 = fail)
331
+ # Use exit codes for automation in one-liner validations (0 = pass, 1 = fail)
283
332
  pb validate small_table --check rows-distinct --exit-code
333
+
334
+ # Run validation workflows with exit codes
335
+ pb run validation.yaml --exit-code
336
+ pb run validation.py --exit-code
284
337
  ```
285
338
 
286
339
  Click the following headings to see some video demonstrations of the CLI:
@@ -149,6 +149,48 @@ validation.get_step_report(i=3).show("browser") # Get failing records from step
149
149
 
150
150
  <br>
151
151
 
152
+ ## YAML Configuration
153
+
154
+ For teams that need portable, version-controlled validation workflows, Pointblank supports YAML configuration files. This makes it easy to share validation logic across different environments and team members, ensuring everyone is on the same page.
155
+
156
+ **validation.yaml**
157
+
158
+ ```yaml
159
+ validate:
160
+ data: small_table
161
+ tbl_name: "small_table"
162
+ label: "Getting started validation"
163
+
164
+ steps:
165
+ - col_vals_gt:
166
+ columns: "d"
167
+ value: 100
168
+ - col_vals_le:
169
+ columns: "c"
170
+ value: 5
171
+ - col_exists:
172
+ columns: ["date", "date_time"]
173
+ ```
174
+
175
+ **Execute the YAML validation**
176
+
177
+ ```python
178
+ import pointblank as pb
179
+
180
+ # Run validation from YAML configuration
181
+ validation = pb.yaml_interrogate("validation.yaml")
182
+
183
+ # Get the results just like any other validation
184
+ validation.get_tabular_report().show()
185
+ ```
186
+
187
+ This approach is perfect for:
188
+
189
+ - **CI/CD pipelines**: Store validation rules alongside your code
190
+ - **Team collaboration**: Share validation logic in a readable format
191
+ - **Environment consistency**: Use the same validation across dev, staging, and production
192
+ - **Documentation**: YAML files serve as living documentation of your data quality requirements
193
+
152
194
  ## Command Line Interface (CLI)
153
195
 
154
196
  Pointblank includes a powerful CLI utility called `pb` that lets you run data validation workflows directly from the command line. Perfect for CI/CD pipelines, scheduled data quality checks, or quick validation tasks.
@@ -176,6 +218,12 @@ pb scan "duckdb:///data/sales.ddb::customers"
176
218
  **Run Essential Validations**
177
219
 
178
220
  ```bash
221
+ # Run validation from YAML configuration file
222
+ pb run validation.yaml
223
+
224
+ # Run validation from Python file
225
+ pb run validation.py
226
+
179
227
  # Check for duplicate rows
180
228
  pb validate small_table --check rows-distinct
181
229
 
@@ -192,8 +240,12 @@ pb validate small_table --check col-vals-gt --column a --value 5 --show-extract
192
240
  **Integrate with CI/CD**
193
241
 
194
242
  ```bash
195
- # Use exit codes for automation (0 = pass, 1 = fail)
243
+ # Use exit codes for automation in one-liner validations (0 = pass, 1 = fail)
196
244
  pb validate small_table --check rows-distinct --exit-code
245
+
246
+ # Run validation workflows with exit codes
247
+ pb run validation.yaml --exit-code
248
+ pb run validation.py --exit-code
197
249
  ```
198
250
 
199
251
  Click the following headings to see some video demonstrations of the CLI:
@@ -79,7 +79,10 @@ website:
79
79
  - user-guide/schema-validation.qmd
80
80
  - user-guide/assertions.qmd
81
81
  - user-guide/draft-validation.qmd
82
+ - section: "YAML"
83
+ contents:
82
84
  - user-guide/yaml-validation-workflows.qmd
85
+ - user-guide/yaml-reference.qmd
83
86
  - section: "Post Interrogation"
84
87
  contents:
85
88
  - user-guide/step-reports.qmd
@@ -94,6 +97,7 @@ website:
94
97
  contents:
95
98
  - user-guide/cli-data-inspection.qmd
96
99
  - user-guide/cli-data-validation.qmd
100
+ - user-guide/cli-reference.qmd
97
101
 
98
102
  page-footer:
99
103
  left: 'Proudly supported by <a href="https://www.posit.co/" class="no-icon"><img src="/assets/posit-logo-black.svg" alt="Posit" width="80" style="padding-left: 3px;vertical-align:text-top;"></a>'
@@ -176,6 +180,11 @@ quartodoc:
176
180
  - name: first_n
177
181
  - name: last_n
178
182
  - name: expr_col
183
+ - title: Segment Groups
184
+ desc: >
185
+ Combine multiple values into a single segment using `seg_*()` helper functions.
186
+ contents:
187
+ - name: seg_group
179
188
  - title: Interrogation and Reporting
180
189
  desc: >
181
190
  The validation plan is put into action when `interrogate()` is called. The workflow for
@@ -120,6 +120,50 @@ validation.get_step_report(i=3).show("browser") # Get failing records from step
120
120
 
121
121
  </div>
122
122
 
123
+ ## YAML Configuration
124
+
125
+ For teams that need portable, version-controlled validation workflows, Pointblank supports YAML
126
+ configuration files. This makes it easy to share validation logic across different environments and
127
+ team members, ensuring everyone is on the same page.
128
+
129
+ **validation.yaml**
130
+
131
+ ```yaml
132
+ validate:
133
+ data: small_table
134
+ tbl_name: "small_table"
135
+ label: "Getting started validation"
136
+
137
+ steps:
138
+ - col_vals_gt:
139
+ columns: "d"
140
+ value: 100
141
+ - col_vals_le:
142
+ columns: "c"
143
+ value: 5
144
+ - col_exists:
145
+ columns: ["date", "date_time"]
146
+ ```
147
+
148
+ **Execute the YAML validation**
149
+
150
+ ```python
151
+ import pointblank as pb
152
+
153
+ # Run validation from YAML configuration
154
+ validation = pb.yaml_interrogate("validation.yaml")
155
+
156
+ # Get the results just like any other validation
157
+ validation.get_tabular_report().show()
158
+ ```
159
+
160
+ This approach is perfect for:
161
+
162
+ - **CI/CD pipelines**: Store validation rules alongside your code
163
+ - **Team collaboration**: Share validation logic in a readable format
164
+ - **Environment consistency**: Use the same validation across dev, staging, and production
165
+ - **Documentation**: YAML files serve as living documentation of your data quality requirements
166
+
123
167
  ## Command Line Interface
124
168
 
125
169
  Pointblank includes a powerful CLI utility called `pb` that lets you run data validation workflows
@@ -148,6 +192,12 @@ pb scan small_table
148
192
  **Run Essential Validations**
149
193
 
150
194
  ```bash
195
+ # Run validation from YAML configuration file
196
+ pb run validation.yaml
197
+
198
+ # Run validation from Python file
199
+ pb run validation.py
200
+
151
201
  # Check for duplicate rows
152
202
  pb validate small_table --check rows-distinct
153
203
 
@@ -161,8 +211,12 @@ pb validate small_table --check col-vals-gt --column a --value 5 --show-extract
161
211
  **Integrate with CI/CD**
162
212
 
163
213
  ```bash
164
- # Use exit codes for automation (0 = pass, 1 = fail)
214
+ # Use exit codes for automation in one-liner validations (0 = pass, 1 = fail)
165
215
  pb validate small_table --check rows-distinct --exit-code
216
+
217
+ # Run validation workflows with exit codes
218
+ pb run validation.yaml --exit-code
219
+ pb run validation.py --exit-code
166
220
  ```
167
221
 
168
222
  ## Join the Community
@@ -38,6 +38,12 @@ code {
38
38
  color: rgb(18, 18, 18);
39
39
  }
40
40
 
41
+ .blockquote {
42
+ font-size: 13px;
43
+ background-color: #E8E8E8;
44
+ border-left-color: #4682B4;
45
+ }
46
+
41
47
  p,h1,h2,h3,#toc-title,#toc-function-reference,.nav-link,.table {
42
48
  font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
43
49
  }