pointblank 0.9.6__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.6 → pointblank-0.10.0}/.github/workflows/ci-docs.yaml +5 -1
- {pointblank-0.9.6 → pointblank-0.10.0}/.github/workflows/ci-tests.yaml +2 -6
- {pointblank-0.9.6 → pointblank-0.10.0}/.gitignore +3 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/Makefile +1 -1
- {pointblank-0.9.6 → pointblank-0.10.0}/PKG-INFO +4 -3
- {pointblank-0.9.6 → pointblank-0.10.0}/README.md +2 -1
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/_extensions/machow/interlinks/interlinks.lua +183 -26
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/_quarto.yml +9 -0
- {pointblank-0.9.6 → 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/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.6 → pointblank-0.10.0}/docs/demos/index.qmd +26 -0
- pointblank-0.10.0/docs/scripts/post-render.py +365 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/styles.css +63 -25
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/user-guide/actions.qmd +33 -57
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/user-guide/assertions.qmd +32 -49
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/user-guide/briefs.qmd +56 -77
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/user-guide/col-summary-tbl.qmd +9 -11
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/user-guide/column-selection-patterns.qmd +31 -47
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/user-guide/draft-validation.qmd +43 -70
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/user-guide/expressions.qmd +19 -23
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/user-guide/extracts.qmd +61 -67
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/user-guide/index.qmd +10 -14
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/user-guide/missing-vals-tbl.qmd +7 -10
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/user-guide/preprocessing.qmd +27 -12
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/user-guide/preview.qmd +13 -20
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/user-guide/schema-validation.qmd +49 -53
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/user-guide/segmentation.qmd +32 -26
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/user-guide/step-reports.qmd +30 -34
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/user-guide/sundering.qmd +40 -47
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/user-guide/thresholds.qmd +3 -4
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/user-guide/validation-methods.qmd +48 -76
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/user-guide/validation-overview.qmd +4 -8
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank/__init__.py +4 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank/_constants.py +4 -0
- pointblank-0.10.0/pointblank/_datascan_utils.py +65 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank/_utils.py +126 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank/_utils_html.py +40 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank/assistant.py +1 -3
- pointblank-0.10.0/pointblank/compare.py +27 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank/data/api-docs.txt +518 -125
- 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.6 → pointblank-0.10.0}/pointblank/schema.py +14 -3
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank/validate.py +1425 -202
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank.egg-info/PKG-INFO +4 -3
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank.egg-info/SOURCES.txt +31 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank.egg-info/requires.txt +1 -1
- {pointblank-0.9.6 → pointblank-0.10.0}/pyproject.toml +12 -5
- 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.6 → 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.6 → pointblank-0.10.0}/tests/test_schema.py +35 -15
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/test_validate.py +2900 -119
- pointblank-0.9.6/pointblank/datascan.py +0 -1211
- pointblank-0.9.6/tests/test_datascan.py +0 -251
- {pointblank-0.9.6 → pointblank-0.10.0}/.github/CODE_OF_CONDUCT.md +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/.github/ISSUE_TEMPLATE/bug.md +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/.github/ISSUE_TEMPLATE/feature.md +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/.github/ISSUE_TEMPLATE/question.md +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/.github/SECURITY.md +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/.github/workflows/code-checks.yaml +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/.pre-commit-config.yaml +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/.vscode/settings.json +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/CITATION.cff +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/CONTRIBUTING.md +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/LICENSE +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/data_raw/game_revenue.csv +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/data_raw/global_sales.csv +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/data_raw/global_sales_dataset.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/data_raw/nycflights.csv +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/data_raw/small_table.csv +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/data_raw/x-01-parquet.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/data_raw/x-02-duckdb.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/data_raw/x-03-sqlite.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/.gitignore +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/_extensions/machow/interlinks/.gitignore +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/_extensions/machow/interlinks/_extension.yml +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/assets/fav-logo.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/assets/pointblank-sales-data.de.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/assets/pointblank-sales-data.es.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/assets/pointblank-sales-data.fr.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/assets/pointblank-sales-data.it.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/assets/pointblank-sales-data.ja.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/assets/pointblank-sales-data.ko.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/assets/pointblank-sales-data.nl.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/assets/pointblank-sales-data.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/assets/pointblank-sales-data.pt-BR.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/assets/pointblank-sales-data.zh-CN.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/assets/pointblank-step-report.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/assets/pointblank-tabular-report.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/assets/validation-table-diagram.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/assets/validation-test-units.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/blog/all-about-actions/index.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/blog/index.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/blog/intro-pointblank/index.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/blog/intro-pointblank/pointblank-localized.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/blog/intro-pointblank/step_report.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/blog/intro-pointblank/validation-table-diagram.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/blog/intro-pointblank/validation-test-units.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/blog/overhauled-user-guide/advanced-in-sidebar.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/blog/overhauled-user-guide/breadth-and-depth.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/blog/overhauled-user-guide/explanation-of-visual.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/blog/overhauled-user-guide/index.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/blog/overhauled-user-guide/links-in-guide.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/blog/overhauled-user-guide/segments.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/blog/overhauled-user-guide/step-report.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/blog/overhauled-user-guide/validation-three-things.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/blog/pointblank_blog_logo.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/01-starter/index.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/02-advanced/index.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/03-data-extracts/index.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/04-sundered-data/index.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/05-step-report-column-check/index.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/06-step-report-schema-check/index.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/apply-checks-to-several-columns/index.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/check-row-column-counts/index.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/checks-for-missing/index.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/col-vals-custom-expr/index.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/column-selector-functions/index.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/comparisons-across-columns/index.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/data/game_revenue.parquet +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/expect-no-duplicate-rows/index.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/expect-no-duplicate-values/index.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/expect-text-pattern/index.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/failure-thresholds/index.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/img/advanced_validation.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/img/data_extracts.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/img/starter_validation.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/img/step_report_column_schema.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/img/step_report_column_values.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/img/sundered_data.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/mutate-table-in-step/index.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/numeric-comparisons/index.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/schema-check/index.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/set-membership/index.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/demos/using-parquet-data/index.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/index.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/user-guide/installation.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/docs/user-guide/langs.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/images/pointblank-tabular-report.png +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/images/pointblank_logo.svg +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank/_constants_docs.py +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank/_constants_translations.py +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank/_interrogation.py +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank/_typing.py +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank/_utils_check_args.py +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank/actions.py +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank/column.py +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank/data/game_revenue-duckdb.zip +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank/data/game_revenue.zip +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank/data/global_sales-duckdb.zip +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank/data/global_sales.zip +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank/data/nycflights-duckdb.zip +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank/data/nycflights.zip +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank/data/polars-api-docs.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank/data/small_table-duckdb.zip +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank/data/small_table.zip +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank/draft.py +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank/tf.py +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank/thresholds.py +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank.egg-info/dependency_links.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/pointblank.egg-info/top_level.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/setup.cfg +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/__init__.py +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/manual_tests/schema_step_reports.qmd +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_datascan/test_col_summary_tbl_duckdb_snap/col_summary_html_duckdb.html +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_datascan/test_col_summary_tbl_pandas_snap/col_summary_html_pandas.html +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_datascan/test_col_summary_tbl_polars_snap/col_summary_html_polars.html +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_comprehensive_validation_report_html_snap/comprehensive_validation_report.html +0 -0
- {pointblank-0.9.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → 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.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_01-0.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_02-0.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_03-0.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_04-0.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_05-0.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_06-0.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_07-0.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_08-0.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_09-0.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_10-0.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_11-0.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_12-0.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_13-0.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_14-0.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_14-1.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_15-0.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_15-1.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_16-0.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_16-1.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_17-0.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_17-1.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_18-0.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_18-1.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_19-0.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_19-1.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_20-0.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_20-1.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_21-0.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_21-1.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_21-2.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_21-3.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_22-0.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_22-1.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_23-0.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_23-1.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_24-0.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_24-1.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_24-2.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_24-3.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-0.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-1.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-2.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-3.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-4.txt +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_get_schema_validation_info/schema_info_25-5.txt +0 -0
- {pointblank-0.9.6 → 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.6 → 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.6 → 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.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_briefs_html/validation_report_with_briefs.html +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_duckdb/validation_report.json +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_parquet/validation_report.json +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_pd/validation_report.json +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_pl/validation_report.json +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_interrogate_snap/tbl_sqlite/validation_report.json +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_duckdb/validation_report.json +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_parquet/validation_report.json +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_pd/validation_report.json +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_pl/validation_report.json +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_no_interrogate_snap/tbl_sqlite/validation_report.json +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_segments_html/duckdb/validation_report_segments.html +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_segments_html/pandas/validation_report_segments.html +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_segments_html/polars/validation_report_segments.html +0 -0
- {pointblank-0.9.6 → 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.6 → 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.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_duckdb/validation_report.json +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_parquet/validation_report.json +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_pd/validation_report.json +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_pl/validation_report.json +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/snapshots/test_validate/test_validation_report_use_fields_snap/tbl_sqlite/validation_report.json +0 -0
- {pointblank-0.9.6 → 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.6 → 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.6 → 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.6 → pointblank-0.10.0}/tests/tbl_files/tbl_dates_times_text.ddb +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/tbl_files/tbl_dates_times_text.parquet +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/tbl_files/tbl_dates_times_text.sqlite +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/tbl_files/tbl_true_dates_times.ddb +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/tbl_files/tbl_xyz.ddb +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/tbl_files/tbl_xyz.parquet +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/tbl_files/tbl_xyz.sqlite +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/tbl_files/tbl_xyz_missing.ddb +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/tbl_files/tbl_xyz_missing.parquet +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/tbl_files/tbl_xyz_missing.sqlite +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/test__interrogation.py +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/test__utils_check_args.py +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/test_actions.py +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/test_assistant.py +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/test_column.py +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/test_draft.py +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/test_tf.py +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/tests/test_thresholds.py +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/translations/README.ar.md +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/translations/README.de.md +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/translations/README.es.md +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/translations/README.fr.md +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/translations/README.hi.md +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/translations/README.it.md +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/translations/README.ja.md +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/translations/README.ko.md +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/translations/README.nl.md +0 -0
- {pointblank-0.9.6 → pointblank-0.10.0}/translations/README.pt-BR.md +0 -0
- {pointblank-0.9.6 → 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
|
|
@@ -84,7 +84,7 @@ Dynamic: license-file
|
|
|
84
84
|
|
|
85
85
|
<div align="center">
|
|
86
86
|
|
|
87
|
-
<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>
|
|
88
88
|
|
|
89
89
|
_Data validation made beautiful and powerful_
|
|
90
90
|
|
|
@@ -98,6 +98,7 @@ _Data validation made beautiful and powerful_
|
|
|
98
98
|
[](https://codecov.io/gh/posit-dev/pointblank)
|
|
99
99
|
[](https://www.repostatus.org/#active)
|
|
100
100
|
[](https://posit-dev.github.io/pointblank/)
|
|
101
|
+
[](https://deepwiki.com/posit-dev/pointblank)
|
|
101
102
|
|
|
102
103
|
[](https://github.com/posit-dev/pointblank/graphs/contributors)
|
|
103
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
|
|
|
@@ -203,6 +210,8 @@ quartodoc:
|
|
|
203
210
|
- name: missing_vals_tbl
|
|
204
211
|
- name: assistant
|
|
205
212
|
- name: load_dataset
|
|
213
|
+
- name: get_data_path
|
|
214
|
+
- name: connect_to_table
|
|
206
215
|
- title: Utility Functions
|
|
207
216
|
desc: >
|
|
208
217
|
The *Utility Functions* group contains functions that are useful accessing metadata about
|
|
@@ -1,7 +1,92 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<svg width="2481px" height="441px" viewBox="0 0 2481 441" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="background: #FFFFFF;">
|
|
3
|
-
<title>pointblank_logo
|
|
3
|
+
<title>pointblank_logo</title>
|
|
4
|
+
|
|
4
5
|
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
6
|
+
<!-- Background shadow circles (render first, so they appear behind everything) -->
|
|
7
|
+
<g id="shadow-circles">
|
|
8
|
+
<!-- Shadow for main circle -->
|
|
9
|
+
<circle id="shadow-1" fill="#E20000" fill-opacity="0.15" cx="154.010993" cy="260.268789" r="24">
|
|
10
|
+
<animate attributeName="r" dur="4s" repeatCount="indefinite" begin="0s"
|
|
11
|
+
values="24;36;24;24;24" />
|
|
12
|
+
<animate attributeName="fill" dur="20s" repeatCount="indefinite" begin="0s"
|
|
13
|
+
values="#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#888888;#FFCC00;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000" />
|
|
14
|
+
</circle>
|
|
15
|
+
|
|
16
|
+
<!-- Shadow for circle 2 -->
|
|
17
|
+
<circle id="shadow-2" fill="#E20000" fill-opacity="0.15" cx="570.7139" cy="265.65" r="21">
|
|
18
|
+
<animate attributeName="r" dur="3.5s" repeatCount="indefinite" begin="0.4s"
|
|
19
|
+
values="21;32;21;21;21" />
|
|
20
|
+
<animate attributeName="fill" dur="20s" repeatCount="indefinite" begin="2s"
|
|
21
|
+
values="#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#888888;#FFCC00;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000" />
|
|
22
|
+
</circle>
|
|
23
|
+
|
|
24
|
+
<!-- Shadow for circle 3 -->
|
|
25
|
+
<circle id="shadow-3" fill="#E20000" fill-opacity="0.15" cx="735.702447" cy="124.804146" r="20">
|
|
26
|
+
<animate attributeName="r" dur="4.5s" repeatCount="indefinite" begin="0.8s"
|
|
27
|
+
values="20;30;20;20;20" />
|
|
28
|
+
<animate attributeName="fill" dur="20s" repeatCount="indefinite" begin="4s"
|
|
29
|
+
values="#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#888888;#FFCC00;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000" />
|
|
30
|
+
</circle>
|
|
31
|
+
|
|
32
|
+
<!-- Shadow for circle 4 -->
|
|
33
|
+
<circle id="shadow-4" fill="#E20000" fill-opacity="0.15" cx="901.711934" cy="265.65" r="22">
|
|
34
|
+
<animate attributeName="r" dur="3.8s" repeatCount="indefinite" begin="1.2s"
|
|
35
|
+
values="22;33;22;22;22" />
|
|
36
|
+
<animate attributeName="fill" dur="20s" repeatCount="indefinite" begin="6s"
|
|
37
|
+
values="#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#888888;#FFCC00;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000" />
|
|
38
|
+
</circle>
|
|
39
|
+
|
|
40
|
+
<!-- Shadow for circle 5 -->
|
|
41
|
+
<circle id="shadow-5" fill="#E20000" fill-opacity="0.15" cx="1154.49299" cy="265.65" r="23">
|
|
42
|
+
<animate attributeName="r" dur="3.2s" repeatCount="indefinite" begin="1.6s"
|
|
43
|
+
values="23;34;23;23;23" />
|
|
44
|
+
<animate attributeName="fill" dur="20s" repeatCount="indefinite" begin="8s"
|
|
45
|
+
values="#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#888888;#FFCC00;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000" />
|
|
46
|
+
</circle>
|
|
47
|
+
|
|
48
|
+
<!-- Shadow for circle 6 -->
|
|
49
|
+
<circle id="shadow-6" fill="#E20000" fill-opacity="0.15" cx="1388.5509" cy="265.65" r="19">
|
|
50
|
+
<animate attributeName="r" dur="4.2s" repeatCount="indefinite" begin="2.0s"
|
|
51
|
+
values="19;29;19;19;19" />
|
|
52
|
+
<animate attributeName="fill" dur="20s" repeatCount="indefinite" begin="10s"
|
|
53
|
+
values="#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#888888;#FFCC00;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000" />
|
|
54
|
+
</circle>
|
|
55
|
+
|
|
56
|
+
<!-- Shadow for circle 7 -->
|
|
57
|
+
<circle id="shadow-7" fill="#E20000" fill-opacity="0.15" cx="1771.94209" cy="265.65" r="21">
|
|
58
|
+
<animate attributeName="r" dur="3.7s" repeatCount="indefinite" begin="2.4s"
|
|
59
|
+
values="21;32;21;21;21" />
|
|
60
|
+
<animate attributeName="fill" dur="20s" repeatCount="indefinite" begin="12s"
|
|
61
|
+
values="#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#888888;#FFCC00;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000" />
|
|
62
|
+
</circle>
|
|
63
|
+
|
|
64
|
+
<!-- Shadow for circle 8 -->
|
|
65
|
+
<circle id="shadow-8" fill="#E20000" fill-opacity="0.15" cx="1554.27939" cy="334.832228" r="20">
|
|
66
|
+
<animate attributeName="r" dur="3.9s" repeatCount="indefinite" begin="2.8s"
|
|
67
|
+
values="20;30;20;20;20" />
|
|
68
|
+
<animate attributeName="fill" dur="20s" repeatCount="indefinite" begin="14s"
|
|
69
|
+
values="#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#888888;#FFCC00;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000" />
|
|
70
|
+
</circle>
|
|
71
|
+
|
|
72
|
+
<!-- Shadow for circle 9 -->
|
|
73
|
+
<circle id="shadow-9" fill="#E20000" fill-opacity="0.15" cx="1997.72491" cy="265.64697" r="22">
|
|
74
|
+
<animate attributeName="r" dur="3.4s" repeatCount="indefinite" begin="3.2s"
|
|
75
|
+
values="22;33;22;22;22" />
|
|
76
|
+
<animate attributeName="fill" dur="20s" repeatCount="indefinite" begin="16s"
|
|
77
|
+
values="#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#888888;#FFCC00;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000" />
|
|
78
|
+
</circle>
|
|
79
|
+
|
|
80
|
+
<!-- Shadow for circle 10 -->
|
|
81
|
+
<circle id="shadow-10" fill="#E20000" fill-opacity="0.15" cx="2274.81495" cy="260.187731" r="20">
|
|
82
|
+
<animate attributeName="r" dur="4.1s" repeatCount="indefinite" begin="3.6s"
|
|
83
|
+
values="20;30;20;20;20" />
|
|
84
|
+
<animate attributeName="fill" dur="20s" repeatCount="indefinite" begin="18s"
|
|
85
|
+
values="#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#888888;#FFCC00;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000" />
|
|
86
|
+
</circle>
|
|
87
|
+
</g>
|
|
88
|
+
|
|
89
|
+
<!-- Main text content -->
|
|
5
90
|
<g id="Pointblank" transform="translate(82.453382, 67.360000)" fill="#3C0000" fill-rule="nonzero">
|
|
6
91
|
<path d="M44.3962295,192.730366 C44.3962295,185.366492 47.0299041,179.018325 52.2972534,173.685864 C57.5646026,168.353403 63.9606696,165.687173 71.4854542,165.687173 C78.7594128,165.687173 85.0300666,168.353403 90.2974159,173.685864 C95.5647652,179.018325 98.1984398,185.366492 98.1984398,192.730366 C98.1984398,200.348168 95.5647652,206.823298 90.2974159,212.155759 C85.0300666,217.48822 78.7594128,220.15445 71.4854542,220.15445 C63.9606696,220.15445 57.5646026,217.48822 52.2972534,212.155759 C47.0299041,206.823298 44.3962295,200.348168 44.3962295,192.730366 Z M0,11.4267016 L290.080449,11.4267016 C306.384149,11.4267016 318.172978,15.1086387 325.446936,22.4725131 C332.720895,29.8363874 336.357874,41.7709424 336.357874,58.276178 L336.357874,151.213351 C336.357874,167.718586 332.720895,179.653141 325.446936,187.017016 C318.172978,194.38089 306.384149,198.062827 290.080449,198.062827 L68.8517796,198.062827 L68.8517796,186.636126 L291.209166,186.636126 C302.997996,186.636126 311.463378,184.033377 316.605314,178.82788 C321.747251,173.622382 324.318219,165.052356 324.318219,153.117801 L324.318219,56.3717277 C324.318219,44.4371728 321.747251,35.8671466 316.605314,30.6616492 C311.463378,25.4561518 302.997996,22.8534031 291.209166,22.8534031 L12.0396555,22.8534031 L12.0396555,289.47644 L0,289.47644 L0,11.4267016 Z" id="P"></path>
|
|
7
92
|
<path d="M366.833252,153.498691 C366.833252,136.993455 370.470231,125.058901 377.74419,117.695026 C385.018148,110.331152 396.806978,106.649215 413.110678,106.649215 L563.230132,106.649215 C579.533832,106.649215 591.322661,110.331152 598.59662,117.695026 C605.870578,125.058901 609.507557,136.993455 609.507557,153.498691 L609.507557,242.626963 C609.507557,259.132199 605.870578,271.066754 598.59662,278.430628 C591.322661,285.794503 579.533832,289.47644 563.230132,289.47644 L413.110678,289.47644 C396.806978,289.47644 385.018148,285.794503 377.74419,278.430628 C370.470231,271.066754 366.833252,259.132199 366.833252,242.626963 L366.833252,153.498691 Z M564.358849,278.049738 C576.147679,278.049738 584.613061,275.44699 589.754998,270.241492 C594.896934,265.035995 597.467902,256.465969 597.467902,244.531414 L597.467902,151.594241 C597.467902,139.659686 594.896934,131.08966 589.754998,125.884162 C584.613061,120.678665 576.147679,118.075916 564.358849,118.075916 L411.98196,118.075916 C400.193131,118.075916 391.727748,120.678665 386.585812,125.884162 C381.443876,131.08966 378.872908,139.659686 378.872908,151.594241 L378.872908,244.531414 C378.872908,256.465969 381.443876,265.035995 386.585812,270.241492 C391.727748,275.44699 400.193131,278.049738 411.98196,278.049738 L564.358849,278.049738 Z M487.982285,221.67801 C481.711631,221.67801 476.318869,219.39267 471.803998,214.82199 C467.289127,210.251309 465.031692,204.664921 465.031692,198.062827 C465.031692,191.71466 467.289127,186.255236 471.803998,181.684555 C476.318869,177.113874 481.711631,174.828534 487.982285,174.828534 C494.503765,174.828534 500.021941,177.113874 504.536811,181.684555 C509.051682,186.255236 511.309118,191.71466 511.309118,198.062827 C511.309118,204.664921 509.051682,210.251309 504.536811,214.82199 C500.021941,219.39267 494.503765,221.67801 487.982285,221.67801 Z" id="o"></path>
|
|
@@ -14,15 +99,78 @@
|
|
|
14
99
|
<path d="M1793.90866,153.498691 C1793.90866,136.993455 1797.54564,125.058901 1804.8196,117.695026 C1812.09356,110.331152 1823.88239,106.649215 1840.18609,106.649215 L1990.30554,106.649215 C2006.60924,106.649215 2018.39807,110.331152 2025.67203,117.695026 C2032.94599,125.058901 2036.58297,136.993455 2036.58297,153.498691 L2036.58297,289.47644 L2024.54331,289.47644 L2024.54331,151.594241 C2024.54331,139.659686 2021.97234,131.08966 2016.83041,125.884162 C2011.68847,120.678665 2003.22309,118.075916 1991.43426,118.075916 L1839.05737,118.075916 C1827.26854,118.075916 1818.80316,120.678665 1813.66122,125.884162 C1808.51929,131.08966 1805.94832,139.659686 1805.94832,151.594241 L1805.94832,289.47644 L1793.90866,289.47644 L1793.90866,153.498691 Z M1915.0577,221.67801 C1908.78704,221.67801 1903.39428,219.39267 1898.87941,214.82199 C1894.36454,210.251309 1892.1071,204.664921 1892.1071,198.062827 C1892.1071,191.71466 1894.36454,186.255236 1898.87941,181.684555 C1903.39428,177.113874 1908.78704,174.828534 1915.0577,174.828534 C1921.57918,174.828534 1927.09735,177.113874 1931.61222,181.684555 C1936.12709,186.255236 1938.38453,191.71466 1938.38453,198.062827 C1938.38453,204.664921 1936.12709,210.251309 1931.61222,214.82199 C1927.09735,219.39267 1921.57918,221.67801 1915.0577,221.67801 Z" id="n"></path>
|
|
15
100
|
<path d="M2192.34601,216.34555 C2186.07536,216.34555 2180.68259,214.060209 2176.16772,209.489529 C2171.65285,204.918848 2169.39542,199.332461 2169.39542,192.730366 C2169.39542,186.382199 2171.65285,180.922775 2176.16772,176.352094 C2180.68259,171.781414 2186.07536,169.496073 2192.34601,169.496073 C2198.86749,169.496073 2204.38567,171.781414 2208.90054,176.352094 C2213.41541,180.922775 2215.67284,186.382199 2215.67284,192.730366 C2215.67284,199.332461 2213.41541,204.918848 2208.90054,209.489529 C2204.38567,214.060209 2198.86749,216.34555 2192.34601,216.34555 Z M2076.08809,0 L2088.12774,0 L2088.12774,197.301047 C2095.65253,190.445026 2107.06512,187.017016 2122.36551,187.017016 L2252.16805,187.017016 L2301.45539,106.649215 L2315,106.649215 L2265.71266,187.017016 C2281.76553,187.017016 2293.36624,190.762435 2300.51479,198.253272 C2307.66333,205.74411 2311.23761,217.615183 2311.23761,233.866492 L2311.23761,289.47644 L2299.19795,289.47644 L2299.19795,231.962042 C2299.19795,220.027487 2296.62698,211.457461 2291.48505,206.251963 C2286.34311,201.046466 2277.87773,198.443717 2266.0889,198.443717 L2121.2368,198.443717 C2109.44797,198.443717 2100.98258,201.046466 2095.84065,206.251963 C2090.69871,211.457461 2088.12774,220.027487 2088.12774,231.962042 L2088.12774,289.47644 L2076.08809,289.47644 L2076.08809,0 Z" id="k"></path>
|
|
16
101
|
</g>
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
<
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
102
|
+
|
|
103
|
+
<!-- Main foreground circles -->
|
|
104
|
+
<g id="main-circles">
|
|
105
|
+
<circle id="Oval" fill="#E20000" cx="154.010993" cy="260.268789" r="18">
|
|
106
|
+
<animate attributeName="r" dur="4s" repeatCount="indefinite" begin="0s"
|
|
107
|
+
values="18;24;18;18;18" />
|
|
108
|
+
<animate attributeName="fill" dur="20s" repeatCount="indefinite" begin="0s"
|
|
109
|
+
values="#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#888888;#FFCC00;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000" />
|
|
110
|
+
</circle>
|
|
111
|
+
|
|
112
|
+
<circle id="Oval-Copy-3" fill="#E20000" cx="570.7139" cy="265.65" r="15">
|
|
113
|
+
<animate attributeName="r" dur="3.5s" repeatCount="indefinite" begin="0.4s"
|
|
114
|
+
values="15;21;15;15;15" />
|
|
115
|
+
<animate attributeName="fill" dur="20s" repeatCount="indefinite" begin="2s"
|
|
116
|
+
values="#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#888888;#FFCC00;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000" />
|
|
117
|
+
</circle>
|
|
118
|
+
|
|
119
|
+
<circle id="Oval-Copy-8" fill="#E20000" cx="735.702447" cy="124.804146" r="15">
|
|
120
|
+
<animate attributeName="r" dur="4.5s" repeatCount="indefinite" begin="0.8s"
|
|
121
|
+
values="15;20;15;15;15" />
|
|
122
|
+
<animate attributeName="fill" dur="20s" repeatCount="indefinite" begin="4s"
|
|
123
|
+
values="#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#888888;#FFCC00;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000" />
|
|
124
|
+
</circle>
|
|
125
|
+
|
|
126
|
+
<circle id="Oval-Copy-9" fill="#E20000" cx="901.711934" cy="265.65" r="15">
|
|
127
|
+
<animate attributeName="r" dur="3.8s" repeatCount="indefinite" begin="1.2s"
|
|
128
|
+
values="15;22;15;15;15" />
|
|
129
|
+
<animate attributeName="fill" dur="20s" repeatCount="indefinite" begin="6s"
|
|
130
|
+
values="#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#888888;#FFCC00;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000" />
|
|
131
|
+
</circle>
|
|
132
|
+
|
|
133
|
+
<circle id="Oval-Copy-10" fill="#E20000" cx="1154.49299" cy="265.65" r="15">
|
|
134
|
+
<animate attributeName="r" dur="3.2s" repeatCount="indefinite" begin="1.6s"
|
|
135
|
+
values="15;23;15;15;15" />
|
|
136
|
+
<animate attributeName="fill" dur="20s" repeatCount="indefinite" begin="8s"
|
|
137
|
+
values="#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#888888;#FFCC00;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000" />
|
|
138
|
+
</circle>
|
|
139
|
+
|
|
140
|
+
<circle id="Oval-Copy-11" fill="#E20000" cx="1388.5509" cy="265.65" r="15">
|
|
141
|
+
<animate attributeName="r" dur="4.2s" repeatCount="indefinite" begin="2.0s"
|
|
142
|
+
values="15;19;15;15;15" />
|
|
143
|
+
<animate attributeName="fill" dur="20s" repeatCount="indefinite" begin="10s"
|
|
144
|
+
values="#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#888888;#FFCC00;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000" />
|
|
145
|
+
</circle>
|
|
146
|
+
|
|
147
|
+
<circle id="Oval-Copy-12" fill="#E20000" cx="1771.94209" cy="265.65" r="15">
|
|
148
|
+
<animate attributeName="r" dur="3.7s" repeatCount="indefinite" begin="2.4s"
|
|
149
|
+
values="15;21;15;15;15" />
|
|
150
|
+
<animate attributeName="fill" dur="20s" repeatCount="indefinite" begin="12s"
|
|
151
|
+
values="#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#888888;#FFCC00;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000" />
|
|
152
|
+
</circle>
|
|
153
|
+
|
|
154
|
+
<circle id="Oval-Copy-15" fill="#E20000" cx="1554.27939" cy="334.832228" r="15">
|
|
155
|
+
<animate attributeName="r" dur="3.9s" repeatCount="indefinite" begin="2.8s"
|
|
156
|
+
values="15;20;15;15;15" />
|
|
157
|
+
<animate attributeName="fill" dur="20s" repeatCount="indefinite" begin="14s"
|
|
158
|
+
values="#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#888888;#FFCC00;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000" />
|
|
159
|
+
</circle>
|
|
160
|
+
|
|
161
|
+
<circle id="Oval-Copy-13" fill="#E20000" cx="1997.72491" cy="265.64697" r="15">
|
|
162
|
+
<animate attributeName="r" dur="3.4s" repeatCount="indefinite" begin="3.2s"
|
|
163
|
+
values="15;22;15;15;15" />
|
|
164
|
+
<animate attributeName="fill" dur="20s" repeatCount="indefinite" begin="16s"
|
|
165
|
+
values="#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#888888;#FFCC00;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000" />
|
|
166
|
+
</circle>
|
|
167
|
+
|
|
168
|
+
<circle id="Oval-Copy-14" fill="#E20000" cx="2274.81495" cy="260.187731" r="15">
|
|
169
|
+
<animate attributeName="r" dur="4.1s" repeatCount="indefinite" begin="3.6s"
|
|
170
|
+
values="15;20;15;15;15" />
|
|
171
|
+
<animate attributeName="fill" dur="20s" repeatCount="indefinite" begin="18s"
|
|
172
|
+
values="#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000;#888888;#FFCC00;#E20000;#E20000;#E20000;#E20000;#E20000;#E20000" />
|
|
173
|
+
</circle>
|
|
174
|
+
</g>
|
|
27
175
|
</g>
|
|
28
|
-
</svg>
|
|
176
|
+
</svg>
|