# pointblank > Find out if your data is what you think it is. ## Docs ### API Reference #### Validate > When performing data validation, use the `Validate` class to get the process started. It takes the target table and options for metadata and failure thresholds (using the `Thresholds` class or shorthands). The `Validate` class has numerous methods for defining validation steps and for obtaining post-interrogation metrics and data. - [Validate](https://posit-dev.github.io/pointblank/reference/Validate.html): Workflow for defining a set of validations on a table and interrogating for results - [Thresholds](https://posit-dev.github.io/pointblank/reference/Thresholds.html): Definition of threshold values - [Actions](https://posit-dev.github.io/pointblank/reference/Actions.html): Definition of action values - [FinalActions](https://posit-dev.github.io/pointblank/reference/FinalActions.html): Define actions to be taken after validation is complete - [Schema](https://posit-dev.github.io/pointblank/reference/Schema.html): Definition of a schema object - [DraftValidation](https://posit-dev.github.io/pointblank/reference/DraftValidation.html): Draft a validation plan for a given table using an LLM - [EditValidation](https://posit-dev.github.io/pointblank/reference/EditValidation.html): Edit an existing validation plan with a plain-English instruction using an LLM - [MissingSpec](https://posit-dev.github.io/pointblank/reference/MissingSpec.html): Specification for structured missing values in a column #### Contracts and Pipelines > Use `Contract` and `Step` to define declarative data quality contracts that specify what valid data looks like. Use `Steps` to build reusable step libraries with a fluent API and compose them into `Validate` plans via `add_steps()`. Use `Pipeline` to enforce contracts at both boundaries of a data transformation (source and target), producing a `PipelineResult` with full introspection into what passed and what failed. - [Contract](https://posit-dev.github.io/pointblank/reference/Contract.html): A declarative boundary contract for pipeline data - [Step](https://posit-dev.github.io/pointblank/reference/Step.html): A single validation step, stored as data - [Steps](https://posit-dev.github.io/pointblank/reference/Steps.html): A reusable collection of validation step definitions - [Validate.add_steps](https://posit-dev.github.io/pointblank/reference/Validate.add_steps.html) - [Pipeline](https://posit-dev.github.io/pointblank/reference/Pipeline.html): Enforce data contracts at both ends of a data transformation - [PipelineResult](https://posit-dev.github.io/pointblank/reference/PipelineResult.html): The outcome of running a data pipeline - [ContractViolationError](https://posit-dev.github.io/pointblank/reference/ContractViolationError.html): The error raised when data fails a contract with `on_violation="raise"` #### Contract Import/Export > Import external schema definitions (JSON Schema, Frictionless Table Schema, and more) into Pointblank validation workflows, or export Pointblank contracts to those formats. Use `import_contract()` as the entry point, `export_contract()` for the reverse, and `register_adapter()` to add support for custom formats. - [import_contract](https://posit-dev.github.io/pointblank/reference/import_contract.html): Import a contract or schema written in another format - [export_contract](https://posit-dev.github.io/pointblank/reference/export_contract.html): Export a Pointblank validation or contract to another format - [list_adapters](https://posit-dev.github.io/pointblank/reference/list_adapters.html): List the formats available for contract import and export - [register_adapter](https://posit-dev.github.io/pointblank/reference/register_adapter.html): Register a contract adapter so that it can be used for import and export - [ContractImport](https://posit-dev.github.io/pointblank/reference/ContractImport.html): The result of importing a contract or schema from another format - [ContractAdapter](https://posit-dev.github.io/pointblank/reference/ContractAdapter.html): The base class for adapters that translate contracts to and from other formats - [adapters.MappedConstraint](https://posit-dev.github.io/pointblank/reference/adapters.MappedConstraint.html) #### Validation Steps > Validation steps are sequential validations on the target data. Call `Validate`'s validation methods to build up a validation plan: a collection of steps that provides good validation coverage. - [Validate.col_vals_gt](https://posit-dev.github.io/pointblank/reference/Validate.col_vals_gt.html) - [Validate.col_vals_lt](https://posit-dev.github.io/pointblank/reference/Validate.col_vals_lt.html) - [Validate.col_vals_ge](https://posit-dev.github.io/pointblank/reference/Validate.col_vals_ge.html) - [Validate.col_vals_le](https://posit-dev.github.io/pointblank/reference/Validate.col_vals_le.html) - [Validate.col_vals_eq](https://posit-dev.github.io/pointblank/reference/Validate.col_vals_eq.html) - [Validate.col_vals_ne](https://posit-dev.github.io/pointblank/reference/Validate.col_vals_ne.html) - [Validate.col_vals_between](https://posit-dev.github.io/pointblank/reference/Validate.col_vals_between.html) - [Validate.col_vals_outside](https://posit-dev.github.io/pointblank/reference/Validate.col_vals_outside.html) - [Validate.col_vals_in_set](https://posit-dev.github.io/pointblank/reference/Validate.col_vals_in_set.html) - [Validate.col_vals_not_in_set](https://posit-dev.github.io/pointblank/reference/Validate.col_vals_not_in_set.html) - [Validate.col_vals_increasing](https://posit-dev.github.io/pointblank/reference/Validate.col_vals_increasing.html) - [Validate.col_vals_decreasing](https://posit-dev.github.io/pointblank/reference/Validate.col_vals_decreasing.html) - [Validate.col_vals_null](https://posit-dev.github.io/pointblank/reference/Validate.col_vals_null.html) - [Validate.col_vals_not_null](https://posit-dev.github.io/pointblank/reference/Validate.col_vals_not_null.html) - [Validate.col_vals_regex](https://posit-dev.github.io/pointblank/reference/Validate.col_vals_regex.html) - [Validate.col_vals_within_spec](https://posit-dev.github.io/pointblank/reference/Validate.col_vals_within_spec.html) - [Validate.col_vals_str_len](https://posit-dev.github.io/pointblank/reference/Validate.col_vals_str_len.html) - [Validate.col_vals_in_table](https://posit-dev.github.io/pointblank/reference/Validate.col_vals_in_table.html) - [Validate.col_vals_expr](https://posit-dev.github.io/pointblank/reference/Validate.col_vals_expr.html) - [Validate.col_exists](https://posit-dev.github.io/pointblank/reference/Validate.col_exists.html) - [Validate.col_pct_null](https://posit-dev.github.io/pointblank/reference/Validate.col_pct_null.html) - [Validate.col_pct_missing](https://posit-dev.github.io/pointblank/reference/Validate.col_pct_missing.html) - [Validate.col_missing_coded](https://posit-dev.github.io/pointblank/reference/Validate.col_missing_coded.html) - [Validate.col_missing_only_coded](https://posit-dev.github.io/pointblank/reference/Validate.col_missing_only_coded.html) - [Validate.col_missing_consistent](https://posit-dev.github.io/pointblank/reference/Validate.col_missing_consistent.html) - [Validate.rows_distinct](https://posit-dev.github.io/pointblank/reference/Validate.rows_distinct.html) - [Validate.rows_complete](https://posit-dev.github.io/pointblank/reference/Validate.rows_complete.html) - [Validate.col_schema_match](https://posit-dev.github.io/pointblank/reference/Validate.col_schema_match.html) - [Validate.row_count_match](https://posit-dev.github.io/pointblank/reference/Validate.row_count_match.html) - [Validate.col_count_match](https://posit-dev.github.io/pointblank/reference/Validate.col_count_match.html) - [Validate.data_freshness](https://posit-dev.github.io/pointblank/reference/Validate.data_freshness.html) - [Validate.tbl_match](https://posit-dev.github.io/pointblank/reference/Validate.tbl_match.html) - [Validate.tbl_reconcile](https://posit-dev.github.io/pointblank/reference/Validate.tbl_reconcile.html) - [Validate.conjointly](https://posit-dev.github.io/pointblank/reference/Validate.conjointly.html) - [Validate.specially](https://posit-dev.github.io/pointblank/reference/Validate.specially.html) - [Validate.prompt](https://posit-dev.github.io/pointblank/reference/Validate.prompt.html) #### Aggregation Steps > These validation methods check aggregated column values (sums, averages, standard deviations) against fixed values or column references. - [Validate.col_sum_gt](https://posit-dev.github.io/pointblank/reference/Validate.col_sum_gt.html) - [Validate.col_sum_lt](https://posit-dev.github.io/pointblank/reference/Validate.col_sum_lt.html) - [Validate.col_sum_ge](https://posit-dev.github.io/pointblank/reference/Validate.col_sum_ge.html) - [Validate.col_sum_le](https://posit-dev.github.io/pointblank/reference/Validate.col_sum_le.html) - [Validate.col_sum_eq](https://posit-dev.github.io/pointblank/reference/Validate.col_sum_eq.html) - [Validate.col_avg_gt](https://posit-dev.github.io/pointblank/reference/Validate.col_avg_gt.html) - [Validate.col_avg_lt](https://posit-dev.github.io/pointblank/reference/Validate.col_avg_lt.html) - [Validate.col_avg_ge](https://posit-dev.github.io/pointblank/reference/Validate.col_avg_ge.html) - [Validate.col_avg_le](https://posit-dev.github.io/pointblank/reference/Validate.col_avg_le.html) - [Validate.col_avg_eq](https://posit-dev.github.io/pointblank/reference/Validate.col_avg_eq.html) - [Validate.col_sd_gt](https://posit-dev.github.io/pointblank/reference/Validate.col_sd_gt.html) - [Validate.col_sd_lt](https://posit-dev.github.io/pointblank/reference/Validate.col_sd_lt.html) - [Validate.col_sd_ge](https://posit-dev.github.io/pointblank/reference/Validate.col_sd_ge.html) - [Validate.col_sd_le](https://posit-dev.github.io/pointblank/reference/Validate.col_sd_le.html) - [Validate.col_sd_eq](https://posit-dev.github.io/pointblank/reference/Validate.col_sd_eq.html) #### Column Selection > Use the `col()` function along with column selection helpers to flexibly select columns for validation. Combine `col()` with `starts_with()`, `matches()`, etc. for selecting multiple target columns. - [col](https://posit-dev.github.io/pointblank/reference/col.html): Helper function for referencing a column in the input table - [starts_with](https://posit-dev.github.io/pointblank/reference/starts_with.html): Select columns that start with specified text - [ends_with](https://posit-dev.github.io/pointblank/reference/ends_with.html): Select columns that end with specified text - [contains](https://posit-dev.github.io/pointblank/reference/contains.html): Select columns that contain specified text - [matches](https://posit-dev.github.io/pointblank/reference/matches.html): Select columns that match a specified regular expression pattern - [everything](https://posit-dev.github.io/pointblank/reference/everything.html): Select all columns - [first_n](https://posit-dev.github.io/pointblank/reference/first_n.html): Select the first `n` columns in the column list - [last_n](https://posit-dev.github.io/pointblank/reference/last_n.html): Select the last `n` columns in the column list - [expr_col](https://posit-dev.github.io/pointblank/reference/expr_col.html): Create a column expression for use in `conjointly()` validation #### Segment Groups > Combine multiple values into a single segment using `seg_*()` helper functions. - [seg_group](https://posit-dev.github.io/pointblank/reference/seg_group.html): Group together values for segmentation #### Interrogation and Reporting > The validation plan is executed when `interrogate()` is called. After interrogation, view validation reports, extract metrics, or split data based on results. - [Validate.interrogate](https://posit-dev.github.io/pointblank/reference/Validate.interrogate.html) - [Validate.set_tbl](https://posit-dev.github.io/pointblank/reference/Validate.set_tbl.html) - [Validate.get_tabular_report](https://posit-dev.github.io/pointblank/reference/Validate.get_tabular_report.html) - [Validate.get_step_report](https://posit-dev.github.io/pointblank/reference/Validate.get_step_report.html) - [Validate.get_json_report](https://posit-dev.github.io/pointblank/reference/Validate.get_json_report.html) - [Validate.get_dataframe_report](https://posit-dev.github.io/pointblank/reference/Validate.get_dataframe_report.html) - [Validate.to_code](https://posit-dev.github.io/pointblank/reference/Validate.to_code.html) - [Validate.to_yaml](https://posit-dev.github.io/pointblank/reference/Validate.to_yaml.html) - [Validate.to_json_schema](https://posit-dev.github.io/pointblank/reference/Validate.to_json_schema.html) - [Validate.suggest_improvements](https://posit-dev.github.io/pointblank/reference/Validate.suggest_improvements.html) - [Validate.from_prompt](https://posit-dev.github.io/pointblank/reference/Validate.from_prompt.html) - [Validate.get_sundered_data](https://posit-dev.github.io/pointblank/reference/Validate.get_sundered_data.html) - [Validate.get_row_flags](https://posit-dev.github.io/pointblank/reference/Validate.get_row_flags.html) - [Validate.get_data_extracts](https://posit-dev.github.io/pointblank/reference/Validate.get_data_extracts.html) - [Validate.all_passed](https://posit-dev.github.io/pointblank/reference/Validate.all_passed.html) - [Validate.assert_passing](https://posit-dev.github.io/pointblank/reference/Validate.assert_passing.html) - [Validate.assert_below_threshold](https://posit-dev.github.io/pointblank/reference/Validate.assert_below_threshold.html) - [Validate.assert_dimension_scores](https://posit-dev.github.io/pointblank/reference/Validate.assert_dimension_scores.html) - [Validate.above_threshold](https://posit-dev.github.io/pointblank/reference/Validate.above_threshold.html) - [Validate.get_dimension_scores](https://posit-dev.github.io/pointblank/reference/Validate.get_dimension_scores.html) - [Validate.get_health_score](https://posit-dev.github.io/pointblank/reference/Validate.get_health_score.html) - [Validate.get_scorecard](https://posit-dev.github.io/pointblank/reference/Validate.get_scorecard.html) - [Validate.n](https://posit-dev.github.io/pointblank/reference/Validate.n.html) - [Validate.n_passed](https://posit-dev.github.io/pointblank/reference/Validate.n_passed.html) - [Validate.n_failed](https://posit-dev.github.io/pointblank/reference/Validate.n_failed.html) - [Validate.f_passed](https://posit-dev.github.io/pointblank/reference/Validate.f_passed.html) - [Validate.f_failed](https://posit-dev.github.io/pointblank/reference/Validate.f_failed.html) - [Validate.warning](https://posit-dev.github.io/pointblank/reference/Validate.warning.html) - [Validate.error](https://posit-dev.github.io/pointblank/reference/Validate.error.html) - [Validate.critical](https://posit-dev.github.io/pointblank/reference/Validate.critical.html) #### Inspection and Assistance > Functions for getting to grips with a new data table. Use `DataScan` for a quick overview, `preview()` for first/last rows, `col_summary_tbl()` for column summaries, and `missing_vals_tbl()` for missing value analysis. - [DataScan](https://posit-dev.github.io/pointblank/reference/DataScan.html): Get a summary of a dataset - [DataScanDiff](https://posit-dev.github.io/pointblank/reference/DataScanDiff.html): The result of comparing two `DataScan` profiles - [preview](https://posit-dev.github.io/pointblank/reference/preview.html): Display a table preview that shows some rows from the top, some from the bottom - [col_summary_tbl](https://posit-dev.github.io/pointblank/reference/col_summary_tbl.html): Generate a column-level summary table of a dataset - [missing_vals_tbl](https://posit-dev.github.io/pointblank/reference/missing_vals_tbl.html): Display a table that shows the missing values in the input table - [load_dataset](https://posit-dev.github.io/pointblank/reference/load_dataset.html): Load a dataset hosted in the library as specified table type - [get_data_path](https://posit-dev.github.io/pointblank/reference/get_data_path.html): Get the file path to a dataset included with the Pointblank package - [connect_to_table](https://posit-dev.github.io/pointblank/reference/connect_to_table.html): Connect to a database table using a connection string - [print_database_tables](https://posit-dev.github.io/pointblank/reference/print_database_tables.html): List all tables in a database from a connection string #### DataScan Methods > Methods for the DataScan class - [DataScan.get_tabular_report](https://posit-dev.github.io/pointblank/reference/DataScan.get_tabular_report.html) - [DataScan.summary_data](https://posit-dev.github.io/pointblank/reference/DataScan.summary_data.html) - [DataScan.compare](https://posit-dev.github.io/pointblank/reference/DataScan.compare.html) - [DataScan.save_to_json](https://posit-dev.github.io/pointblank/reference/DataScan.save_to_json.html) - [DataScan.load_from_json](https://posit-dev.github.io/pointblank/reference/DataScan.load_from_json.html) - [DataScan.to_json](https://posit-dev.github.io/pointblank/reference/DataScan.to_json.html) - [DataScan.from_json](https://posit-dev.github.io/pointblank/reference/DataScan.from_json.html) - [DataScan.to_dict](https://posit-dev.github.io/pointblank/reference/DataScan.to_dict.html) - [DataScan.from_dict](https://posit-dev.github.io/pointblank/reference/DataScan.from_dict.html) #### Table Comparison > Compare two tables row by row. `compare()` aligns the rows of a source and a target table (by key, by position, or as multisets) and reports missing, extra, and changed rows, plus schema differences. The result is a `Comparison` object with counts, row samples, and a tabular report. The same comparison is available as a validation step through `Validate.tbl_match()`, and `Validate.tbl_reconcile()` compares aggregates (e.g., totals per group) instead of rows. - [compare](https://posit-dev.github.io/pointblank/reference/compare.html): Compare two tables row by row and report how they differ - [Comparison](https://posit-dev.github.io/pointblank/reference/Comparison.html): The result of comparing a source table with a target table - [SchemaDiff](https://posit-dev.github.io/pointblank/reference/SchemaDiff.html): Differences between the schemas of the source and target tables #### Comparison Methods > Methods for the Comparison class - [Comparison.identical](https://posit-dev.github.io/pointblank/reference/Comparison.identical.html) - [Comparison.schema_ok](https://posit-dev.github.io/pointblank/reference/Comparison.schema_ok.html) - [Comparison.status_counts](https://posit-dev.github.io/pointblank/reference/Comparison.status_counts.html) - [Comparison.n](https://posit-dev.github.io/pointblank/reference/Comparison.n.html) - [Comparison.n_passed](https://posit-dev.github.io/pointblank/reference/Comparison.n_passed.html) - [Comparison.n_failed](https://posit-dev.github.io/pointblank/reference/Comparison.n_failed.html) - [Comparison.rows](https://posit-dev.github.io/pointblank/reference/Comparison.rows.html) - [Comparison.column_summary](https://posit-dev.github.io/pointblank/reference/Comparison.column_summary.html) - [Comparison.get_tabular_report](https://posit-dev.github.io/pointblank/reference/Comparison.get_tabular_report.html) - [Comparison.to_dict](https://posit-dev.github.io/pointblank/reference/Comparison.to_dict.html) - [Comparison.to_json](https://posit-dev.github.io/pointblank/reference/Comparison.to_json.html) #### Table Pre-checks > Helper functions for use with the `active=` parameter of validation methods. These inspect the target table before a step runs and conditionally skip the step when preconditions are not met. - [has_columns](https://posit-dev.github.io/pointblank/reference/has_columns.html): Check whether one or more columns exist in a table - [has_rows](https://posit-dev.github.io/pointblank/reference/has_rows.html): Check whether a table has a certain number of rows #### Preprocessing > Helper functions for use with the `pre=` parameter of validation methods. - [row_preserving](https://posit-dev.github.io/pointblank/reference/row_preserving.html): Mark a `pre=` function as one that keeps the rows of the table #### Data Ablation > Measure how the rows that fail validation steps affect a downstream model. An `Ablation` trains and evaluates a model (with a function you provide) on the full table and on versions of it with the failing rows of some steps removed, repeats this over several seeds, and compares each version to the full table and to a version with the same number of rows removed at random. - [Ablation](https://posit-dev.github.io/pointblank/reference/Ablation.html): Measure how the rows that fail validation steps affect a model trained on the data - [AblationVariant](https://posit-dev.github.io/pointblank/reference/AblationVariant.html): A version of the training table evaluated in an ablation - [ablation.Stratified](https://posit-dev.github.io/pointblank/reference/ablation.Stratified.html) - [ablation.sklearn_evaluator](https://posit-dev.github.io/pointblank/reference/ablation.sklearn_evaluator.html) #### Ablation Methods > Methods for the Ablation class - [Ablation.drop_steps](https://posit-dev.github.io/pointblank/reference/Ablation.drop_steps.html) - [Ablation.drop_each](https://posit-dev.github.io/pointblank/reference/Ablation.drop_each.html) - [Ablation.drop_all](https://posit-dev.github.io/pointblank/reference/Ablation.drop_all.html) - [Ablation.drop_all_but_each](https://posit-dev.github.io/pointblank/reference/Ablation.drop_all_but_each.html) - [Ablation.drop_groups](https://posit-dev.github.io/pointblank/reference/Ablation.drop_groups.html) - [Ablation.plan](https://posit-dev.github.io/pointblank/reference/Ablation.plan.html) - [Ablation.run](https://posit-dev.github.io/pointblank/reference/Ablation.run.html) - [Ablation.check_determinism](https://posit-dev.github.io/pointblank/reference/Ablation.check_determinism.html) - [Ablation.export](https://posit-dev.github.io/pointblank/reference/Ablation.export.html) - [Ablation.load_results](https://posit-dev.github.io/pointblank/reference/Ablation.load_results.html) - [Ablation.get_effects](https://posit-dev.github.io/pointblank/reference/Ablation.get_effects.html) - [Ablation.get_tabular_report](https://posit-dev.github.io/pointblank/reference/Ablation.get_tabular_report.html) - [Ablation.annotate](https://posit-dev.github.io/pointblank/reference/Ablation.annotate.html) - [Ablation.to_dict](https://posit-dev.github.io/pointblank/reference/Ablation.to_dict.html) - [Ablation.to_json](https://posit-dev.github.io/pointblank/reference/Ablation.to_json.html) #### YAML > Functions for using YAML to orchestrate validation workflows. - [yaml_interrogate](https://posit-dev.github.io/pointblank/reference/yaml_interrogate.html): Execute a YAML-based validation workflow - [validate_yaml](https://posit-dev.github.io/pointblank/reference/validate_yaml.html): Validate YAML configuration against the expected structure - [yaml_to_python](https://posit-dev.github.io/pointblank/reference/yaml_to_python.html): Convert YAML validation configuration to equivalent Python code - [yaml_ablation](https://posit-dev.github.io/pointblank/reference/yaml_ablation.html): Set up an ablation from a YAML configuration #### Utility Functions > Functions for accessing metadata about the target data and managing configuration. - [get_column_count](https://posit-dev.github.io/pointblank/reference/get_column_count.html): Get the number of columns in a table - [get_row_count](https://posit-dev.github.io/pointblank/reference/get_row_count.html): Get the number of rows in a table - [get_action_metadata](https://posit-dev.github.io/pointblank/reference/get_action_metadata.html): Access step-level metadata when authoring custom actions - [get_validation_summary](https://posit-dev.github.io/pointblank/reference/get_validation_summary.html): Access validation summary information when authoring final actions - [write_file](https://posit-dev.github.io/pointblank/reference/write_file.html): Write a Validate object to disk as a serialized file - [read_file](https://posit-dev.github.io/pointblank/reference/read_file.html): Read a Validate object from disk that was previously saved with `write_file()` - [ref](https://posit-dev.github.io/pointblank/reference/ref.html): Reference a column from the reference data for aggregate comparisons #### Test Data Generation > Generate synthetic test data based on schema definitions. Use `generate_dataset()` to create data from a Schema object, or `schema_from_tbl()` to infer a generation-ready schema from an existing table (Polars, Pandas, or Ibis/DuckDB). - [generate_dataset](https://posit-dev.github.io/pointblank/reference/generate_dataset.html): Generate synthetic test data from a schema - [schema_from_tbl](https://posit-dev.github.io/pointblank/reference/schema_from_tbl.html): Create a Schema from an existing table with inferred Field constraints - [int_field](https://posit-dev.github.io/pointblank/reference/int_field.html): Create an integer column specification for use in a schema - [float_field](https://posit-dev.github.io/pointblank/reference/float_field.html): Create a floating-point column specification for use in a schema - [string_field](https://posit-dev.github.io/pointblank/reference/string_field.html): Create a string column specification for use in a schema - [bool_field](https://posit-dev.github.io/pointblank/reference/bool_field.html): Create a boolean column specification for use in a schema - [date_field](https://posit-dev.github.io/pointblank/reference/date_field.html): Create a date column specification for use in a schema - [datetime_field](https://posit-dev.github.io/pointblank/reference/datetime_field.html): Create a datetime column specification for use in a schema - [time_field](https://posit-dev.github.io/pointblank/reference/time_field.html): Create a time column specification for use in a schema - [duration_field](https://posit-dev.github.io/pointblank/reference/duration_field.html): Create a duration column specification for use in a schema - [profile_fields](https://posit-dev.github.io/pointblank/reference/profile_fields.html): Create a dict of string field specifications representing a person profile #### Prebuilt Actions > Prebuilt action functions for common notification patterns. - [send_slack_notification](https://posit-dev.github.io/pointblank/reference/send_slack_notification.html): Create an action that sends a Slack notification about a validation - [emit_otel](https://posit-dev.github.io/pointblank/reference/emit_otel.html): Create a final action that sends a validation's results to OpenTelemetry #### Metadata Import/Export > Import variable-level metadata from external data standards files (CDISC Define-XML, Controlled Terminology, SPSS `.sav`, SAS XPORT, Stata `.dta`, and more) and export metadata to various formats. Use `import_metadata()` as the entry point and `export_metadata()` for the reverse. - [import_metadata](https://posit-dev.github.io/pointblank/reference/import_metadata.html): Import metadata from a statistical-package file or a metadata standard - [export_metadata](https://posit-dev.github.io/pointblank/reference/export_metadata.html): Export metadata as a Frictionless Table Schema - [load_metadata_example](https://posit-dev.github.io/pointblank/reference/load_metadata_example.html): Get the path to a bundled metadata example file - [MetadataImport](https://posit-dev.github.io/pointblank/reference/MetadataImport.html): The metadata for a single dataset - [MetadataPackage](https://posit-dev.github.io/pointblank/reference/MetadataPackage.html): The metadata for several datasets, read from one source - [VariableMetadata](https://posit-dev.github.io/pointblank/reference/VariableMetadata.html): The metadata for a single variable (column) - [Codelist](https://posit-dev.github.io/pointblank/reference/Codelist.html): A set of permitted values, each with a label - [CodelistEntry](https://posit-dev.github.io/pointblank/reference/CodelistEntry.html): A single permitted value in a codelist - [MissingValueCode](https://posit-dev.github.io/pointblank/reference/MissingValueCode.html): A declared missing-value code, as read from a metadata file #### SDTM Validation > Validate clinical datasets against CDISC SDTM domain templates. Use `validate_sdtm()` to generate a full `Validate` workflow, or `validate_sdtm_structure()` for a quick structural conformance check. Retrieve domain templates with `get_sdtm_domain()` and `list_sdtm_domains()`. - [validate_sdtm](https://posit-dev.github.io/pointblank/reference/validate_sdtm.html): Build a validation plan for a dataset from an SDTM domain template - [validate_sdtm_structure](https://posit-dev.github.io/pointblank/reference/validate_sdtm_structure.html): Check a dataset's variables against an SDTM domain template - [sdtm_to_metadata](https://posit-dev.github.io/pointblank/reference/sdtm_to_metadata.html): Convert an SDTM domain template to a `MetadataImport` object - [get_sdtm_domain](https://posit-dev.github.io/pointblank/reference/get_sdtm_domain.html): Get the template for an SDTM domain - [list_sdtm_domains](https://posit-dev.github.io/pointblank/reference/list_sdtm_domains.html): List the SDTM domains that have a template - [SDTMDomainTemplate](https://posit-dev.github.io/pointblank/reference/SDTMDomainTemplate.html): The structural template for an SDTM domain - [SDTMVariableSpec](https://posit-dev.github.io/pointblank/reference/SDTMVariableSpec.html): The specification of one variable in an SDTM domain template #### ADaM Validation > Validate analysis datasets against CDISC ADaM templates. Use `validate_adam()` to generate a full `Validate` workflow, or `validate_adam_structure()` for a quick structural conformance check. Retrieve dataset templates with `get_adam_dataset()` and `list_adam_datasets()`. - [validate_adam](https://posit-dev.github.io/pointblank/reference/validate_adam.html): Build a validation plan for a dataset from an ADaM dataset template - [validate_adam_structure](https://posit-dev.github.io/pointblank/reference/validate_adam_structure.html): Check a dataset's variables against an ADaM dataset template - [adam_to_metadata](https://posit-dev.github.io/pointblank/reference/adam_to_metadata.html): Convert an ADaM dataset template to a `MetadataImport` object - [get_adam_dataset](https://posit-dev.github.io/pointblank/reference/get_adam_dataset.html): Get the template for a type of ADaM dataset - [list_adam_datasets](https://posit-dev.github.io/pointblank/reference/list_adam_datasets.html): List the ADaM dataset templates - [ADaMDatasetTemplate](https://posit-dev.github.io/pointblank/reference/ADaMDatasetTemplate.html): The structural template for an ADaM dataset - [ADaMVariableSpec](https://posit-dev.github.io/pointblank/reference/ADaMVariableSpec.html): The specification of one variable in an ADaM dataset template #### CDISC Submission Conformance > Validate SDTM datasets for CDISC conformance. `validate_sdtmig()` is the primary entry point: pass a dictionary of domain DataFrames and receive a `ConformanceReport` with 362 SDTMIG 3.4 rules evaluated in-process. To work with a whole submission (including cross-dataset referential integrity and SUPP-- linkage, with `validate_conformance(engine="validate")`), use `SubmissionPackage`. For the authoritative CDISC-certified rule set, use `validate_cdisc_submission()` (requires the CORE CLI) or `SubmissionPackage.validate_conformance(engine="core")`. All paths return a `ConformanceReport`. - [validate_sdtmig](https://posit-dev.github.io/pointblank/reference/validate_sdtmig.html): Check SDTM datasets with Pointblank's bundled SDTMIG conformance rules - [validate_cdisc_submission](https://posit-dev.github.io/pointblank/reference/validate_cdisc_submission.html): Check a CDISC submission with the CDISC CORE engine - [SubmissionPackage](https://posit-dev.github.io/pointblank/reference/SubmissionPackage.html): A study's datasets, gathered for CDISC conformance validation - [ConformanceReport](https://posit-dev.github.io/pointblank/reference/ConformanceReport.html): The results of a CDISC conformance check #### Integrations > Classes for integrating Pointblank with external observability and monitoring systems. Use `OTelExporter` to export validation results as OpenTelemetry metrics, traces, and logs. - [integrations.otel.OTelExporter](https://posit-dev.github.io/pointblank/reference/integrations.otel.OTelExporter.html)