pointblank 0.9.5__tar.gz → 0.10.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pointblank-0.9.5 → pointblank-0.10.0}/.github/workflows/ci-docs.yaml +5 -1
- {pointblank-0.9.5 → pointblank-0.10.0}/.github/workflows/ci-tests.yaml +2 -6
- {pointblank-0.9.5 → pointblank-0.10.0}/.gitignore +3 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/Makefile +1 -1
- {pointblank-0.9.5 → pointblank-0.10.0}/PKG-INFO +6 -3
- {pointblank-0.9.5 → pointblank-0.10.0}/README.md +2 -1
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/_extensions/machow/interlinks/interlinks.lua +183 -26
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/_quarto.yml +10 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/assets/pointblank_logo.svg +160 -12
- pointblank-0.10.0/docs/assets/posit-logo-black.svg +1 -0
- pointblank-0.10.0/docs/blog/lets-workshop-together/index.qmd +35 -0
- pointblank-0.10.0/docs/blog/overhauled-user-guide/advanced-in-sidebar.png +0 -0
- pointblank-0.10.0/docs/blog/overhauled-user-guide/breadth-and-depth.png +0 -0
- pointblank-0.10.0/docs/blog/overhauled-user-guide/explanation-of-visual.png +0 -0
- pointblank-0.10.0/docs/blog/overhauled-user-guide/index.qmd +154 -0
- pointblank-0.10.0/docs/blog/overhauled-user-guide/links-in-guide.png +0 -0
- pointblank-0.10.0/docs/blog/overhauled-user-guide/segments.png +0 -0
- pointblank-0.10.0/docs/blog/overhauled-user-guide/step-report.png +0 -0
- pointblank-0.10.0/docs/blog/overhauled-user-guide/validation-three-things.png +0 -0
- pointblank-0.10.0/docs/blog/validation-libs-2025/index.qmd +726 -0
- pointblank-0.10.0/docs/demos/07-validation-with-actions/index.qmd +115 -0
- pointblank-0.10.0/docs/demos/08-validation-with-final-actions/index.qmd +113 -0
- pointblank-0.10.0/docs/demos/check-for-freshness/index.qmd +87 -0
- pointblank-0.10.0/docs/demos/custom-validation-specially/index.qmd +93 -0
- pointblank-0.10.0/docs/demos/img/validation_with_actions.png +0 -0
- pointblank-0.10.0/docs/demos/img/validation_with_final_actions.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/index.qmd +26 -0
- pointblank-0.10.0/docs/scripts/post-render.py +365 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/styles.css +63 -25
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/user-guide/actions.qmd +33 -57
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/user-guide/assertions.qmd +32 -49
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/user-guide/briefs.qmd +56 -77
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/user-guide/col-summary-tbl.qmd +9 -11
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/user-guide/column-selection-patterns.qmd +31 -47
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/user-guide/draft-validation.qmd +43 -70
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/user-guide/expressions.qmd +19 -23
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/user-guide/extracts.qmd +61 -67
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/user-guide/index.qmd +10 -14
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/user-guide/installation.qmd +3 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/user-guide/missing-vals-tbl.qmd +7 -10
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/user-guide/preprocessing.qmd +27 -12
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/user-guide/preview.qmd +13 -20
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/user-guide/schema-validation.qmd +49 -53
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/user-guide/segmentation.qmd +32 -26
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/user-guide/step-reports.qmd +30 -34
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/user-guide/sundering.qmd +40 -47
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/user-guide/thresholds.qmd +3 -4
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/user-guide/validation-methods.qmd +48 -76
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/user-guide/validation-overview.qmd +4 -8
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/__init__.py +4 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/_constants.py +6 -0
- pointblank-0.10.0/pointblank/_datascan_utils.py +65 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/_utils.py +128 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/_utils_html.py +40 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/actions.py +3 -3
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/assistant.py +1 -3
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/column.py +4 -4
- pointblank-0.10.0/pointblank/compare.py +27 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/data/api-docs.txt +769 -138
- pointblank-0.10.0/pointblank/datascan.py +570 -0
- pointblank-0.10.0/pointblank/scan_profile.py +321 -0
- pointblank-0.10.0/pointblank/scan_profile_stats.py +180 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/schema.py +14 -3
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/thresholds.py +2 -2
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/validate.py +1594 -207
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank.egg-info/PKG-INFO +6 -3
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank.egg-info/SOURCES.txt +39 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank.egg-info/requires.txt +4 -1
- {pointblank-0.9.5 → pointblank-0.10.0}/pyproject.toml +13 -7
- pointblank-0.10.0/tests/tbl_files/parquet_data/data_a.parquet +0 -0
- pointblank-0.10.0/tests/tbl_files/parquet_data/data_b.parquet +0 -0
- pointblank-0.10.0/tests/tbl_files/parquet_data/subdir/nested_data.parquet +0 -0
- pointblank-0.10.0/tests/tbl_files/partitioned_sales/status=cancelled/0.parquet +0 -0
- pointblank-0.10.0/tests/tbl_files/partitioned_sales/status=delivered/0.parquet +0 -0
- pointblank-0.10.0/tests/tbl_files/partitioned_sales/status=pending/0.parquet +0 -0
- pointblank-0.10.0/tests/tbl_files/partitioned_sales/status=returned/0.parquet +0 -0
- pointblank-0.10.0/tests/tbl_files/partitioned_sales/status=shipped/0.parquet +0 -0
- pointblank-0.10.0/tests/tbl_files/partitioned_small_table/f=high/0.parquet +0 -0
- pointblank-0.10.0/tests/tbl_files/partitioned_small_table/f=low/0.parquet +0 -0
- pointblank-0.10.0/tests/tbl_files/partitioned_small_table/f=mid/0.parquet +0 -0
- pointblank-0.10.0/tests/tbl_files/taxi_part_01.parquet +0 -0
- pointblank-0.10.0/tests/tbl_files/taxi_part_02.parquet +0 -0
- pointblank-0.10.0/tests/tbl_files/taxi_part_03.parquet +0 -0
- pointblank-0.10.0/tests/tbl_files/taxi_sample.parquet +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/test__utils.py +19 -0
- pointblank-0.10.0/tests/test_compare.py +15 -0
- pointblank-0.10.0/tests/test_datascan.py +289 -0
- pointblank-0.10.0/tests/test_meta.py +31 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/test_schema.py +35 -15
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/test_validate.py +4965 -2033
- pointblank-0.9.5/pointblank/datascan.py +0 -1211
- pointblank-0.9.5/tests/test_datascan.py +0 -251
- {pointblank-0.9.5 → pointblank-0.10.0}/.github/CODE_OF_CONDUCT.md +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/.github/ISSUE_TEMPLATE/bug.md +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/.github/ISSUE_TEMPLATE/feature.md +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/.github/ISSUE_TEMPLATE/question.md +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/.github/SECURITY.md +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/.github/workflows/code-checks.yaml +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/.pre-commit-config.yaml +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/.vscode/settings.json +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/CITATION.cff +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/CONTRIBUTING.md +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/LICENSE +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/data_raw/game_revenue.csv +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/data_raw/global_sales.csv +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/data_raw/global_sales_dataset.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/data_raw/nycflights.csv +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/data_raw/small_table.csv +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/data_raw/x-01-parquet.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/data_raw/x-02-duckdb.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/data_raw/x-03-sqlite.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/.gitignore +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/_extensions/machow/interlinks/.gitignore +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/_extensions/machow/interlinks/_extension.yml +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/assets/fav-logo.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/assets/pointblank-sales-data.de.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/assets/pointblank-sales-data.es.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/assets/pointblank-sales-data.fr.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/assets/pointblank-sales-data.it.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/assets/pointblank-sales-data.ja.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/assets/pointblank-sales-data.ko.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/assets/pointblank-sales-data.nl.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/assets/pointblank-sales-data.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/assets/pointblank-sales-data.pt-BR.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/assets/pointblank-sales-data.zh-CN.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/assets/pointblank-step-report.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/assets/pointblank-tabular-report.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/assets/validation-table-diagram.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/assets/validation-test-units.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/blog/all-about-actions/index.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/blog/index.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/blog/intro-pointblank/index.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/blog/intro-pointblank/pointblank-localized.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/blog/intro-pointblank/step_report.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/blog/intro-pointblank/validation-table-diagram.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/blog/intro-pointblank/validation-test-units.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/blog/pointblank_blog_logo.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/01-starter/index.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/02-advanced/index.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/03-data-extracts/index.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/04-sundered-data/index.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/05-step-report-column-check/index.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/06-step-report-schema-check/index.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/apply-checks-to-several-columns/index.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/check-row-column-counts/index.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/checks-for-missing/index.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/col-vals-custom-expr/index.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/column-selector-functions/index.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/comparisons-across-columns/index.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/data/game_revenue.parquet +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/expect-no-duplicate-rows/index.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/expect-no-duplicate-values/index.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/expect-text-pattern/index.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/failure-thresholds/index.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/img/advanced_validation.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/img/data_extracts.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/img/starter_validation.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/img/step_report_column_schema.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/img/step_report_column_values.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/img/sundered_data.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/mutate-table-in-step/index.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/numeric-comparisons/index.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/schema-check/index.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/set-membership/index.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/demos/using-parquet-data/index.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/index.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/docs/user-guide/langs.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/images/pointblank-tabular-report.png +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/images/pointblank_logo.svg +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/_constants_docs.py +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/_constants_translations.py +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/_interrogation.py +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/_typing.py +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/_utils_check_args.py +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/data/game_revenue-duckdb.zip +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/data/game_revenue.zip +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/data/global_sales-duckdb.zip +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/data/global_sales.zip +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/data/nycflights-duckdb.zip +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/data/nycflights.zip +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/data/polars-api-docs.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/data/small_table-duckdb.zip +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/data/small_table.zip +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/draft.py +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank/tf.py +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank.egg-info/dependency_links.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/pointblank.egg-info/top_level.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/setup.cfg +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/__init__.py +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/manual_tests/schema_step_reports.qmd +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_datascan/test_col_summary_tbl_duckdb_snap/col_summary_html_duckdb.html +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_datascan/test_col_summary_tbl_pandas_snap/col_summary_html_pandas.html +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_datascan/test_col_summary_tbl_polars_snap/col_summary_html_polars.html +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_comprehensive_validation_report_html_snap/comprehensive_validation_report.html +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_01/schema_step_report_01-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_01_1/schema_step_report_01-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_01_2/schema_step_report_01-2.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_01_3/schema_step_report_01-3.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_02/schema_step_report_02-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_02_1/schema_step_report_02-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_02_2/schema_step_report_02-2.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_02_3/schema_step_report_02-3.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_03/schema_step_report_03-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_03_1/schema_step_report_03-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_03_2/schema_step_report_03-2.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_03_3/schema_step_report_03-3.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_04/schema_step_report_04-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_05/schema_step_report_05-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_06/schema_step_report_06-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_07/schema_step_report_07-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_08/schema_step_report_08-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_09/schema_step_report_09-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_10/schema_step_report_10-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_11/schema_step_report_11-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_12/schema_step_report_12-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_13/schema_step_report_13-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_14/schema_step_report_14-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_14_1/schema_step_report_14-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_15/schema_step_report_15-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_15_1/schema_step_report_15-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_16/schema_step_report_16-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_16_1/schema_step_report_16-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_17/schema_step_report_17-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_17_1/schema_step_report_17-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_18/schema_step_report_18-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_18_1/schema_step_report_18-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_19/schema_step_report_19-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_19_1/schema_step_report_19-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_20/schema_step_report_20-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_20_1/schema_step_report_20-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_21/schema_step_report_21-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_21_1/schema_step_report_21-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_21_2/schema_step_report_21-2.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_21_3/schema_step_report_21-3.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_22/schema_step_report_22-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_22_1/schema_step_report_22-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_23/schema_step_report_23-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_23_1/schema_step_report_23-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_24/schema_step_report_24-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_24_1/schema_step_report_24-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_24_2/schema_step_report_24-2.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_24_3/schema_step_report_24-3.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_25/schema_step_report_25-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_25_1/schema_step_report_25-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_25_2/schema_step_report_25-2.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_25_3/schema_step_report_25-3.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_25_4/schema_step_report_25-4.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_step_report_25_5/schema_step_report_25-5.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_01-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_02-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_03-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_04-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_05-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_06-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_07-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_08-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_09-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_10-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_11-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_12-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_13-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_14-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_14-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_15-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_15-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_16-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_16-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_17-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_17-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_18-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_18-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_19-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_19-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_20-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_20-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_21-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_21-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_21-2.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_21-3.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_22-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_22-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_23-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_23-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_24-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_24-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_24-2.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_24-3.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-0.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-1.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-2.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-3.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-4.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-5.txt +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_no_interrogation_validation_report_html_snap/no_interrogation_validation_report.html +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_no_steps_validation_report_html_snap/no_steps_validation_report.html +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_briefs_global_local_html/validation_report_briefs_global_local.html +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_briefs_html/validation_report_with_briefs.html +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_duckdb/validation_report.json +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_parquet/validation_report.json +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_pd/validation_report.json +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_pl/validation_report.json +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_sqlite/validation_report.json +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_duckdb/validation_report.json +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_parquet/validation_report.json +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_pd/validation_report.json +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_pl/validation_report.json +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_sqlite/validation_report.json +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_segments_html/duckdb/validation_report_segments.html +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_segments_html/pandas/validation_report_segments.html +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_segments_html/polars/validation_report_segments.html +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_segments_with_pre_html/polars/validation_report_segments_with_pre.html +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_segments_with_pre_html/validation_report_segments_with_pre.html +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_duckdb/validation_report.json +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_parquet/validation_report.json +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_pd/validation_report.json +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_pl/validation_report.json +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_sqlite/validation_report.json +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_with_selector_helper_functions_no_match_snap/tbl_memtable_variable_names/selector_helper_functions_no_match.html +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_with_selector_helper_functions_no_match_snap/tbl_pd_variable_names/selector_helper_functions_no_match.html +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_with_selector_helper_functions_no_match_snap/tbl_pl_variable_names/selector_helper_functions_no_match.html +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/tbl_files/tbl_dates_times_text.ddb +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/tbl_files/tbl_dates_times_text.parquet +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/tbl_files/tbl_dates_times_text.sqlite +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/tbl_files/tbl_true_dates_times.ddb +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/tbl_files/tbl_xyz.ddb +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/tbl_files/tbl_xyz.parquet +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/tbl_files/tbl_xyz.sqlite +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/tbl_files/tbl_xyz_missing.ddb +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/tbl_files/tbl_xyz_missing.parquet +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/tbl_files/tbl_xyz_missing.sqlite +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/test__interrogation.py +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/test__utils_check_args.py +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/test_actions.py +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/test_assistant.py +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/test_column.py +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/test_draft.py +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/test_tf.py +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/tests/test_thresholds.py +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/translations/README.ar.md +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/translations/README.de.md +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/translations/README.es.md +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/translations/README.fr.md +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/translations/README.hi.md +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/translations/README.it.md +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/translations/README.ja.md +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/translations/README.ko.md +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/translations/README.nl.md +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/translations/README.pt-BR.md +0 -0
- {pointblank-0.9.5 → pointblank-0.10.0}/translations/README.zh-CN.md +0 -0
|
@@ -14,13 +14,17 @@ jobs:
|
|
|
14
14
|
- uses: actions/checkout@v4
|
|
15
15
|
- uses: actions/setup-python@v5
|
|
16
16
|
with:
|
|
17
|
-
python-version: "3.
|
|
17
|
+
python-version: "3.11"
|
|
18
18
|
- name: Install dependencies
|
|
19
19
|
run: |
|
|
20
20
|
python -m pip install -e .
|
|
21
21
|
python -m pip install ".[docs]"
|
|
22
22
|
python -m pip install ibis-framework[duckdb]
|
|
23
23
|
python -m pip install pins
|
|
24
|
+
python -m pip install pandera
|
|
25
|
+
python -m pip install patito
|
|
26
|
+
python -m pip install validoopsie
|
|
27
|
+
python -m pip install dataframely
|
|
24
28
|
- name: Set up Quarto
|
|
25
29
|
uses: quarto-dev/quarto-actions/setup@v2
|
|
26
30
|
- name: Build docs
|
|
@@ -24,12 +24,8 @@ jobs:
|
|
|
24
24
|
uses: actions/setup-python@v5
|
|
25
25
|
with:
|
|
26
26
|
python-version: ${{ matrix.python-version }}
|
|
27
|
-
- name: Install
|
|
28
|
-
|
|
29
|
-
pip install -e '.[dev]'
|
|
30
|
-
- name: Install test dependencies
|
|
31
|
-
run: |
|
|
32
|
-
pip install pytest pytest-rerunfailures pytest-randomly pytest-xdist pytest-cov pytest-snapshot pandas polars ibis-framework[duckdb,mysql,postgres,sqlite]>=9.5.0 chatlas requests shiny
|
|
27
|
+
- name: Install uv
|
|
28
|
+
uses: astral-sh/setup-uv@v5
|
|
33
29
|
- name: pytest unit tests
|
|
34
30
|
run: |
|
|
35
31
|
make test
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pointblank
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.10.0
|
|
4
4
|
Summary: Find out if your data is what you think it is.
|
|
5
5
|
Author-email: Richard Iannone <riannone@me.com>
|
|
6
6
|
License: MIT License
|
|
@@ -43,7 +43,7 @@ License-File: LICENSE
|
|
|
43
43
|
Requires-Dist: commonmark>=0.9.1
|
|
44
44
|
Requires-Dist: importlib-metadata
|
|
45
45
|
Requires-Dist: great_tables>=0.17.0
|
|
46
|
-
Requires-Dist: narwhals>=1.
|
|
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
49
|
Provides-Extra: pd
|
|
@@ -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
|
|
@@ -82,7 +84,7 @@ Dynamic: license-file
|
|
|
82
84
|
|
|
83
85
|
<div align="center">
|
|
84
86
|
|
|
85
|
-
<a href="https://posit-dev.github.io/pointblank/"><img src="https://posit-dev.github.io/pointblank/assets/pointblank_logo.svg" width="
|
|
87
|
+
<a href="https://posit-dev.github.io/pointblank/"><img src="https://posit-dev.github.io/pointblank/assets/pointblank_logo.svg" width="85%"/></a>
|
|
86
88
|
|
|
87
89
|
_Data validation made beautiful and powerful_
|
|
88
90
|
|
|
@@ -96,6 +98,7 @@ _Data validation made beautiful and powerful_
|
|
|
96
98
|
[](https://codecov.io/gh/posit-dev/pointblank)
|
|
97
99
|
[](https://www.repostatus.org/#active)
|
|
98
100
|
[](https://posit-dev.github.io/pointblank/)
|
|
101
|
+
[](https://deepwiki.com/posit-dev/pointblank)
|
|
99
102
|
|
|
100
103
|
[](https://github.com/posit-dev/pointblank/graphs/contributors)
|
|
101
104
|
[](https://discord.com/invite/YH7CybCNCQ)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-
<a href="https://posit-dev.github.io/pointblank/"><img src="https://posit-dev.github.io/pointblank/assets/pointblank_logo.svg" width="
|
|
3
|
+
<a href="https://posit-dev.github.io/pointblank/"><img src="https://posit-dev.github.io/pointblank/assets/pointblank_logo.svg" width="85%"/></a>
|
|
4
4
|
|
|
5
5
|
_Data validation made beautiful and powerful_
|
|
6
6
|
|
|
@@ -14,6 +14,7 @@ _Data validation made beautiful and powerful_
|
|
|
14
14
|
[](https://codecov.io/gh/posit-dev/pointblank)
|
|
15
15
|
[](https://www.repostatus.org/#active)
|
|
16
16
|
[](https://posit-dev.github.io/pointblank/)
|
|
17
|
+
[](https://deepwiki.com/posit-dev/pointblank)
|
|
17
18
|
|
|
18
19
|
[](https://github.com/posit-dev/pointblank/graphs/contributors)
|
|
19
20
|
[](https://discord.com/invite/YH7CybCNCQ)
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
local inventory = {} -- sphinx inventories
|
|
2
|
+
local autolink -- set in Meta
|
|
3
|
+
local autolink_ignore_token = "qd-no-link"
|
|
4
|
+
|
|
5
|
+
local function _debug_log(text, debug)
|
|
6
|
+
if debug then
|
|
7
|
+
quarto.log.warning(text)
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
|
|
1
11
|
local function read_inv_text(filename)
|
|
2
12
|
-- read file
|
|
3
13
|
local file = io.open(filename, "r")
|
|
@@ -11,16 +21,16 @@ local function read_inv_text(filename)
|
|
|
11
21
|
local project = str:match("# Project: (%S+)")
|
|
12
22
|
local version = str:match("# Version: (%S+)")
|
|
13
23
|
|
|
14
|
-
local data = {project = project, version = version, items = {}}
|
|
24
|
+
local data = { project = project, version = version, items = {} }
|
|
15
25
|
|
|
16
26
|
local ptn_data =
|
|
17
27
|
"^" ..
|
|
18
|
-
"(.-)%s+" ..
|
|
19
|
-
"([%S:]-):" ..
|
|
20
|
-
"([%S]+)%s+" ..
|
|
21
|
-
"(%-?%d+)%s+" ..
|
|
22
|
-
"(%S*)%s+" ..
|
|
23
|
-
"(.-)\r?$"
|
|
28
|
+
"(.-)%s+" .. -- name
|
|
29
|
+
"([%S:]-):" .. -- domain
|
|
30
|
+
"([%S]+)%s+" .. -- role
|
|
31
|
+
"(%-?%d+)%s+" .. -- priority
|
|
32
|
+
"(%S*)%s+" .. -- uri
|
|
33
|
+
"(.-)\r?$" -- dispname
|
|
24
34
|
|
|
25
35
|
|
|
26
36
|
-- Iterate through each line in the file content
|
|
@@ -48,7 +58,6 @@ local function read_inv_text(filename)
|
|
|
48
58
|
end
|
|
49
59
|
|
|
50
60
|
local function read_json(filename)
|
|
51
|
-
|
|
52
61
|
local file = io.open(filename, "r")
|
|
53
62
|
if file == nil then
|
|
54
63
|
return nil
|
|
@@ -66,7 +75,6 @@ local function read_inv_text_or_json(base_name)
|
|
|
66
75
|
-- TODO: refactors so we don't just close the file immediately
|
|
67
76
|
io.close(file)
|
|
68
77
|
json = read_inv_text(base_name .. ".txt")
|
|
69
|
-
|
|
70
78
|
else
|
|
71
79
|
json = read_json(base_name .. ".json")
|
|
72
80
|
end
|
|
@@ -74,10 +82,8 @@ local function read_inv_text_or_json(base_name)
|
|
|
74
82
|
return json
|
|
75
83
|
end
|
|
76
84
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
local function lookup(search_object)
|
|
80
|
-
|
|
85
|
+
-- each inventory has entries: project, version, items
|
|
86
|
+
local function lookup(search_object, debug)
|
|
81
87
|
local results = {}
|
|
82
88
|
for _, inv in ipairs(inventory) do
|
|
83
89
|
for _, item in ipairs(inv.items) do
|
|
@@ -98,7 +104,7 @@ local function lookup(search_object)
|
|
|
98
104
|
goto continue
|
|
99
105
|
else
|
|
100
106
|
if search_object.domain or item.domain == "py" then
|
|
101
|
-
|
|
107
|
+
table.insert(results, item)
|
|
102
108
|
end
|
|
103
109
|
|
|
104
110
|
goto continue
|
|
@@ -112,23 +118,24 @@ local function lookup(search_object)
|
|
|
112
118
|
return results[1]
|
|
113
119
|
end
|
|
114
120
|
if #results > 1 then
|
|
115
|
-
|
|
121
|
+
_debug_log("Found multiple matches for " .. search_object.name .. ", using the first match.", debug)
|
|
116
122
|
return results[1]
|
|
117
123
|
end
|
|
118
124
|
if #results == 0 then
|
|
119
|
-
|
|
125
|
+
_debug_log("Found no matches for object:\n", debug)
|
|
126
|
+
_debug_log(search_object, debug)
|
|
120
127
|
end
|
|
121
128
|
|
|
122
129
|
return nil
|
|
123
130
|
end
|
|
124
131
|
|
|
125
|
-
local function mysplit
|
|
132
|
+
local function mysplit(inputstr, sep)
|
|
126
133
|
if sep == nil then
|
|
127
|
-
|
|
134
|
+
sep = "%s"
|
|
128
135
|
end
|
|
129
|
-
local t={}
|
|
130
|
-
for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
|
|
131
|
-
|
|
136
|
+
local t = {}
|
|
137
|
+
for str in string.gmatch(inputstr, "([^" .. sep .. "]+)") do
|
|
138
|
+
table.insert(t, str)
|
|
132
139
|
end
|
|
133
140
|
return t
|
|
134
141
|
end
|
|
@@ -140,7 +147,84 @@ local function normalize_role(role)
|
|
|
140
147
|
return role
|
|
141
148
|
end
|
|
142
149
|
|
|
143
|
-
local function
|
|
150
|
+
local function copy_replace(original, key, new_value)
|
|
151
|
+
-- First create a copy of the table
|
|
152
|
+
local copy = {}
|
|
153
|
+
for k, v in pairs(original) do
|
|
154
|
+
copy[k] = v
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
-- Then replace the specific value
|
|
158
|
+
copy[key] = new_value
|
|
159
|
+
|
|
160
|
+
return copy
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
local function contains(list, value)
|
|
164
|
+
-- check if list contains a value
|
|
165
|
+
for i, v in ipairs(list) do
|
|
166
|
+
if v == value then
|
|
167
|
+
return true
|
|
168
|
+
end
|
|
169
|
+
end
|
|
170
|
+
return false
|
|
171
|
+
end
|
|
172
|
+
|
|
173
|
+
local function flatten_alias_list(list)
|
|
174
|
+
-- flatten a list of lists into a single list,
|
|
175
|
+
-- where each entry has the form {key, subvalue}}
|
|
176
|
+
-- e.g.
|
|
177
|
+
-- input: {key1 = {subval1, subval2}, key2 = subval3}
|
|
178
|
+
-- output: {{key1, subval1}, {key1, subval2}, {key2, subval3}}
|
|
179
|
+
local flat = {}
|
|
180
|
+
for key, sublist in pairs(list) do
|
|
181
|
+
if type(sublist) == "table" then
|
|
182
|
+
for _, subvalue in ipairs(sublist) do
|
|
183
|
+
table.insert(flat, { key, subvalue })
|
|
184
|
+
end
|
|
185
|
+
else
|
|
186
|
+
table.insert(flat, { key, sublist })
|
|
187
|
+
end
|
|
188
|
+
end
|
|
189
|
+
return flat
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
local function prepend_aliases(flat_aliases)
|
|
193
|
+
-- if str up to first period starts with an alias, then
|
|
194
|
+
-- replace it with the full name.
|
|
195
|
+
-- For example, suppose we have the alias quartodoc -> qd
|
|
196
|
+
-- e.g. qd.Auto -> quartodoc.Auto
|
|
197
|
+
-- e.g. qda.Auto -> qda.Auto
|
|
198
|
+
|
|
199
|
+
local new_inv = {}
|
|
200
|
+
new_inv["project"] = "aliases"
|
|
201
|
+
new_inv["version"] = "0.0.9999" -- I have not begun to think about version...
|
|
202
|
+
new_inv["items"] = {}
|
|
203
|
+
|
|
204
|
+
for _, name_pair in pairs(flat_aliases) do
|
|
205
|
+
local full = name_pair[1]
|
|
206
|
+
local alias = name_pair[2]
|
|
207
|
+
for _, inv in ipairs(inventory) do
|
|
208
|
+
for _, item in ipairs(inv.items) do
|
|
209
|
+
if string.sub(item.name, 1, string.len(full) + 1) == (full .. ".") then
|
|
210
|
+
-- replace full .. "." with alias .. "."
|
|
211
|
+
local prefix
|
|
212
|
+
if not alias or pandoc.utils.stringify(alias) == "" then
|
|
213
|
+
prefix = ""
|
|
214
|
+
else
|
|
215
|
+
-- TODO: ensure alias doesn't end with period
|
|
216
|
+
prefix = pandoc.utils.stringify(alias) .. "."
|
|
217
|
+
end
|
|
218
|
+
local new_name = prefix .. string.sub(item.name, string.len(full) + 2)
|
|
219
|
+
table.insert(new_inv.items, copy_replace(item, "name", new_name))
|
|
220
|
+
end
|
|
221
|
+
end
|
|
222
|
+
end
|
|
223
|
+
end
|
|
224
|
+
table.insert(inventory, new_inv)
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
local function build_search_object(str, debug)
|
|
144
228
|
local starts_with_colon = str:sub(1, 1) == ":"
|
|
145
229
|
local search = {}
|
|
146
230
|
if starts_with_colon then
|
|
@@ -163,7 +247,7 @@ local function build_search_object(str)
|
|
|
163
247
|
search.role = normalize_role(t[3])
|
|
164
248
|
search.name = t[4]:match("%%60(.*)%%60")
|
|
165
249
|
else
|
|
166
|
-
|
|
250
|
+
_debug_log("couldn't parse this link: " .. str, debug)
|
|
167
251
|
return {}
|
|
168
252
|
end
|
|
169
253
|
else
|
|
@@ -171,7 +255,7 @@ local function build_search_object(str)
|
|
|
171
255
|
end
|
|
172
256
|
|
|
173
257
|
if search.name == nil then
|
|
174
|
-
|
|
258
|
+
_debug_log("couldn't parse this link: " .. str, debug)
|
|
175
259
|
return {}
|
|
176
260
|
end
|
|
177
261
|
|
|
@@ -220,7 +304,60 @@ function Link(link)
|
|
|
220
304
|
return link
|
|
221
305
|
end
|
|
222
306
|
|
|
223
|
-
|
|
307
|
+
function Code(code)
|
|
308
|
+
if (not autolink) or contains(code.classes, autolink_ignore_token) then
|
|
309
|
+
return code
|
|
310
|
+
end
|
|
311
|
+
|
|
312
|
+
-- allow text for lookup to be simple function call
|
|
313
|
+
-- and also support shortened syntax (~~ prefix)
|
|
314
|
+
-- e.g. my_func() -> my_func
|
|
315
|
+
-- e.g. a.b.call() -> a.b.call
|
|
316
|
+
-- e.g. ~~my_func() -> my_func
|
|
317
|
+
local text
|
|
318
|
+
|
|
319
|
+
-- detect and remove shortening syntax (~~ prefix)
|
|
320
|
+
local is_shortened = code.text:sub(1, 2) == "~~"
|
|
321
|
+
local is_short_dot = code.text:sub(1, 3) == "~~."
|
|
322
|
+
local unprefixed = code.text:gsub("^~~%.?", "")
|
|
323
|
+
if unprefixed:match("%(%s*%)") then
|
|
324
|
+
text = unprefixed:gsub("%(%s*%)", "")
|
|
325
|
+
else
|
|
326
|
+
text = unprefixed
|
|
327
|
+
end
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
-- return code.attr
|
|
331
|
+
local search = build_search_object("%60" .. text .. "%60")
|
|
332
|
+
local item = lookup(search)
|
|
333
|
+
|
|
334
|
+
-- determine replacement, used if no link text specified ----
|
|
335
|
+
if item == nil then
|
|
336
|
+
code.text = unprefixed
|
|
337
|
+
return code
|
|
338
|
+
end
|
|
339
|
+
|
|
340
|
+
-- shorten text if shortening syntax used
|
|
341
|
+
if is_shortened then
|
|
342
|
+
-- keep text after last period (.)
|
|
343
|
+
local split = mysplit(unprefixed, ".")
|
|
344
|
+
if #split > 0 then
|
|
345
|
+
local new_name = split[#split]
|
|
346
|
+
if is_short_dot then
|
|
347
|
+
-- if shortened with dot, keep the dot
|
|
348
|
+
new_name = "." .. new_name
|
|
349
|
+
end
|
|
350
|
+
code.text = new_name
|
|
351
|
+
else
|
|
352
|
+
code.text = unprefixed
|
|
353
|
+
end
|
|
354
|
+
end
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
return pandoc.Link(code, item.uri:gsub("%$$", search.name))
|
|
358
|
+
end
|
|
359
|
+
|
|
360
|
+
local function fixup_json(json, prefix, attach)
|
|
224
361
|
for _, item in ipairs(json.items) do
|
|
225
362
|
item.uri = prefix .. item.uri
|
|
226
363
|
end
|
|
@@ -232,6 +369,23 @@ return {
|
|
|
232
369
|
Meta = function(meta)
|
|
233
370
|
local json
|
|
234
371
|
local prefix
|
|
372
|
+
local aliases
|
|
373
|
+
|
|
374
|
+
-- set globals from config
|
|
375
|
+
if meta.interlinks and meta.interlinks.autolink then
|
|
376
|
+
autolink = true
|
|
377
|
+
else
|
|
378
|
+
autolink = false
|
|
379
|
+
end
|
|
380
|
+
|
|
381
|
+
local aliases
|
|
382
|
+
if meta.interlinks and meta.interlinks.aliases then
|
|
383
|
+
aliases = meta.interlinks.aliases
|
|
384
|
+
else
|
|
385
|
+
aliases = {}
|
|
386
|
+
end
|
|
387
|
+
|
|
388
|
+
-- process sources
|
|
235
389
|
if meta.interlinks and meta.interlinks.sources then
|
|
236
390
|
for k, v in pairs(meta.interlinks.sources) do
|
|
237
391
|
local base_name = quarto.project.offset .. "/_inv/" .. k .. "_objects"
|
|
@@ -246,9 +400,12 @@ return {
|
|
|
246
400
|
if json ~= nil then
|
|
247
401
|
fixup_json(json, "/")
|
|
248
402
|
end
|
|
403
|
+
|
|
404
|
+
prepend_aliases(flatten_alias_list(aliases))
|
|
249
405
|
end
|
|
250
406
|
},
|
|
251
407
|
{
|
|
252
|
-
Link = Link
|
|
408
|
+
Link = Link,
|
|
409
|
+
Code = Code
|
|
253
410
|
}
|
|
254
411
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
project:
|
|
2
2
|
type: website
|
|
3
|
+
post-render: scripts/post-render.py
|
|
3
4
|
|
|
4
5
|
format:
|
|
5
6
|
html:
|
|
@@ -19,6 +20,9 @@ filters:
|
|
|
19
20
|
|
|
20
21
|
interlinks:
|
|
21
22
|
fast: true
|
|
23
|
+
autolink: true
|
|
24
|
+
aliases:
|
|
25
|
+
pointblank: [null, pb]
|
|
22
26
|
sources:
|
|
23
27
|
numpy:
|
|
24
28
|
url: https://numpy.org/doc/stable/
|
|
@@ -83,6 +87,9 @@ website:
|
|
|
83
87
|
- user-guide/preview.qmd
|
|
84
88
|
- user-guide/col-summary-tbl.qmd
|
|
85
89
|
- user-guide/missing-vals-tbl.qmd
|
|
90
|
+
page-footer:
|
|
91
|
+
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
|
+
right: "© 2024–2025 Posit Software, PBC."
|
|
86
93
|
|
|
87
94
|
html-table-processing: none
|
|
88
95
|
|
|
@@ -178,6 +185,7 @@ quartodoc:
|
|
|
178
185
|
- name: Validate.all_passed
|
|
179
186
|
- name: Validate.assert_passing
|
|
180
187
|
- name: Validate.assert_below_threshold
|
|
188
|
+
- name: Validate.above_threshold
|
|
181
189
|
- name: Validate.n
|
|
182
190
|
- name: Validate.n_passed
|
|
183
191
|
- name: Validate.n_failed
|
|
@@ -202,6 +210,8 @@ quartodoc:
|
|
|
202
210
|
- name: missing_vals_tbl
|
|
203
211
|
- name: assistant
|
|
204
212
|
- name: load_dataset
|
|
213
|
+
- name: get_data_path
|
|
214
|
+
- name: connect_to_table
|
|
205
215
|
- title: Utility Functions
|
|
206
216
|
desc: >
|
|
207
217
|
The *Utility Functions* group contains functions that are useful accessing metadata about
|