pointblank 0.9.4__tar.gz → 0.9.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. pointblank-0.9.6/.github/workflows/ci-docs.yaml +111 -0
  2. {pointblank-0.9.4 → pointblank-0.9.6}/.gitignore +6 -0
  3. {pointblank-0.9.4 → pointblank-0.9.6}/PKG-INFO +7 -3
  4. {pointblank-0.9.4 → pointblank-0.9.6}/README.md +4 -2
  5. {pointblank-0.9.4 → pointblank-0.9.6}/docs/_quarto.yml +18 -7
  6. pointblank-0.9.6/docs/assets/validation-test-units.png +0 -0
  7. pointblank-0.9.6/docs/blog/overhauled-user-guide/advanced-in-sidebar.png +0 -0
  8. pointblank-0.9.6/docs/blog/overhauled-user-guide/breadth-and-depth.png +0 -0
  9. pointblank-0.9.6/docs/blog/overhauled-user-guide/explanation-of-visual.png +0 -0
  10. pointblank-0.9.6/docs/blog/overhauled-user-guide/index.qmd +154 -0
  11. pointblank-0.9.6/docs/blog/overhauled-user-guide/links-in-guide.png +0 -0
  12. pointblank-0.9.6/docs/blog/overhauled-user-guide/segments.png +0 -0
  13. pointblank-0.9.6/docs/blog/overhauled-user-guide/step-report.png +0 -0
  14. pointblank-0.9.6/docs/blog/overhauled-user-guide/validation-three-things.png +0 -0
  15. {pointblank-0.9.4 → pointblank-0.9.6}/docs/styles.css +48 -1
  16. {pointblank-0.9.4 → pointblank-0.9.6}/docs/user-guide/actions.qmd +245 -131
  17. pointblank-0.9.6/docs/user-guide/assertions.qmd +393 -0
  18. {pointblank-0.9.4 → pointblank-0.9.6}/docs/user-guide/briefs.qmd +34 -33
  19. {pointblank-0.9.4 → pointblank-0.9.6}/docs/user-guide/col-summary-tbl.qmd +2 -1
  20. pointblank-0.9.4/docs/user-guide/columns.qmd → pointblank-0.9.6/docs/user-guide/column-selection-patterns.qmd +2 -1
  21. pointblank-0.9.6/docs/user-guide/draft-validation.qmd +451 -0
  22. pointblank-0.9.6/docs/user-guide/expressions.qmd +191 -0
  23. {pointblank-0.9.4 → pointblank-0.9.6}/docs/user-guide/extracts.qmd +120 -30
  24. pointblank-0.9.6/docs/user-guide/index.qmd +226 -0
  25. pointblank-0.9.6/docs/user-guide/installation.qmd +197 -0
  26. {pointblank-0.9.4 → pointblank-0.9.6}/docs/user-guide/missing-vals-tbl.qmd +2 -1
  27. {pointblank-0.9.4 → pointblank-0.9.6}/docs/user-guide/preprocessing.qmd +2 -1
  28. {pointblank-0.9.4 → pointblank-0.9.6}/docs/user-guide/preview.qmd +1 -0
  29. pointblank-0.9.6/docs/user-guide/schema-validation.qmd +562 -0
  30. {pointblank-0.9.4 → pointblank-0.9.6}/docs/user-guide/segmentation.qmd +2 -1
  31. {pointblank-0.9.4 → pointblank-0.9.6}/docs/user-guide/step-reports.qmd +101 -9
  32. {pointblank-0.9.4 → pointblank-0.9.6}/docs/user-guide/sundering.qmd +2 -1
  33. pointblank-0.9.6/docs/user-guide/thresholds.qmd +314 -0
  34. pointblank-0.9.6/docs/user-guide/validation-methods.qmd +412 -0
  35. pointblank-0.9.6/docs/user-guide/validation-overview.qmd +296 -0
  36. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/_constants.py +2 -0
  37. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/_utils.py +2 -0
  38. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/actions.py +3 -3
  39. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/column.py +4 -4
  40. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/data/api-docs.txt +271 -18
  41. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/schema.py +8 -1
  42. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/thresholds.py +2 -2
  43. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/validate.py +338 -4
  44. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank.egg-info/PKG-INFO +7 -3
  45. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank.egg-info/SOURCES.txt +19 -2
  46. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank.egg-info/requires.txt +3 -0
  47. {pointblank-0.9.4 → pointblank-0.9.6}/pyproject.toml +1 -2
  48. {pointblank-0.9.4 → pointblank-0.9.6}/tests/test_schema.py +8 -0
  49. {pointblank-0.9.4 → pointblank-0.9.6}/tests/test_validate.py +308 -1
  50. pointblank-0.9.6/translations/README.ar.md +246 -0
  51. {pointblank-0.9.4 → pointblank-0.9.6}/translations/README.de.md +4 -2
  52. {pointblank-0.9.4 → pointblank-0.9.6}/translations/README.es.md +4 -2
  53. {pointblank-0.9.4 → pointblank-0.9.6}/translations/README.fr.md +4 -2
  54. pointblank-0.9.6/translations/README.hi.md +246 -0
  55. {pointblank-0.9.4 → pointblank-0.9.6}/translations/README.it.md +4 -2
  56. {pointblank-0.9.4 → pointblank-0.9.6}/translations/README.ja.md +4 -2
  57. {pointblank-0.9.4 → pointblank-0.9.6}/translations/README.ko.md +3 -1
  58. {pointblank-0.9.4 → pointblank-0.9.6}/translations/README.nl.md +6 -4
  59. {pointblank-0.9.4 → pointblank-0.9.6}/translations/README.pt-BR.md +4 -2
  60. {pointblank-0.9.4 → pointblank-0.9.6}/translations/README.zh-CN.md +4 -2
  61. pointblank-0.9.4/.github/workflows/ci-docs.yaml +0 -47
  62. pointblank-0.9.4/docs/user-guide/index.qmd +0 -145
  63. pointblank-0.9.4/docs/user-guide/thresholds.qmd +0 -147
  64. pointblank-0.9.4/docs/user-guide/types.qmd +0 -395
  65. {pointblank-0.9.4 → pointblank-0.9.6}/.github/CODE_OF_CONDUCT.md +0 -0
  66. {pointblank-0.9.4 → pointblank-0.9.6}/.github/ISSUE_TEMPLATE/bug.md +0 -0
  67. {pointblank-0.9.4 → pointblank-0.9.6}/.github/ISSUE_TEMPLATE/feature.md +0 -0
  68. {pointblank-0.9.4 → pointblank-0.9.6}/.github/ISSUE_TEMPLATE/question.md +0 -0
  69. {pointblank-0.9.4 → pointblank-0.9.6}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  70. {pointblank-0.9.4 → pointblank-0.9.6}/.github/SECURITY.md +0 -0
  71. {pointblank-0.9.4 → pointblank-0.9.6}/.github/workflows/ci-tests.yaml +0 -0
  72. {pointblank-0.9.4 → pointblank-0.9.6}/.github/workflows/code-checks.yaml +0 -0
  73. {pointblank-0.9.4 → pointblank-0.9.6}/.pre-commit-config.yaml +0 -0
  74. {pointblank-0.9.4 → pointblank-0.9.6}/.vscode/settings.json +0 -0
  75. {pointblank-0.9.4 → pointblank-0.9.6}/CITATION.cff +0 -0
  76. {pointblank-0.9.4 → pointblank-0.9.6}/CONTRIBUTING.md +0 -0
  77. {pointblank-0.9.4 → pointblank-0.9.6}/LICENSE +0 -0
  78. {pointblank-0.9.4 → pointblank-0.9.6}/Makefile +0 -0
  79. {pointblank-0.9.4 → pointblank-0.9.6}/data_raw/game_revenue.csv +0 -0
  80. {pointblank-0.9.4 → pointblank-0.9.6}/data_raw/global_sales.csv +0 -0
  81. {pointblank-0.9.4 → pointblank-0.9.6}/data_raw/global_sales_dataset.qmd +0 -0
  82. {pointblank-0.9.4 → pointblank-0.9.6}/data_raw/nycflights.csv +0 -0
  83. {pointblank-0.9.4 → pointblank-0.9.6}/data_raw/small_table.csv +0 -0
  84. {pointblank-0.9.4 → pointblank-0.9.6}/data_raw/x-01-parquet.qmd +0 -0
  85. {pointblank-0.9.4 → pointblank-0.9.6}/data_raw/x-02-duckdb.qmd +0 -0
  86. {pointblank-0.9.4 → pointblank-0.9.6}/data_raw/x-03-sqlite.qmd +0 -0
  87. {pointblank-0.9.4 → pointblank-0.9.6}/docs/.gitignore +0 -0
  88. {pointblank-0.9.4 → pointblank-0.9.6}/docs/_extensions/machow/interlinks/.gitignore +0 -0
  89. {pointblank-0.9.4 → pointblank-0.9.6}/docs/_extensions/machow/interlinks/_extension.yml +0 -0
  90. {pointblank-0.9.4 → pointblank-0.9.6}/docs/_extensions/machow/interlinks/interlinks.lua +0 -0
  91. {pointblank-0.9.4 → pointblank-0.9.6}/docs/assets/fav-logo.png +0 -0
  92. {pointblank-0.9.4 → pointblank-0.9.6}/docs/assets/pointblank-sales-data.de.png +0 -0
  93. {pointblank-0.9.4 → pointblank-0.9.6}/docs/assets/pointblank-sales-data.es.png +0 -0
  94. {pointblank-0.9.4 → pointblank-0.9.6}/docs/assets/pointblank-sales-data.fr.png +0 -0
  95. {pointblank-0.9.4 → pointblank-0.9.6}/docs/assets/pointblank-sales-data.it.png +0 -0
  96. {pointblank-0.9.4 → pointblank-0.9.6}/docs/assets/pointblank-sales-data.ja.png +0 -0
  97. {pointblank-0.9.4 → pointblank-0.9.6}/docs/assets/pointblank-sales-data.ko.png +0 -0
  98. {pointblank-0.9.4 → pointblank-0.9.6}/docs/assets/pointblank-sales-data.nl.png +0 -0
  99. {pointblank-0.9.4 → pointblank-0.9.6}/docs/assets/pointblank-sales-data.png +0 -0
  100. {pointblank-0.9.4 → pointblank-0.9.6}/docs/assets/pointblank-sales-data.pt-BR.png +0 -0
  101. {pointblank-0.9.4 → pointblank-0.9.6}/docs/assets/pointblank-sales-data.zh-CN.png +0 -0
  102. {pointblank-0.9.4 → pointblank-0.9.6}/docs/assets/pointblank-step-report.png +0 -0
  103. {pointblank-0.9.4 → pointblank-0.9.6}/docs/assets/pointblank-tabular-report.png +0 -0
  104. {pointblank-0.9.4 → pointblank-0.9.6}/docs/assets/pointblank_logo.svg +0 -0
  105. {pointblank-0.9.4 → pointblank-0.9.6}/docs/assets/validation-table-diagram.png +0 -0
  106. {pointblank-0.9.4 → pointblank-0.9.6}/docs/blog/all-about-actions/index.qmd +0 -0
  107. {pointblank-0.9.4 → pointblank-0.9.6}/docs/blog/index.qmd +0 -0
  108. {pointblank-0.9.4 → pointblank-0.9.6}/docs/blog/intro-pointblank/index.qmd +0 -0
  109. {pointblank-0.9.4 → pointblank-0.9.6}/docs/blog/intro-pointblank/pointblank-localized.png +0 -0
  110. {pointblank-0.9.4 → pointblank-0.9.6}/docs/blog/intro-pointblank/step_report.png +0 -0
  111. {pointblank-0.9.4 → pointblank-0.9.6}/docs/blog/intro-pointblank/validation-table-diagram.png +0 -0
  112. {pointblank-0.9.4 → pointblank-0.9.6}/docs/blog/intro-pointblank/validation-test-units.png +0 -0
  113. {pointblank-0.9.4 → pointblank-0.9.6}/docs/blog/pointblank_blog_logo.png +0 -0
  114. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/01-starter/index.qmd +0 -0
  115. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/02-advanced/index.qmd +0 -0
  116. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/03-data-extracts/index.qmd +0 -0
  117. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/04-sundered-data/index.qmd +0 -0
  118. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/05-step-report-column-check/index.qmd +0 -0
  119. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/06-step-report-schema-check/index.qmd +0 -0
  120. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/apply-checks-to-several-columns/index.qmd +0 -0
  121. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/check-row-column-counts/index.qmd +0 -0
  122. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/checks-for-missing/index.qmd +0 -0
  123. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/col-vals-custom-expr/index.qmd +0 -0
  124. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/column-selector-functions/index.qmd +0 -0
  125. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/comparisons-across-columns/index.qmd +0 -0
  126. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/data/game_revenue.parquet +0 -0
  127. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/expect-no-duplicate-rows/index.qmd +0 -0
  128. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/expect-no-duplicate-values/index.qmd +0 -0
  129. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/expect-text-pattern/index.qmd +0 -0
  130. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/failure-thresholds/index.qmd +0 -0
  131. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/img/advanced_validation.png +0 -0
  132. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/img/data_extracts.png +0 -0
  133. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/img/starter_validation.png +0 -0
  134. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/img/step_report_column_schema.png +0 -0
  135. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/img/step_report_column_values.png +0 -0
  136. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/img/sundered_data.png +0 -0
  137. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/index.qmd +0 -0
  138. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/mutate-table-in-step/index.qmd +0 -0
  139. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/numeric-comparisons/index.qmd +0 -0
  140. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/schema-check/index.qmd +0 -0
  141. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/set-membership/index.qmd +0 -0
  142. {pointblank-0.9.4 → pointblank-0.9.6}/docs/demos/using-parquet-data/index.qmd +0 -0
  143. {pointblank-0.9.4 → pointblank-0.9.6}/docs/index.qmd +0 -0
  144. {pointblank-0.9.4 → pointblank-0.9.6}/docs/user-guide/langs.qmd +0 -0
  145. {pointblank-0.9.4 → pointblank-0.9.6}/images/pointblank-tabular-report.png +0 -0
  146. {pointblank-0.9.4 → pointblank-0.9.6}/images/pointblank_logo.svg +0 -0
  147. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/__init__.py +0 -0
  148. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/_constants_docs.py +0 -0
  149. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/_constants_translations.py +0 -0
  150. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/_interrogation.py +0 -0
  151. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/_typing.py +0 -0
  152. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/_utils_check_args.py +0 -0
  153. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/_utils_html.py +0 -0
  154. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/assistant.py +0 -0
  155. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/data/game_revenue-duckdb.zip +0 -0
  156. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/data/game_revenue.zip +0 -0
  157. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/data/global_sales-duckdb.zip +0 -0
  158. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/data/global_sales.zip +0 -0
  159. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/data/nycflights-duckdb.zip +0 -0
  160. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/data/nycflights.zip +0 -0
  161. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/data/polars-api-docs.txt +0 -0
  162. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/data/small_table-duckdb.zip +0 -0
  163. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/data/small_table.zip +0 -0
  164. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/datascan.py +0 -0
  165. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/draft.py +0 -0
  166. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank/tf.py +0 -0
  167. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank.egg-info/dependency_links.txt +0 -0
  168. {pointblank-0.9.4 → pointblank-0.9.6}/pointblank.egg-info/top_level.txt +0 -0
  169. {pointblank-0.9.4 → pointblank-0.9.6}/setup.cfg +0 -0
  170. {pointblank-0.9.4 → pointblank-0.9.6}/tests/__init__.py +0 -0
  171. {pointblank-0.9.4 → pointblank-0.9.6}/tests/manual_tests/schema_step_reports.qmd +0 -0
  172. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_datascan/test_col_summary_tbl_duckdb_snap/col_summary_html_duckdb.html +0 -0
  173. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_datascan/test_col_summary_tbl_pandas_snap/col_summary_html_pandas.html +0 -0
  174. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_datascan/test_col_summary_tbl_polars_snap/col_summary_html_polars.html +0 -0
  175. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_comprehensive_validation_report_html_snap/comprehensive_validation_report.html +0 -0
  176. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_01/schema_step_report_01-0.txt +0 -0
  177. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_01_1/schema_step_report_01-1.txt +0 -0
  178. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_01_2/schema_step_report_01-2.txt +0 -0
  179. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_01_3/schema_step_report_01-3.txt +0 -0
  180. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_02/schema_step_report_02-0.txt +0 -0
  181. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_02_1/schema_step_report_02-1.txt +0 -0
  182. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_02_2/schema_step_report_02-2.txt +0 -0
  183. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_02_3/schema_step_report_02-3.txt +0 -0
  184. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_03/schema_step_report_03-0.txt +0 -0
  185. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_03_1/schema_step_report_03-1.txt +0 -0
  186. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_03_2/schema_step_report_03-2.txt +0 -0
  187. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_03_3/schema_step_report_03-3.txt +0 -0
  188. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_04/schema_step_report_04-0.txt +0 -0
  189. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_05/schema_step_report_05-0.txt +0 -0
  190. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_06/schema_step_report_06-0.txt +0 -0
  191. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_07/schema_step_report_07-0.txt +0 -0
  192. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_08/schema_step_report_08-0.txt +0 -0
  193. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_09/schema_step_report_09-0.txt +0 -0
  194. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_10/schema_step_report_10-0.txt +0 -0
  195. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_11/schema_step_report_11-0.txt +0 -0
  196. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_12/schema_step_report_12-0.txt +0 -0
  197. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_13/schema_step_report_13-0.txt +0 -0
  198. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_14/schema_step_report_14-0.txt +0 -0
  199. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_14_1/schema_step_report_14-1.txt +0 -0
  200. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_15/schema_step_report_15-0.txt +0 -0
  201. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_15_1/schema_step_report_15-1.txt +0 -0
  202. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_16/schema_step_report_16-0.txt +0 -0
  203. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_16_1/schema_step_report_16-1.txt +0 -0
  204. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_17/schema_step_report_17-0.txt +0 -0
  205. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_17_1/schema_step_report_17-1.txt +0 -0
  206. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_18/schema_step_report_18-0.txt +0 -0
  207. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_18_1/schema_step_report_18-1.txt +0 -0
  208. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_19/schema_step_report_19-0.txt +0 -0
  209. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_19_1/schema_step_report_19-1.txt +0 -0
  210. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_20/schema_step_report_20-0.txt +0 -0
  211. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_20_1/schema_step_report_20-1.txt +0 -0
  212. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_21/schema_step_report_21-0.txt +0 -0
  213. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_21_1/schema_step_report_21-1.txt +0 -0
  214. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_21_2/schema_step_report_21-2.txt +0 -0
  215. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_21_3/schema_step_report_21-3.txt +0 -0
  216. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_22/schema_step_report_22-0.txt +0 -0
  217. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_22_1/schema_step_report_22-1.txt +0 -0
  218. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_23/schema_step_report_23-0.txt +0 -0
  219. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_23_1/schema_step_report_23-1.txt +0 -0
  220. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_24/schema_step_report_24-0.txt +0 -0
  221. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_24_1/schema_step_report_24-1.txt +0 -0
  222. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_24_2/schema_step_report_24-2.txt +0 -0
  223. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_24_3/schema_step_report_24-3.txt +0 -0
  224. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_25/schema_step_report_25-0.txt +0 -0
  225. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_25_1/schema_step_report_25-1.txt +0 -0
  226. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_25_2/schema_step_report_25-2.txt +0 -0
  227. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_25_3/schema_step_report_25-3.txt +0 -0
  228. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_25_4/schema_step_report_25-4.txt +0 -0
  229. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_step_report_25_5/schema_step_report_25-5.txt +0 -0
  230. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_01-0.txt +0 -0
  231. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_02-0.txt +0 -0
  232. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_03-0.txt +0 -0
  233. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_04-0.txt +0 -0
  234. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_05-0.txt +0 -0
  235. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_06-0.txt +0 -0
  236. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_07-0.txt +0 -0
  237. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_08-0.txt +0 -0
  238. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_09-0.txt +0 -0
  239. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_10-0.txt +0 -0
  240. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_11-0.txt +0 -0
  241. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_12-0.txt +0 -0
  242. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_13-0.txt +0 -0
  243. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_14-0.txt +0 -0
  244. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_14-1.txt +0 -0
  245. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_15-0.txt +0 -0
  246. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_15-1.txt +0 -0
  247. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_16-0.txt +0 -0
  248. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_16-1.txt +0 -0
  249. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_17-0.txt +0 -0
  250. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_17-1.txt +0 -0
  251. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_18-0.txt +0 -0
  252. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_18-1.txt +0 -0
  253. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_19-0.txt +0 -0
  254. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_19-1.txt +0 -0
  255. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_20-0.txt +0 -0
  256. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_20-1.txt +0 -0
  257. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_21-0.txt +0 -0
  258. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_21-1.txt +0 -0
  259. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_21-2.txt +0 -0
  260. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_21-3.txt +0 -0
  261. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_22-0.txt +0 -0
  262. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_22-1.txt +0 -0
  263. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_23-0.txt +0 -0
  264. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_23-1.txt +0 -0
  265. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_24-0.txt +0 -0
  266. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_24-1.txt +0 -0
  267. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_24-2.txt +0 -0
  268. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_24-3.txt +0 -0
  269. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-0.txt +0 -0
  270. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-1.txt +0 -0
  271. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-2.txt +0 -0
  272. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-3.txt +0 -0
  273. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-4.txt +0 -0
  274. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-5.txt +0 -0
  275. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_no_interrogation_validation_report_html_snap/no_interrogation_validation_report.html +0 -0
  276. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_no_steps_validation_report_html_snap/no_steps_validation_report.html +0 -0
  277. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_validation_report_briefs_global_local_html/validation_report_briefs_global_local.html +0 -0
  278. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_validation_report_briefs_html/validation_report_with_briefs.html +0 -0
  279. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_duckdb/validation_report.json +0 -0
  280. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_parquet/validation_report.json +0 -0
  281. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_pd/validation_report.json +0 -0
  282. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_pl/validation_report.json +0 -0
  283. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_sqlite/validation_report.json +0 -0
  284. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_duckdb/validation_report.json +0 -0
  285. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_parquet/validation_report.json +0 -0
  286. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_pd/validation_report.json +0 -0
  287. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_pl/validation_report.json +0 -0
  288. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_sqlite/validation_report.json +0 -0
  289. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_validation_report_segments_html/duckdb/validation_report_segments.html +0 -0
  290. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_validation_report_segments_html/pandas/validation_report_segments.html +0 -0
  291. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_validation_report_segments_html/polars/validation_report_segments.html +0 -0
  292. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_validation_report_segments_with_pre_html/polars/validation_report_segments_with_pre.html +0 -0
  293. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_validation_report_segments_with_pre_html/validation_report_segments_with_pre.html +0 -0
  294. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_duckdb/validation_report.json +0 -0
  295. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_parquet/validation_report.json +0 -0
  296. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_pd/validation_report.json +0 -0
  297. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_pl/validation_report.json +0 -0
  298. {pointblank-0.9.4 → pointblank-0.9.6}/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_sqlite/validation_report.json +0 -0
  299. {pointblank-0.9.4 → pointblank-0.9.6}/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
  300. {pointblank-0.9.4 → pointblank-0.9.6}/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
  301. {pointblank-0.9.4 → pointblank-0.9.6}/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
  302. {pointblank-0.9.4 → pointblank-0.9.6}/tests/tbl_files/tbl_dates_times_text.ddb +0 -0
  303. {pointblank-0.9.4 → pointblank-0.9.6}/tests/tbl_files/tbl_dates_times_text.parquet +0 -0
  304. {pointblank-0.9.4 → pointblank-0.9.6}/tests/tbl_files/tbl_dates_times_text.sqlite +0 -0
  305. {pointblank-0.9.4 → pointblank-0.9.6}/tests/tbl_files/tbl_true_dates_times.ddb +0 -0
  306. {pointblank-0.9.4 → pointblank-0.9.6}/tests/tbl_files/tbl_xyz.ddb +0 -0
  307. {pointblank-0.9.4 → pointblank-0.9.6}/tests/tbl_files/tbl_xyz.parquet +0 -0
  308. {pointblank-0.9.4 → pointblank-0.9.6}/tests/tbl_files/tbl_xyz.sqlite +0 -0
  309. {pointblank-0.9.4 → pointblank-0.9.6}/tests/tbl_files/tbl_xyz_missing.ddb +0 -0
  310. {pointblank-0.9.4 → pointblank-0.9.6}/tests/tbl_files/tbl_xyz_missing.parquet +0 -0
  311. {pointblank-0.9.4 → pointblank-0.9.6}/tests/tbl_files/tbl_xyz_missing.sqlite +0 -0
  312. {pointblank-0.9.4 → pointblank-0.9.6}/tests/test__interrogation.py +0 -0
  313. {pointblank-0.9.4 → pointblank-0.9.6}/tests/test__utils.py +0 -0
  314. {pointblank-0.9.4 → pointblank-0.9.6}/tests/test__utils_check_args.py +0 -0
  315. {pointblank-0.9.4 → pointblank-0.9.6}/tests/test_actions.py +0 -0
  316. {pointblank-0.9.4 → pointblank-0.9.6}/tests/test_assistant.py +0 -0
  317. {pointblank-0.9.4 → pointblank-0.9.6}/tests/test_column.py +0 -0
  318. {pointblank-0.9.4 → pointblank-0.9.6}/tests/test_datascan.py +0 -0
  319. {pointblank-0.9.4 → pointblank-0.9.6}/tests/test_draft.py +0 -0
  320. {pointblank-0.9.4 → pointblank-0.9.6}/tests/test_tf.py +0 -0
  321. {pointblank-0.9.4 → pointblank-0.9.6}/tests/test_thresholds.py +0 -0
