pointblank 0.10.0__tar.gz → 0.11.1__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.
- {pointblank-0.10.0 → pointblank-0.11.1}/PKG-INFO +52 -1
- {pointblank-0.10.0 → pointblank-0.11.1}/README.md +49 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/_quarto.yml +7 -0
- pointblank-0.11.1/docs/assets/vhs/.gitignore +1 -0
- pointblank-0.11.1/docs/assets/vhs/cli-cicd-workflows.gif +0 -0
- pointblank-0.11.1/docs/assets/vhs/cli-cicd-workflows.tape +45 -0
- pointblank-0.11.1/docs/assets/vhs/cli-complete-workflow.gif +0 -0
- pointblank-0.11.1/docs/assets/vhs/cli-complete-workflow.tape +75 -0
- pointblank-0.11.1/docs/assets/vhs/cli-data-exploration.gif +0 -0
- pointblank-0.11.1/docs/assets/vhs/cli-data-exploration.tape +51 -0
- pointblank-0.11.1/docs/assets/vhs/cli-essential-validations.gif +0 -0
- pointblank-0.11.1/docs/assets/vhs/cli-essential-validations.tape +51 -0
- pointblank-0.11.1/docs/assets/vhs/cli-getting-started.gif +0 -0
- pointblank-0.11.1/docs/assets/vhs/cli-getting-started.tape +51 -0
- pointblank-0.11.1/docs/demos/cli-interactive/index.qmd +138 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/index.qmd +3 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/index.qmd +59 -4
- pointblank-0.11.1/docs/user-guide/cli-data-inspection.qmd +122 -0
- pointblank-0.11.1/docs/user-guide/cli-data-validation.qmd +172 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/user-guide/installation.qmd +30 -2
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/assistant.py +14 -3
- pointblank-0.11.1/pointblank/cli.py +3644 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/compare.py +9 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/datascan.py +25 -3
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/validate.py +346 -37
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank.egg-info/PKG-INFO +52 -1
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank.egg-info/SOURCES.txt +17 -0
- pointblank-0.11.1/pointblank.egg-info/entry_points.txt +2 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank.egg-info/requires.txt +2 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pyproject.toml +5 -0
- pointblank-0.11.1/tests/test_cli.py +1383 -0
- pointblank-0.11.1/tests/test_compare.py +73 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/test_datascan.py +208 -2
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/test_validate.py +403 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/translations/README.ar.md +49 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/translations/README.de.md +49 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/translations/README.es.md +49 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/translations/README.fr.md +49 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/translations/README.hi.md +49 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/translations/README.it.md +49 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/translations/README.ja.md +49 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/translations/README.ko.md +49 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/translations/README.nl.md +50 -1
- {pointblank-0.10.0 → pointblank-0.11.1}/translations/README.pt-BR.md +49 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/translations/README.zh-CN.md +67 -4
- pointblank-0.10.0/tests/test_compare.py +0 -15
- {pointblank-0.10.0 → pointblank-0.11.1}/.github/CODE_OF_CONDUCT.md +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/.github/ISSUE_TEMPLATE/bug.md +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/.github/ISSUE_TEMPLATE/feature.md +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/.github/ISSUE_TEMPLATE/question.md +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/.github/SECURITY.md +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/.github/workflows/ci-docs.yaml +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/.github/workflows/ci-tests.yaml +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/.github/workflows/code-checks.yaml +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/.gitignore +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/.pre-commit-config.yaml +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/.vscode/settings.json +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/CITATION.cff +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/CONTRIBUTING.md +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/LICENSE +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/Makefile +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/data_raw/game_revenue.csv +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/data_raw/global_sales.csv +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/data_raw/global_sales_dataset.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/data_raw/nycflights.csv +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/data_raw/small_table.csv +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/data_raw/x-01-parquet.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/data_raw/x-02-duckdb.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/data_raw/x-03-sqlite.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/.gitignore +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/_extensions/machow/interlinks/.gitignore +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/_extensions/machow/interlinks/_extension.yml +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/_extensions/machow/interlinks/interlinks.lua +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/assets/fav-logo.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/assets/pointblank-sales-data.de.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/assets/pointblank-sales-data.es.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/assets/pointblank-sales-data.fr.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/assets/pointblank-sales-data.it.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/assets/pointblank-sales-data.ja.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/assets/pointblank-sales-data.ko.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/assets/pointblank-sales-data.nl.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/assets/pointblank-sales-data.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/assets/pointblank-sales-data.pt-BR.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/assets/pointblank-sales-data.zh-CN.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/assets/pointblank-step-report.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/assets/pointblank-tabular-report.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/assets/pointblank_logo.svg +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/assets/posit-logo-black.svg +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/assets/validation-table-diagram.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/assets/validation-test-units.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/blog/all-about-actions/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/blog/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/blog/intro-pointblank/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/blog/intro-pointblank/pointblank-localized.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/blog/intro-pointblank/step_report.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/blog/intro-pointblank/validation-table-diagram.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/blog/intro-pointblank/validation-test-units.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/blog/lets-workshop-together/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/blog/overhauled-user-guide/advanced-in-sidebar.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/blog/overhauled-user-guide/breadth-and-depth.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/blog/overhauled-user-guide/explanation-of-visual.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/blog/overhauled-user-guide/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/blog/overhauled-user-guide/links-in-guide.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/blog/overhauled-user-guide/segments.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/blog/overhauled-user-guide/step-report.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/blog/overhauled-user-guide/validation-three-things.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/blog/pointblank_blog_logo.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/blog/validation-libs-2025/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/01-starter/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/02-advanced/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/03-data-extracts/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/04-sundered-data/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/05-step-report-column-check/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/06-step-report-schema-check/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/07-validation-with-actions/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/08-validation-with-final-actions/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/apply-checks-to-several-columns/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/check-for-freshness/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/check-row-column-counts/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/checks-for-missing/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/col-vals-custom-expr/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/column-selector-functions/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/comparisons-across-columns/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/custom-validation-specially/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/data/game_revenue.parquet +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/expect-no-duplicate-rows/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/expect-no-duplicate-values/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/expect-text-pattern/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/failure-thresholds/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/img/advanced_validation.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/img/data_extracts.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/img/starter_validation.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/img/step_report_column_schema.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/img/step_report_column_values.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/img/sundered_data.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/img/validation_with_actions.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/img/validation_with_final_actions.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/mutate-table-in-step/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/numeric-comparisons/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/schema-check/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/set-membership/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/demos/using-parquet-data/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/scripts/post-render.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/styles.css +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/user-guide/actions.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/user-guide/assertions.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/user-guide/briefs.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/user-guide/col-summary-tbl.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/user-guide/column-selection-patterns.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/user-guide/draft-validation.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/user-guide/expressions.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/user-guide/extracts.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/user-guide/index.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/user-guide/langs.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/user-guide/missing-vals-tbl.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/user-guide/preprocessing.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/user-guide/preview.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/user-guide/schema-validation.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/user-guide/segmentation.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/user-guide/step-reports.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/user-guide/sundering.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/user-guide/thresholds.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/user-guide/validation-methods.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/docs/user-guide/validation-overview.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/images/pointblank-tabular-report.png +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/images/pointblank_logo.svg +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/__init__.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/_constants.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/_constants_docs.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/_constants_translations.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/_datascan_utils.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/_interrogation.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/_typing.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/_utils.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/_utils_check_args.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/_utils_html.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/actions.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/column.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/data/api-docs.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/data/game_revenue-duckdb.zip +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/data/game_revenue.zip +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/data/global_sales-duckdb.zip +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/data/global_sales.zip +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/data/nycflights-duckdb.zip +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/data/nycflights.zip +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/data/polars-api-docs.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/data/small_table-duckdb.zip +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/data/small_table.zip +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/draft.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/scan_profile.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/scan_profile_stats.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/schema.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/tf.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank/thresholds.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank.egg-info/dependency_links.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/pointblank.egg-info/top_level.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/setup.cfg +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/__init__.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/manual_tests/schema_step_reports.qmd +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_datascan/test_col_summary_tbl_duckdb_snap/col_summary_html_duckdb.html +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_datascan/test_col_summary_tbl_pandas_snap/col_summary_html_pandas.html +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_datascan/test_col_summary_tbl_polars_snap/col_summary_html_polars.html +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_comprehensive_validation_report_html_snap/comprehensive_validation_report.html +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_01/schema_step_report_01-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_01_1/schema_step_report_01-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_01_2/schema_step_report_01-2.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_01_3/schema_step_report_01-3.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_02/schema_step_report_02-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_02_1/schema_step_report_02-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_02_2/schema_step_report_02-2.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_02_3/schema_step_report_02-3.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_03/schema_step_report_03-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_03_1/schema_step_report_03-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_03_2/schema_step_report_03-2.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_03_3/schema_step_report_03-3.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_04/schema_step_report_04-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_05/schema_step_report_05-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_06/schema_step_report_06-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_07/schema_step_report_07-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_08/schema_step_report_08-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_09/schema_step_report_09-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_10/schema_step_report_10-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_11/schema_step_report_11-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_12/schema_step_report_12-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_13/schema_step_report_13-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_14/schema_step_report_14-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_14_1/schema_step_report_14-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_15/schema_step_report_15-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_15_1/schema_step_report_15-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_16/schema_step_report_16-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_16_1/schema_step_report_16-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_17/schema_step_report_17-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_17_1/schema_step_report_17-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_18/schema_step_report_18-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_18_1/schema_step_report_18-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_19/schema_step_report_19-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_19_1/schema_step_report_19-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_20/schema_step_report_20-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_20_1/schema_step_report_20-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_21/schema_step_report_21-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_21_1/schema_step_report_21-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_21_2/schema_step_report_21-2.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_21_3/schema_step_report_21-3.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_22/schema_step_report_22-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_22_1/schema_step_report_22-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_23/schema_step_report_23-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_23_1/schema_step_report_23-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_24/schema_step_report_24-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_24_1/schema_step_report_24-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_24_2/schema_step_report_24-2.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_24_3/schema_step_report_24-3.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_25/schema_step_report_25-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_25_1/schema_step_report_25-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_25_2/schema_step_report_25-2.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_25_3/schema_step_report_25-3.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_25_4/schema_step_report_25-4.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_step_report_25_5/schema_step_report_25-5.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_01-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_02-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_03-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_04-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_05-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_06-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_07-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_08-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_09-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_10-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_11-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_12-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_13-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_14-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_14-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_15-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_15-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_16-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_16-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_17-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_17-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_18-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_18-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_19-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_19-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_20-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_20-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_21-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_21-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_21-2.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_21-3.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_22-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_22-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_23-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_23-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_24-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_24-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_24-2.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_24-3.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-0.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-1.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-2.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-3.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-4.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-5.txt +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_no_interrogation_validation_report_html_snap/no_interrogation_validation_report.html +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_no_steps_validation_report_html_snap/no_steps_validation_report.html +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_validation_report_briefs_global_local_html/validation_report_briefs_global_local.html +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_validation_report_briefs_html/validation_report_with_briefs.html +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_duckdb/validation_report.json +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_parquet/validation_report.json +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_pd/validation_report.json +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_pl/validation_report.json +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_sqlite/validation_report.json +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_duckdb/validation_report.json +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_parquet/validation_report.json +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_pd/validation_report.json +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_pl/validation_report.json +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_sqlite/validation_report.json +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_validation_report_segments_html/duckdb/validation_report_segments.html +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_validation_report_segments_html/pandas/validation_report_segments.html +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_validation_report_segments_html/polars/validation_report_segments.html +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_validation_report_segments_with_pre_html/polars/validation_report_segments_with_pre.html +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_validation_report_segments_with_pre_html/validation_report_segments_with_pre.html +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_duckdb/validation_report.json +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_parquet/validation_report.json +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_pd/validation_report.json +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_pl/validation_report.json +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_sqlite/validation_report.json +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/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
- {pointblank-0.10.0 → pointblank-0.11.1}/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
- {pointblank-0.10.0 → pointblank-0.11.1}/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
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/tbl_files/parquet_data/data_a.parquet +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/tbl_files/parquet_data/data_b.parquet +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/tbl_files/parquet_data/subdir/nested_data.parquet +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/tbl_files/partitioned_sales/status=cancelled/0.parquet +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/tbl_files/partitioned_sales/status=delivered/0.parquet +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/tbl_files/partitioned_sales/status=pending/0.parquet +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/tbl_files/partitioned_sales/status=returned/0.parquet +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/tbl_files/partitioned_sales/status=shipped/0.parquet +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/tbl_files/partitioned_small_table/f=high/0.parquet +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/tbl_files/partitioned_small_table/f=low/0.parquet +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/tbl_files/partitioned_small_table/f=mid/0.parquet +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/tbl_files/taxi_part_01.parquet +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/tbl_files/taxi_part_02.parquet +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/tbl_files/taxi_part_03.parquet +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/tbl_files/taxi_sample.parquet +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/tbl_files/tbl_dates_times_text.ddb +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/tbl_files/tbl_dates_times_text.parquet +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/tbl_files/tbl_dates_times_text.sqlite +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/tbl_files/tbl_true_dates_times.ddb +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/tbl_files/tbl_xyz.ddb +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/tbl_files/tbl_xyz.parquet +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/tbl_files/tbl_xyz.sqlite +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/tbl_files/tbl_xyz_missing.ddb +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/tbl_files/tbl_xyz_missing.parquet +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/tbl_files/tbl_xyz_missing.sqlite +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/test__interrogation.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/test__utils.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/test__utils_check_args.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/test_actions.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/test_assistant.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/test_column.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/test_draft.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/test_meta.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/test_schema.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/test_tf.py +0 -0
- {pointblank-0.10.0 → pointblank-0.11.1}/tests/test_thresholds.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pointblank
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.11.1
|
|
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
|
|
@@ -46,6 +46,8 @@ Requires-Dist: great_tables>=0.17.0
|
|
|
46
46
|
Requires-Dist: narwhals>=1.41.0
|
|
47
47
|
Requires-Dist: typing_extensions>=3.10.0.0
|
|
48
48
|
Requires-Dist: requests>=2.31.0
|
|
49
|
+
Requires-Dist: click>=8.0.0
|
|
50
|
+
Requires-Dist: rich>=13.0.0
|
|
49
51
|
Provides-Extra: pd
|
|
50
52
|
Requires-Dist: pandas>=2.2.3; extra == "pd"
|
|
51
53
|
Provides-Extra: pl
|
|
@@ -233,6 +235,55 @@ validation.get_step_report(i=3).show("browser") # Get failing records from step
|
|
|
233
235
|
|
|
234
236
|
<br>
|
|
235
237
|
|
|
238
|
+
## Command Line Interface (CLI)
|
|
239
|
+
|
|
240
|
+
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.
|
|
241
|
+
|
|
242
|
+
<div align="center">
|
|
243
|
+
<img src="https://posit-dev.github.io/pointblank/assets/vhs/cli-complete-workflow.gif" width="800px">
|
|
244
|
+
</div>
|
|
245
|
+
|
|
246
|
+
**Explore Your Data**
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
# Get a quick preview of your data
|
|
250
|
+
pb preview small_table
|
|
251
|
+
|
|
252
|
+
# Preview data from GitHub URLs
|
|
253
|
+
pb preview "https://github.com/user/repo/blob/main/data.csv"
|
|
254
|
+
|
|
255
|
+
# Check for missing values in Parquet files
|
|
256
|
+
pb missing data.parquet
|
|
257
|
+
|
|
258
|
+
# Generate column summaries from database connections
|
|
259
|
+
pb scan "duckdb:///data/sales.ddb::customers"
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
**Run Essential Validations**
|
|
263
|
+
|
|
264
|
+
```bash
|
|
265
|
+
# Check for duplicate rows
|
|
266
|
+
pb validate small_table --check rows-distinct
|
|
267
|
+
|
|
268
|
+
# Validate data directly from GitHub
|
|
269
|
+
pb validate "https://github.com/user/repo/blob/main/sales.csv" --check col-vals-not-null --column customer_id
|
|
270
|
+
|
|
271
|
+
# Verify no null values in Parquet datasets
|
|
272
|
+
pb validate "data/*.parquet" --check col-vals-not-null --column a
|
|
273
|
+
|
|
274
|
+
# Extract failing data for debugging
|
|
275
|
+
pb validate small_table --check col-vals-gt --column a --value 5 --show-extract
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
**Integrate with CI/CD**
|
|
279
|
+
|
|
280
|
+
```bash
|
|
281
|
+
# Use exit codes for automation (0 = pass, 1 = fail)
|
|
282
|
+
pb validate small_table --check rows-distinct && echo "✅ Quality checks passed"
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
Learn more in our [CLI documentation](https://posit-dev.github.io/pointblank/user-guide/cli.html).
|
|
286
|
+
|
|
236
287
|
## Features That Set Pointblank Apart
|
|
237
288
|
|
|
238
289
|
- **Complete validation workflow** - From data access to validation to reporting in a single pipeline
|
|
@@ -149,6 +149,55 @@ validation.get_step_report(i=3).show("browser") # Get failing records from step
|
|
|
149
149
|
|
|
150
150
|
<br>
|
|
151
151
|
|
|
152
|
+
## Command Line Interface (CLI)
|
|
153
|
+
|
|
154
|
+
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.
|
|
155
|
+
|
|
156
|
+
<div align="center">
|
|
157
|
+
<img src="https://posit-dev.github.io/pointblank/assets/vhs/cli-complete-workflow.gif" width="800px">
|
|
158
|
+
</div>
|
|
159
|
+
|
|
160
|
+
**Explore Your Data**
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
# Get a quick preview of your data
|
|
164
|
+
pb preview small_table
|
|
165
|
+
|
|
166
|
+
# Preview data from GitHub URLs
|
|
167
|
+
pb preview "https://github.com/user/repo/blob/main/data.csv"
|
|
168
|
+
|
|
169
|
+
# Check for missing values in Parquet files
|
|
170
|
+
pb missing data.parquet
|
|
171
|
+
|
|
172
|
+
# Generate column summaries from database connections
|
|
173
|
+
pb scan "duckdb:///data/sales.ddb::customers"
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
**Run Essential Validations**
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
# Check for duplicate rows
|
|
180
|
+
pb validate small_table --check rows-distinct
|
|
181
|
+
|
|
182
|
+
# Validate data directly from GitHub
|
|
183
|
+
pb validate "https://github.com/user/repo/blob/main/sales.csv" --check col-vals-not-null --column customer_id
|
|
184
|
+
|
|
185
|
+
# Verify no null values in Parquet datasets
|
|
186
|
+
pb validate "data/*.parquet" --check col-vals-not-null --column a
|
|
187
|
+
|
|
188
|
+
# Extract failing data for debugging
|
|
189
|
+
pb validate small_table --check col-vals-gt --column a --value 5 --show-extract
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
**Integrate with CI/CD**
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
# Use exit codes for automation (0 = pass, 1 = fail)
|
|
196
|
+
pb validate small_table --check rows-distinct && echo "✅ Quality checks passed"
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
Learn more in our [CLI documentation](https://posit-dev.github.io/pointblank/user-guide/cli.html).
|
|
200
|
+
|
|
152
201
|
## Features That Set Pointblank Apart
|
|
153
202
|
|
|
154
203
|
- **Complete validation workflow** - From data access to validation to reporting in a single pipeline
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
project:
|
|
2
2
|
type: website
|
|
3
3
|
post-render: scripts/post-render.py
|
|
4
|
+
resources:
|
|
5
|
+
- "assets/**"
|
|
4
6
|
|
|
5
7
|
format:
|
|
6
8
|
html:
|
|
@@ -87,6 +89,11 @@ website:
|
|
|
87
89
|
- user-guide/preview.qmd
|
|
88
90
|
- user-guide/col-summary-tbl.qmd
|
|
89
91
|
- user-guide/missing-vals-tbl.qmd
|
|
92
|
+
- section: "The Pointblank CLI"
|
|
93
|
+
contents:
|
|
94
|
+
- user-guide/cli-data-inspection.qmd
|
|
95
|
+
- user-guide/cli-data-validation.qmd
|
|
96
|
+
|
|
90
97
|
page-footer:
|
|
91
98
|
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>'
|
|
92
99
|
right: "© 2024–2025 Posit Software, PBC."
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
worldcities.csv
|
|
Binary file
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# VHS tape for CI/CD integration workflows
|
|
2
|
+
# Shows production-ready automation patterns
|
|
3
|
+
|
|
4
|
+
Output cli-cicd-workflows.gif
|
|
5
|
+
|
|
6
|
+
Set FontSize 16
|
|
7
|
+
Set Width 1200
|
|
8
|
+
Set Height 700
|
|
9
|
+
Set Theme "Dracula"
|
|
10
|
+
|
|
11
|
+
Type "# Example of a Production CI/CD Data Validation Workflow"
|
|
12
|
+
Enter
|
|
13
|
+
Sleep 2s
|
|
14
|
+
|
|
15
|
+
Type ""
|
|
16
|
+
Enter
|
|
17
|
+
Type "# Pipeline Step 1: Checking for duplicates while using exit codes (this fails)"
|
|
18
|
+
Enter
|
|
19
|
+
Type "pb validate small_table --check rows-distinct --exit-code"
|
|
20
|
+
Enter
|
|
21
|
+
Sleep 10s
|
|
22
|
+
|
|
23
|
+
Type ""
|
|
24
|
+
Enter
|
|
25
|
+
Type "# Pipeline Step 2: Checking for null values in an important column (this passes)"
|
|
26
|
+
Enter
|
|
27
|
+
Type "pb validate small_table --check col-vals-not-null --column date_time --exit-code"
|
|
28
|
+
Enter
|
|
29
|
+
Sleep 10s
|
|
30
|
+
|
|
31
|
+
Type ""
|
|
32
|
+
Enter
|
|
33
|
+
Type "# Pipeline Step 3: Checking for values greater than 2 (this one fails)"
|
|
34
|
+
Enter
|
|
35
|
+
Type "pb validate small_table --check col-vals-gt --column a --value 2 --exit-code"
|
|
36
|
+
Enter
|
|
37
|
+
Sleep 10s
|
|
38
|
+
|
|
39
|
+
Type ""
|
|
40
|
+
Enter
|
|
41
|
+
Type "# Use in GitHub Actions or any automation platform"
|
|
42
|
+
Enter
|
|
43
|
+
Type "echo 'Exit codes: 0 = success, 1 = validation failed'"
|
|
44
|
+
Enter
|
|
45
|
+
Sleep 8s
|
|
Binary file
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# VHS tape for complete validation workflow
|
|
2
|
+
# Shows realistic end-to-end data quality checking with world cities data
|
|
3
|
+
|
|
4
|
+
Output cli-complete-workflow.gif
|
|
5
|
+
|
|
6
|
+
Set FontSize 14
|
|
7
|
+
Set Width 1200
|
|
8
|
+
Set Height 900
|
|
9
|
+
Set Theme "Dracula"
|
|
10
|
+
|
|
11
|
+
Type "# Complete Data Quality Workflow"
|
|
12
|
+
Enter
|
|
13
|
+
Sleep 2s
|
|
14
|
+
|
|
15
|
+
Type ""
|
|
16
|
+
Enter
|
|
17
|
+
Type "# Step 0: Get the dimensions of your data first"
|
|
18
|
+
Enter
|
|
19
|
+
Type "pb info worldcities.csv"
|
|
20
|
+
Enter
|
|
21
|
+
Sleep 4s
|
|
22
|
+
|
|
23
|
+
Type ""
|
|
24
|
+
Enter
|
|
25
|
+
Type "# Step 1: Quickly preview the dataset"
|
|
26
|
+
Enter
|
|
27
|
+
Type "pb preview worldcities.csv --head 3 --tail 2"
|
|
28
|
+
Enter
|
|
29
|
+
Sleep 6s
|
|
30
|
+
|
|
31
|
+
Type ""
|
|
32
|
+
Enter
|
|
33
|
+
Type "# Step 2: Scan for data quality patterns"
|
|
34
|
+
Enter
|
|
35
|
+
Type "pb scan worldcities.csv"
|
|
36
|
+
Enter
|
|
37
|
+
Sleep 12s
|
|
38
|
+
|
|
39
|
+
Type ""
|
|
40
|
+
Enter
|
|
41
|
+
Type "# Step 3: Check for missing values"
|
|
42
|
+
Enter
|
|
43
|
+
Type "pb missing worldcities.csv"
|
|
44
|
+
Enter
|
|
45
|
+
Sleep 8s
|
|
46
|
+
|
|
47
|
+
Type ""
|
|
48
|
+
Enter
|
|
49
|
+
Type "# Step 4: Validate the population values are provided for each city (i.e., not null)"
|
|
50
|
+
Enter
|
|
51
|
+
Type "pb validate worldcities.csv --check col-vals-not-null --column population"
|
|
52
|
+
Enter
|
|
53
|
+
Sleep 10s
|
|
54
|
+
|
|
55
|
+
Type ""
|
|
56
|
+
Enter
|
|
57
|
+
Type "# Step 5: Check for missing city names (and show problematic rows)"
|
|
58
|
+
Enter
|
|
59
|
+
Type "pb validate worldcities.csv --check col-vals-not-null --column city_name --show-extract"
|
|
60
|
+
Enter
|
|
61
|
+
Sleep 10s
|
|
62
|
+
|
|
63
|
+
Type ""
|
|
64
|
+
Enter
|
|
65
|
+
Type "# Step 6: Validate latitude range (latitude: -90 to 90) in two steps"
|
|
66
|
+
Enter
|
|
67
|
+
Type "pb validate worldcities.csv --check col-vals-ge --column latitude --value -90 --check col-vals-le --column latitude --value 90"
|
|
68
|
+
Enter
|
|
69
|
+
Sleep 10s
|
|
70
|
+
|
|
71
|
+
Type ""
|
|
72
|
+
Enter
|
|
73
|
+
Type "echo 'Data quality workflow complete: 41K cities validated!'"
|
|
74
|
+
Enter
|
|
75
|
+
Sleep 6s
|
|
Binary file
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# VHS tape for data exploration and profiling
|
|
2
|
+
# Shows preview, missing values, and column summaries using real-world city data
|
|
3
|
+
|
|
4
|
+
Output cli-data-exploration.gif
|
|
5
|
+
|
|
6
|
+
Set FontSize 14
|
|
7
|
+
Set Width 1200
|
|
8
|
+
Set Height 800
|
|
9
|
+
Set Theme "Dracula"
|
|
10
|
+
|
|
11
|
+
Type "# Data Exploration & Profiling with the Pointblank CLI"
|
|
12
|
+
Enter
|
|
13
|
+
Sleep 2s
|
|
14
|
+
|
|
15
|
+
Type ""
|
|
16
|
+
Enter
|
|
17
|
+
Type "# 0. Exploring world cities dataset: get the table dimensions"
|
|
18
|
+
Enter
|
|
19
|
+
Type "pb info worldcities.csv"
|
|
20
|
+
Enter
|
|
21
|
+
Sleep 4s
|
|
22
|
+
|
|
23
|
+
Type ""
|
|
24
|
+
Enter
|
|
25
|
+
Type "# 1. Quick data preview: see structure and sample rows"
|
|
26
|
+
Enter
|
|
27
|
+
Type "pb preview worldcities.csv --head 3 --tail 3"
|
|
28
|
+
Enter
|
|
29
|
+
Sleep 8s
|
|
30
|
+
|
|
31
|
+
Type ""
|
|
32
|
+
Enter
|
|
33
|
+
Type "# 2. Missing values analysis: identify data gaps"
|
|
34
|
+
Enter
|
|
35
|
+
Type "pb missing worldcities.csv"
|
|
36
|
+
Enter
|
|
37
|
+
Sleep 8s
|
|
38
|
+
|
|
39
|
+
Type ""
|
|
40
|
+
Enter
|
|
41
|
+
Type "# 3. Comprehensive data scan: statistical overview"
|
|
42
|
+
Enter
|
|
43
|
+
Type "pb scan worldcities.csv"
|
|
44
|
+
Enter
|
|
45
|
+
Sleep 10s
|
|
46
|
+
|
|
47
|
+
Type ""
|
|
48
|
+
Enter
|
|
49
|
+
Type "echo 'Complete data profiling in seconds with the Pointblank CLI'"
|
|
50
|
+
Enter
|
|
51
|
+
Sleep 3s
|
|
Binary file
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# VHS tape for high-impact data validation demonstrations
|
|
2
|
+
# Shows the most practical CLI validations
|
|
3
|
+
|
|
4
|
+
Output cli-essential-validations.gif
|
|
5
|
+
|
|
6
|
+
Set FontSize 16
|
|
7
|
+
Set Width 1200
|
|
8
|
+
Set Height 700
|
|
9
|
+
Set Theme "Dracula"
|
|
10
|
+
|
|
11
|
+
Type "# Essential Data Validation with Pointblank CLI"
|
|
12
|
+
Enter
|
|
13
|
+
Sleep 4s
|
|
14
|
+
|
|
15
|
+
Type ""
|
|
16
|
+
Enter
|
|
17
|
+
Type "# 0. Get the table dimensions, just to know what you're working with"
|
|
18
|
+
Enter
|
|
19
|
+
Type "pb info small_table"
|
|
20
|
+
Enter
|
|
21
|
+
Sleep 8s
|
|
22
|
+
|
|
23
|
+
Type ""
|
|
24
|
+
Enter
|
|
25
|
+
Type "# 1. Check for duplicate rows (the most common data quality issue)"
|
|
26
|
+
Enter
|
|
27
|
+
Type "pb validate small_table --check rows-distinct"
|
|
28
|
+
Enter
|
|
29
|
+
Sleep 8s
|
|
30
|
+
|
|
31
|
+
Type ""
|
|
32
|
+
Enter
|
|
33
|
+
Type "# 2. Find missing values in important columns"
|
|
34
|
+
Enter
|
|
35
|
+
Type "pb validate small_table --check col-vals-not-null --column c"
|
|
36
|
+
Enter
|
|
37
|
+
Sleep 8s
|
|
38
|
+
|
|
39
|
+
Type ""
|
|
40
|
+
Enter
|
|
41
|
+
Type "# 3. When validation fails, see exactly which rows are problematic with --show-extract"
|
|
42
|
+
Enter
|
|
43
|
+
Type "pb validate small_table --check col-vals-not-null --column c --show-extract"
|
|
44
|
+
Enter
|
|
45
|
+
Sleep 10s
|
|
46
|
+
|
|
47
|
+
Type ""
|
|
48
|
+
Enter
|
|
49
|
+
Type "echo 'Essential validations: duplicates, nulls, with data extracts'"
|
|
50
|
+
Enter
|
|
51
|
+
Sleep 6s
|
|
Binary file
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# VHS tape for CLI overview and getting started
|
|
2
|
+
# Shows help and basic commands with custom prompt
|
|
3
|
+
|
|
4
|
+
Output cli-getting-started.gif
|
|
5
|
+
|
|
6
|
+
Set FontSize 16
|
|
7
|
+
Set Width 1200
|
|
8
|
+
Set Height 700
|
|
9
|
+
Set Theme "Dracula"
|
|
10
|
+
|
|
11
|
+
Type "# Getting Started with the Pointblank CLI"
|
|
12
|
+
Enter
|
|
13
|
+
Sleep 5s
|
|
14
|
+
|
|
15
|
+
Type ""
|
|
16
|
+
Enter
|
|
17
|
+
Type "# See all available commands"
|
|
18
|
+
Enter
|
|
19
|
+
Type "pb --help"
|
|
20
|
+
Enter
|
|
21
|
+
Sleep 10s
|
|
22
|
+
|
|
23
|
+
Type ""
|
|
24
|
+
Enter
|
|
25
|
+
Type "# There's a number of datasets you can use for testing"
|
|
26
|
+
Enter
|
|
27
|
+
Type "pb datasets"
|
|
28
|
+
Enter
|
|
29
|
+
Sleep 8s
|
|
30
|
+
|
|
31
|
+
Type ""
|
|
32
|
+
Enter
|
|
33
|
+
Type "# Learn about all the `pb validate` options"
|
|
34
|
+
Enter
|
|
35
|
+
Type "pb validate --help"
|
|
36
|
+
Enter
|
|
37
|
+
Sleep 12s
|
|
38
|
+
|
|
39
|
+
Type ""
|
|
40
|
+
Enter
|
|
41
|
+
Type "# Your first validation: check for duplicates with rows-distinct"
|
|
42
|
+
Enter
|
|
43
|
+
Type "pb validate small_table --check rows-distinct"
|
|
44
|
+
Enter
|
|
45
|
+
Sleep 10s
|
|
46
|
+
|
|
47
|
+
Type ""
|
|
48
|
+
Enter
|
|
49
|
+
Type "# You are now ready to validate any dataset you like: CSV, Parquet, or a DB table"
|
|
50
|
+
Enter
|
|
51
|
+
Sleep 5s
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "CLI Interactive Demos"
|
|
3
|
+
pagetitle: "CLI Interactive Demos"
|
|
4
|
+
format:
|
|
5
|
+
html:
|
|
6
|
+
toc: true
|
|
7
|
+
css: |
|
|
8
|
+
.demo-section {
|
|
9
|
+
margin-bottom: 40px;
|
|
10
|
+
}
|
|
11
|
+
.gif-container {
|
|
12
|
+
margin: 20px 0;
|
|
13
|
+
text-align: center;
|
|
14
|
+
border: 1px solid #e1e5e9;
|
|
15
|
+
border-radius: 8px;
|
|
16
|
+
padding: 20px;
|
|
17
|
+
background: #f8f9fa;
|
|
18
|
+
}
|
|
19
|
+
.gif-container img {
|
|
20
|
+
max-width: 100%;
|
|
21
|
+
border-radius: 4px;
|
|
22
|
+
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
|
|
23
|
+
}
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
These CLI demos showcase practical data quality workflows that you can use!
|
|
27
|
+
|
|
28
|
+
::: {.callout-tip}
|
|
29
|
+
## 🎬 Workflow-Based Demonstrations
|
|
30
|
+
- **Essential validations** for everyday data quality checks
|
|
31
|
+
- **Data exploration** tools that require no Python knowledge
|
|
32
|
+
- **CI/CD integration** patterns for automated data quality
|
|
33
|
+
- **Complete pipelines** from exploration to production validation
|
|
34
|
+
:::
|
|
35
|
+
|
|
36
|
+
::: {.callout-note}
|
|
37
|
+
## Prerequisites
|
|
38
|
+
To follow along with these demonstrations:
|
|
39
|
+
```bash
|
|
40
|
+
pip install pointblank
|
|
41
|
+
pb --help # Verify installation
|
|
42
|
+
```
|
|
43
|
+
:::
|
|
44
|
+
|
|
45
|
+
### Getting Started with the CLI
|
|
46
|
+
|
|
47
|
+
Learn the basics of Pointblank's CLI and run your first validation:
|
|
48
|
+
|
|
49
|
+
::: {.gif-container}
|
|
50
|
+

|
|
51
|
+
*CLI overview and your first data quality validation*
|
|
52
|
+
:::
|
|
53
|
+
|
|
54
|
+
### Essential Data Quality Validations
|
|
55
|
+
|
|
56
|
+
See the most commonly used validation checks that catch critical data issues:
|
|
57
|
+
|
|
58
|
+
::: {.gif-container}
|
|
59
|
+

|
|
60
|
+
*Duplicate detection, null checks, and data extract debugging*
|
|
61
|
+
:::
|
|
62
|
+
|
|
63
|
+
### Data Exploration Tools
|
|
64
|
+
|
|
65
|
+
Discover how to profile and explore data using CLI tools that are quick and easy to use:
|
|
66
|
+
|
|
67
|
+
::: {.gif-container}
|
|
68
|
+

|
|
69
|
+
*Preview data, find missing values, and generate column summaries*
|
|
70
|
+
:::
|
|
71
|
+
|
|
72
|
+
### CI/CD Integration & Automation
|
|
73
|
+
|
|
74
|
+
Learn how to integrate data quality checks into automated pipelines:
|
|
75
|
+
|
|
76
|
+
::: {.gif-container}
|
|
77
|
+

|
|
78
|
+
*Exit codes, pipeline integration, and automated quality gates*
|
|
79
|
+
:::
|
|
80
|
+
|
|
81
|
+
### Complete Data Quality Workflow
|
|
82
|
+
|
|
83
|
+
Follow an end-to-end data quality pipeline combining exploration, validation, and profiling:
|
|
84
|
+
|
|
85
|
+
::: {.gif-container}
|
|
86
|
+

|
|
87
|
+
*Full pipeline: explore → validate → automate*
|
|
88
|
+
:::
|
|
89
|
+
|
|
90
|
+
## Getting Started
|
|
91
|
+
|
|
92
|
+
Ready to implement data quality workflows? Here's how to get started:
|
|
93
|
+
|
|
94
|
+
#### 1. Install and Verify
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
pip install pointblank
|
|
98
|
+
pb --help
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
#### 2. Explore Various Data Sources
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# Try previewing a built-in dataset
|
|
105
|
+
pb preview small_table
|
|
106
|
+
|
|
107
|
+
# Access local files (even use patterns to combine multiple Parquet files)
|
|
108
|
+
pb preview sales_data.csv
|
|
109
|
+
pb scan "data/*.parquet"
|
|
110
|
+
|
|
111
|
+
# Inspect datasets in GitHub repositories (no need to download the data!)
|
|
112
|
+
pb preview "https://github.com/user/repo/blob/main/data.csv"
|
|
113
|
+
pb missing "https://raw.githubusercontent.com/user/repo/main/sales.parquet"
|
|
114
|
+
|
|
115
|
+
# Work with DB tables through connection strings
|
|
116
|
+
pb info "duckdb:///warehouse/analytics.ddb::customers"
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
#### 3. Run Essential Validations
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
# Check for duplicate rows
|
|
123
|
+
pb validate small_table --check rows-distinct
|
|
124
|
+
|
|
125
|
+
# Validate data from multiple sources
|
|
126
|
+
pb validate "data/*.parquet" --check col-vals-not-null --column customer_id
|
|
127
|
+
pb validate "https://github.com/user/repo/blob/main/sales.csv" --check rows-distinct
|
|
128
|
+
|
|
129
|
+
# Extract failing data for debugging
|
|
130
|
+
pb validate small_table --check col-vals-gt --column a --value 5 --show-extract
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
#### 4. Integrate with CI/CD
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
# Use exit codes for automation (0 = pass, 1 = fail)
|
|
137
|
+
pb validate small_table --check rows-distinct --exit-code
|
|
138
|
+
```
|
|
@@ -171,4 +171,7 @@ The schema of a table can be flexibly defined with `Schema` and verified with `c
|
|
|
171
171
|
[Using Parquet Data](./using-parquet-data/index.qmd)<br>
|
|
172
172
|
A Parquet dataset can be used for data validation, thanks to Ibis.
|
|
173
173
|
|
|
174
|
+
[CLI Interactive Demos](./cli-interactive/index.qmd)<br>
|
|
175
|
+
These CLI demos showcase practical data quality workflows that you can use!
|
|
176
|
+
|
|
174
177
|
</div>
|
|
@@ -11,9 +11,13 @@ _Data validation made beautiful and powerful_
|
|
|
11
11
|
|
|
12
12
|
</div>
|
|
13
13
|
|
|
14
|
-
Pointblank is a powerful, yet elegant data validation framework for Python that transforms how you
|
|
14
|
+
Pointblank is a powerful, yet elegant data validation framework for Python that transforms how you
|
|
15
|
+
ensure data quality. With its intuitive, chainable API, you can quickly validate your data against
|
|
16
|
+
comprehensive quality checks and visualize results through stunning, interactive reports that make
|
|
17
|
+
data issues immediately actionable.
|
|
15
18
|
|
|
16
|
-
Whether you're a data scientist, data engineer, or analyst, Pointblank helps you catch data quality
|
|
19
|
+
Whether you're a data scientist, data engineer, or analyst, Pointblank helps you catch data quality
|
|
20
|
+
issues before they impact your analyses or downstream systems.
|
|
17
21
|
|
|
18
22
|
## Getting Started in 30 Seconds
|
|
19
23
|
|
|
@@ -116,6 +120,53 @@ validation.get_step_report(i=3).show("browser") # Get failing records from step
|
|
|
116
120
|
|
|
117
121
|
</div>
|
|
118
122
|
|
|
123
|
+
## Command Line Interface
|
|
124
|
+
|
|
125
|
+
Pointblank includes a powerful CLI utility called `pb` that lets you run data validation workflows
|
|
126
|
+
directly from the command line. Perfect for CI/CD pipelines, scheduled data quality checks, or quick
|
|
127
|
+
validation tasks.
|
|
128
|
+
|
|
129
|
+
<div style="text-align: center;">
|
|
130
|
+
|
|
131
|
+
{width=100%}
|
|
132
|
+
|
|
133
|
+
</div>
|
|
134
|
+
|
|
135
|
+
**Explore Your Data**
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
# Get a quick preview of your data
|
|
139
|
+
pb preview small_table
|
|
140
|
+
|
|
141
|
+
# Check for missing values
|
|
142
|
+
pb missing small_table
|
|
143
|
+
|
|
144
|
+
# Generate column summaries
|
|
145
|
+
pb scan small_table
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**Run Essential Validations**
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
# Check for duplicate rows
|
|
152
|
+
pb validate small_table --check rows-distinct
|
|
153
|
+
|
|
154
|
+
# Verify no null values
|
|
155
|
+
pb validate small_table --check col-vals-not-null --column a
|
|
156
|
+
|
|
157
|
+
# Extract failing data for debugging
|
|
158
|
+
pb validate small_table --check col-vals-gt --column a --value 5 --show-extract
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
**Integrate with CI/CD**
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
# Use exit codes for automation (0 = pass, 1 = fail)
|
|
165
|
+
pb validate small_table --check rows-distinct && echo "✅ Quality checks passed"
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Learn more in our [CLI documentation](https://posit-dev.github.io/pointblank/user-guide/cli.html).
|
|
169
|
+
|
|
119
170
|
## Join the Community
|
|
120
171
|
|
|
121
172
|
We'd love to hear from you! Connect with us:
|
|
@@ -156,7 +207,10 @@ pip install "pointblank[sqlite]" # Install Pointblank with Ibis + SQLite
|
|
|
156
207
|
|
|
157
208
|
## Technical Details
|
|
158
209
|
|
|
159
|
-
Pointblank uses [Narwhals](https://github.com/narwhals-dev/narwhals) to work with Polars and Pandas
|
|
210
|
+
Pointblank uses [Narwhals](https://github.com/narwhals-dev/narwhals) to work with Polars and Pandas
|
|
211
|
+
DataFrames, and integrates with [Ibis](https://github.com/ibis-project/ibis) for database and file
|
|
212
|
+
format support. This architecture provides a consistent API for validating tabular data from various
|
|
213
|
+
sources.
|
|
160
214
|
|
|
161
215
|
## Contributing to Pointblank
|
|
162
216
|
|
|
@@ -181,7 +235,8 @@ We're actively working on enhancing Pointblank with:
|
|
|
181
235
|
7. Expanded backend support and certification
|
|
182
236
|
8. High-quality documentation and examples
|
|
183
237
|
|
|
184
|
-
If you have any ideas for features or improvements, don't hesitate to share them with us! We are
|
|
238
|
+
If you have any ideas for features or improvements, don't hesitate to share them with us! We are
|
|
239
|
+
always looking for ways to make Pointblank better.
|
|
185
240
|
|
|
186
241
|
## Code of Conduct
|
|
187
242
|
|