@@ -0,0 +1,111 @@
1
+ name: CI Docs
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+
9
+ jobs:
10
+ build-docs:
11
+ name: "Build Docs"
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - uses: actions/checkout@v4
15
+ - uses: actions/setup-python@v5
16
+ with:
17
+ python-version: "3.10"
18
+ - name: Install dependencies
19
+ run: |
20
+ python -m pip install -e .
21
+ python -m pip install ".[docs]"
22
+ python -m pip install ibis-framework[duckdb]
23
+ python -m pip install pins
24
+ - name: Set up Quarto
25
+ uses: quarto-dev/quarto-actions/setup@v2
26
+ - name: Build docs
27
+ run: |
28
+ make docs-build
29
+ - name: Save docs artifact
30
+ uses: actions/upload-artifact@v4
31
+ with:
32
+ name: docs-html
33
+ path: docs/_site
34
+
35
+ publish-docs:
36
+ name: "Publish Docs"
37
+ runs-on: ubuntu-latest
38
+ needs: "build-docs"
39
+ if: github.ref == 'refs/heads/main'
40
+ steps:
41
+ - uses: actions/download-artifact@v4
42
+ with:
43
+ name: docs-html
44
+ path: docs/_site
45
+ - uses: peaceiris/actions-gh-pages@v4
46
+ with:
47
+ github_token: ${{ secrets.GITHUB_TOKEN }}
48
+ publish_dir: docs/_site
49
+ preview-docs:
50
+ name: "Preview Docs"
51
+ runs-on: ubuntu-latest
52
+ needs: "build-docs"
53
+ if: github.event_name == 'pull_request'
54
+ steps:
55
+ - uses: actions/download-artifact@v4
56
+ with:
57
+ name: docs-html
58
+ path: docs/_site
59
+
60
+ # start deployment ----
61
+ - name: Configure pull release name
62
+ if: ${{github.event_name == 'pull_request'}}
63
+ run: |
64
+ echo "RELEASE_NAME=pr-${PR_NUMBER}" >> $GITHUB_ENV
65
+ env:
66
+ PR_NUMBER: ${{ github.event.number }}
67
+ - name: Configure branch release name
68
+ if: ${{github.event_name != 'pull_request'}}
69
+ run: |
70
+ # use branch name, but replace slashes. E.g. feat/a -> feat-a
71
+ echo "RELEASE_NAME=${GITHUB_REF_NAME/\//-}" >> $GITHUB_ENV
72
+ # deploy ----
73
+ - name: Create Github Deployment
74
+ uses: bobheadxi/deployments@v1
75
+ id: deployment
76
+ if: ${{ !github.event.pull_request.head.repo.fork }}
77
+ with:
78
+ step: start
79
+ token: ${{ secrets.GITHUB_TOKEN }}
80
+ env: ${{ env.RELEASE_NAME }}
81
+ ref: ${{ github.head_ref }}
82
+ transient: true
83
+ logs: "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}"
84
+
85
+ - name: Netlify docs preview
86
+ if: ${{ !github.event.pull_request.head.repo.fork }}
87
+ run: |
88
+ npm install -g netlify-cli
89
+ # push main branch to production, others to preview --
90
+ netlify link --name="$PREVIEW_SITE"
91
+ if [ "${ALIAS}" == "main" ]; then
92
+ netlify deploy --dir=docs/_site --alias="main"
93
+ else
94
+ netlify deploy --dir=docs/_site --alias="${ALIAS}"
95
+ fi
96
+ env:
97
+ NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
98
+ NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
99
+ NETLIFY_SITE_NAME: ${{ secrets.NETLIFY_SITE_NAME }}
100
+ ALIAS: ${{ steps.deployment.outputs.env }}
101
+
102
+ - name: Update Github Deployment
103
+ uses: bobheadxi/deployments@v1
104
+ if: ${{ !github.event.pull_request.head.repo.fork && always() }}
105
+ with:
106
+ step: finish
107
+ token: ${{ secrets.GITHUB_TOKEN }}
108
+ status: ${{ job.status }}
109
+ env: ${{ steps.deployment.outputs.env }}
110
+ env_url: "https://${{ steps.deployment.outputs.env }}--${{ secrets.NETLIFY_SITE_NAME }}.netlify.app"
111
+ deployment_id: ${{ steps.deployment.outputs.deployment_id }}
@@ -124,3 +124,9 @@ datasets/
124
124
  /*.parquet
125
125
  /*.csv
126
126
  .ruff_cache
127
+
128
+ # Benchmark results and reports
129
+ benchmark/results/
130
+ benchmark/reports/
131
+ benchmark/data/*.csv.gz
132
+ benchmark/data/*.json
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pointblank
3
- Version: 0.9.4
3
+ Version: 0.9.6
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
@@ -55,6 +55,8 @@ Requires-Dist: chatlas>=0.3.0; extra == "generate"
55
55
  Requires-Dist: anthropic[bedrock]>=0.45.2; extra == "generate"
56
56
  Requires-Dist: openai>=1.63.0; extra == "generate"
57
57
  Requires-Dist: shiny>=1.3.0; extra == "generate"
58
+ Provides-Extra: bigquery
59
+ Requires-Dist: ibis-framework[bigquery]>=9.5.0; extra == "bigquery"
58
60
  Provides-Extra: databricks
59
61
  Requires-Dist: ibis-framework[databricks]>=9.5.0; extra == "databricks"
60
62
  Provides-Extra: duckdb
@@ -103,7 +105,7 @@ _Data validation made beautiful and powerful_
103
105
 
104
106
  </div>
105
107
 
106
- <div align="right">
108
+ <div align="center">
107
109
  <a href="translations/README.fr.md">Français</a> |
108
110
  <a href="translations/README.de.md">Deutsch</a> |
109
111
  <a href="translations/README.it.md">Italiano</a> |
@@ -112,7 +114,9 @@ _Data validation made beautiful and powerful_
112
114
  <a href="translations/README.nl.md">Nederlands</a> |
113
115
  <a href="translations/README.zh-CN.md">简体中文</a> |
114
116
  <a href="translations/README.ja.md">日本語</a> |
115
- <a href="translations/README.ko.md">한국어</a>
117
+ <a href="translations/README.ko.md">한국어</a> |
118
+ <a href="translations/README.hi.md">हिन्दी</a> |
119
+ <a href="translations/README.ar.md">العربية</a>
116
120
  </div>
117
121
 
118
122
  ## What is Pointblank?
@@ -21,7 +21,7 @@ _Data validation made beautiful and powerful_
21
21
 
22
22
  </div>
23
23
 
24
- <div align="right">
24
+ <div align="center">
25
25
  <a href="translations/README.fr.md">Français</a> |
26
26
  <a href="translations/README.de.md">Deutsch</a> |
27
27
  <a href="translations/README.it.md">Italiano</a> |
@@ -30,7 +30,9 @@ _Data validation made beautiful and powerful_
30
30
  <a href="translations/README.nl.md">Nederlands</a> |
31
31
  <a href="translations/README.zh-CN.md">简体中文</a> |
32
32
  <a href="translations/README.ja.md">日本語</a> |
33
- <a href="translations/README.ko.md">한국어</a>
33
+ <a href="translations/README.ko.md">한국어</a> |
34
+ <a href="translations/README.hi.md">हिन्दी</a> |
35
+ <a href="translations/README.ar.md">العربية</a>
34
36
  </div>
35
37
 
36
38
  ## What is Pointblank?
@@ -31,6 +31,7 @@ website:
31
31
  search:
32
32
  show-item-context: true
33
33
  page-navigation: true
34
+ bread-crumbs: false
34
35
  favicon: assets/fav-logo.png
35
36
  site-url: https://posit-dev.github.io/pointblank/
36
37
  description: "Find out if your data is what you think it is"
@@ -55,15 +56,23 @@ website:
55
56
  - section: "Getting Started"
56
57
  contents:
57
58
  - user-guide/index.qmd
58
- - user-guide/thresholds.qmd
59
- - user-guide/actions.qmd
60
- - section: "Defining Validation Steps"
59
+ - user-guide/installation.qmd
60
+ - section: "Validation Plan"
61
61
  contents:
62
- - user-guide/types.qmd
63
- - user-guide/columns.qmd
62
+ - user-guide/validation-overview.qmd
63
+ - user-guide/validation-methods.qmd
64
+ - user-guide/column-selection-patterns.qmd
64
65
  - user-guide/preprocessing.qmd
65
66
  - user-guide/segmentation.qmd
67
+ - user-guide/thresholds.qmd
68
+ - user-guide/actions.qmd
66
69
  - user-guide/briefs.qmd
70
+ - section: "Advanced Validation"
71
+ contents:
72
+ - user-guide/expressions.qmd
73
+ - user-guide/schema-validation.qmd
74
+ - user-guide/assertions.qmd
75
+ - user-guide/draft-validation.qmd
67
76
  - section: "Post Interrogation"
68
77
  contents:
69
78
  - user-guide/step-reports.qmd
@@ -90,7 +99,7 @@ quartodoc:
90
99
  sections:
91
100
  - title: Validate
92
101
  desc: >
93
- When peforming data validation, you'll need the `Validate` class to get the process started.
102
+ When performing data validation, you'll need the `Validate` class to get the process started.
94
103
  It's given the target table and you can optionally provide some metadata and/or failure
95
104
  thresholds (using the `Thresholds` class or through shorthands for this task). The
96
105
  `Validate` class has numerous methods for defining validation steps and for obtaining
@@ -126,9 +135,9 @@ quartodoc:
126
135
  - name: Validate.col_vals_not_null
127
136
  - name: Validate.col_vals_regex
128
137
  - name: Validate.col_vals_expr
129
- - name: Validate.col_exists
130
138
  - name: Validate.rows_distinct
131
139
  - name: Validate.rows_complete
140
+ - name: Validate.col_exists
132
141
  - name: Validate.col_schema_match
133
142
  - name: Validate.row_count_match
134
143
  - name: Validate.col_count_match
@@ -168,6 +177,8 @@ quartodoc:
168
177
  - name: Validate.get_data_extracts
169
178
  - name: Validate.all_passed
170
179
  - name: Validate.assert_passing
180
+ - name: Validate.assert_below_threshold
181
+ - name: Validate.above_threshold
171
182
  - name: Validate.n
172
183
  - name: Validate.n_passed
173
184
  - name: Validate.n_failed
@@ -0,0 +1,154 @@
1
+ ---
2
+ jupyter: python3
3
+ html-table-processing: none
4
+ title: Overhauling Pointblank's User Guide
5
+ author: Rich Iannone and Michael Chow
6
+ date: 2025-05-20
7
+ freeze: true
8
+ ---
9
+
10
+ ```{python}
11
+ #| echo: false
12
+ #| output: false
13
+ import pointblank as pb
14
+ pb.config(report_incl_footer=False)
15
+ ```
16
+
17
+ The Pointblank documentation just got a major upgrade! We've completely overhauled our
18
+ [**User Guide**](../../user-guide/index.qmd). Our goal was to enable readers to start fast on
19
+ validation and work through the many pieces needed in realistic situations.
20
+
21
+ We realized that at the core of Pointblank is the validation plan. Its made up of rules, results,
22
+ and steps.
23
+
24
+ ![](validation-three-things.png){width=80%}
25
+
26
+ For example, the first row is a step that checks whether values in column 'a' are less than `10`.
27
+ The `COLUMNS` and `VALUES` column contain the rules used to configure the step. The `PASS` column
28
+ for the first row indicates that all 13 values in the column passed.
29
+
30
+ In this post, we'll cover:
31
+
32
+ - using a spiral sequence to balance introductory breadth with subsequent depth
33
+ - improving examples with direct explanatory text
34
+ - rounding out API coverage for cross-linking
35
+ - surfacing advanced topics
36
+
37
+ Let us walk you through the key improvements in our refreshed [**User Guide**](../../user-guide/index.qmd)!
38
+
39
+ ## Introduction: Embracing the Spiral Sequence
40
+
41
+ We chose to use a spiral sequence for our [Introduction](../../user-guide/index.qmd) and
42
+ *Validation Plan* section. The [Introduction](../../user-guide/index.qmd) quickly covers parts of
43
+ validation plan, while each article of the *Validation Plan* section dives
44
+ deeper into different aspects of defining validation rules.
45
+
46
+ <div style="text-align: center;">
47
+
48
+ ![](breadth-and-depth.png){width=50%}
49
+
50
+ </div>
51
+
52
+ The introduction does a broad pass on the validation plan table diagram, identifying the core pieces
53
+ of the output and then giving a quick overview of the code that produced it. This sets people up for
54
+ the *Validation Plan* section in the guide, where each concept is discussed in depth.
55
+
56
+ ## Improving Examples
57
+
58
+ Examples are everywhere in the [**User Guide**](../../user-guide/index.qmd). We've tightened up our
59
+ approach to examples by:
60
+
61
+ - presenting example code, output, or both, early in each section
62
+ - showing the actual output you'll see in your environment
63
+ - following up with explanatory text that guides attention to specific places in the output
64
+
65
+ This approach makes learning more intuitive. Here's an excerpt that shows this in practice.
66
+
67
+ ![](explanation-of-visual.png){width=80%}
68
+
69
+ The blue arrow marks the flow of reading and the red arrows map where we anticipate people will look
70
+ from the text to the output. Focusing explicitly on where we think attention will go forces us to
71
+ think carefully about exactly what readers will get from the output. The hope is that readers get to
72
+ work more quickly on new concepts.
73
+
74
+ ## Rounding Out API Coverage
75
+
76
+ Documentation has to balance jobs between a user guide and an API Reference:
77
+
78
+ - User Guide: explains concepts that cut across functions (like common arguments across
79
+ [validation methods](/user-guide/validation-methods.qmd))
80
+ - API Reference: explains each individual function
81
+
82
+ Importantly, user guides often link to the API reference so, as part of this work, we made sure that
83
+ all individual API entries are well-documented and linked to from the guide.
84
+ Here's an excerpt from the [**User Guide**](../../user-guide/index.qmd) that shows links marked:
85
+
86
+ ![](links-in-guide.png){width=80%}
87
+
88
+ ## Surfacing Advanced Topics
89
+
90
+ There's a lot of potential slicing and dicing involved in validation, as well as work after
91
+ validation (post interrogation) to make sense of the results. We added pages to the
92
+ [**User Guide**](../../user-guide/index.qmd) for some core situations.
93
+ In this section, I'll highlight two advanced topics we added pages for:
94
+
95
+ - segmentation: splitting a column into groups, and validating each group
96
+ - step reports: view failing cases (e.g., view rows of data that failed validation)
97
+
98
+ These are marked in the [**User Guide**](../../user-guide/index.qmd) sidebar screenshot below:
99
+
100
+ <div style="text-align: center;">
101
+
102
+ ![](advanced-in-sidebar.png){width=35%}
103
+
104
+ </div>
105
+
106
+ ### Segmentation
107
+
108
+ Here's a screenshot of a validation report with two validation steps, one for each segment (`"low"`
109
+ and `"high"`) in the `f` column of the `small_table` dataset.
110
+
111
+ ![](segments.png){width=80%}
112
+
113
+ Notice that segments split columns into groups and apply the same validation to each of the groups.
114
+ Each group is given its own step.
115
+
116
+ Each of the 20+ validation methods accept a `segment=` argument. The value of the
117
+ [Segmentation article in the User Guide](../../user-guide/segmentation.qmd) is to describe this
118
+ cross-cutting behavior in a single place.
119
+
120
+ Compare the `segments=` parameter in the API Reference (e.g., look at
121
+ [`col_vals_gt()`](../../reference/Validate.col_vals_gt.qmd)) and the
122
+ [Segmentation article](../../user-guide/segmentation.qmd) to get a feel for how each location
123
+ documents the segments feature.
124
+
125
+ ### Step Report
126
+
127
+ Step reports display failing cases (e.g., rows) for a validation step, so you can dig deeper into
128
+ validation failures. Here's a screenshot of a step report for some validation step 2:
129
+
130
+ ![](step-report.png){width=80%}
131
+
132
+ Notice the arrow pointing to 'Step 2' in the title. Failing values are highlighted in red. Once we
133
+ know we have failures, it's important to take action and discover *why* data is failing. Looking at
134
+ failing cases in step reports often uncovers obvious causes behind failures.
135
+
136
+ The `get_step_report()` entry is one of 50 in the API Reference. Here it is listed the API
137
+ Reference, in the [Interrogation and Reporting section](../../reference/index.qmd#interrogation-and-reporting).
138
+ Critically, it's only one of 20 entries in the [User Guide](../../user-guide/index.qmd), which
139
+ emphasizes its importance in validation workflows.
140
+
141
+ ## Looking Forward
142
+
143
+ The refreshed **User Guide** is just the beginning of our documentation improvements. We're
144
+ committed to continuously enhancing our documentation to support your data validation needs.
145
+
146
+ Michael Chow gave feedback on this **User Guide** in preparation for his
147
+ [upcoming talk at SciPy 2025](https://cfp.scipy.org/scipy2025/talk/NRMNDX/).
148
+
149
+ We'd love to hear your feedback on the new User Guide! Feel free to open an issue on our
150
+ [GitHub repository](https://github.com/posit-dev/pointblank/issues) with suggestions, corrections,
151
+ or requests for additional topics you'd like to see covered. You can also join our community
152
+ discussions in the dedicated `#Documentation` channel on our
153
+ [Discord server](https://discord.com/invite/YH7CybCNCQ), where you can share ideas, ask questions,
154
+ and get help directly from the Pointblank team and other users.
@@ -9,7 +9,7 @@
9
9
  }
10
10
 
11
11
  body {
12
- background-color: #F7F8FC;
12
+ background-color: #FCFEFF;
13
13
  }
14
14
 
15
15
  p a {
@@ -42,6 +42,20 @@ p,h1,h2,h3,#toc-title,#toc-function-reference,.nav-link,.table {
42
42
  font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
43
43
  }
44
44
 
45
+ .cell-output.cell-output-stdout {
46
+ border-style: solid;
47
+ border-width: 1px;
48
+ border-color: #A1A1A165;
49
+ border-radius: 4px;
50
+ padding: 0.4em;
51
+ background-color: #F7F1EB65;
52
+ margin-bottom: 12px;
53
+ }
54
+
55
+ summary::marker {
56
+ font-size: 1.5em;
57
+ }
58
+
45
59
  [id^=validation-steps] td a:after {
46
60
  content: "()"
47
61
  }
@@ -54,6 +68,22 @@ p,h1,h2,h3,#toc-title,#toc-function-reference,.nav-link,.table {
54
68
  content: "()"
55
69
  }
56
70
 
71
+ [id^=inspection-and-assistance] td a:after {
72
+ content: "()"
73
+ }
74
+
75
+ [id^=utility-functions] td a:after {
76
+ content: "()"
77
+ }
78
+
79
+ [id^=prebuilt-actions] td a:after {
80
+ content: "()"
81
+ }
82
+
83
+ .parameter-name {
84
+ margin-right: -10px;
85
+ }
86
+
57
87
  #toc-title {
58
88
  font-size: 16px;
59
89
  }
@@ -64,6 +94,7 @@ p,h1,h2,h3,#toc-title,#toc-function-reference,.nav-link,.table {
64
94
 
65
95
  #quarto-margin-sidebar {
66
96
  margin-left: 20px;
97
+ padding-top: 30px;
67
98
  }
68
99
 
69
100
  #quarto-margin-sidebar nav ul li {
@@ -81,10 +112,26 @@ p,h1,h2,h3,#toc-title,#toc-function-reference,.nav-link,.table {
81
112
  font-weight: bold;
82
113
  }
83
114
 
115
+ a.sidebar-item-text.sidebar-link.text-start[data-bs-toggle="collapse"] {
116
+ pointer-events: none;
117
+ cursor: default;
118
+ }
119
+
120
+ div.sidebar-item-container {
121
+ cursor: default !important;
122
+ }
123
+
84
124
  a.sidebar-item-toggle.text-start > i {
85
125
  color: #FAFAFD;
86
126
  }
87
127
 
128
+ a.sidebar-item-text.sidebar-link.active {
129
+ color: rgb(244, 121, 0);
130
+ text-decoration: underline;
131
+ text-decoration-thickness: 2px;
132
+ text-decoration-color: rgba(101, 180, 237, 0.75);
133
+ }
134
+
88
135
  #api-reference > h1 {
89
136
  margin: 0;
90
137
  }