Installation

Installing Pointblank

Pointblank can be installed using various package managers. The base installation gives you the core validation functionality, with optional dependencies for working with different data sources.

Basic Installation

You can install Pointblank using your preferred package manager:

pip install pointblank
uv pip install pointblank
conda install -c conda-forge pointblank

DataFrame Libraries

Pointblank requires a DataFrame library but doesn’t include one by default, giving you the flexibility to choose either Pandas or Polars:

# Using pip
pip install pointblank[pl]

# Or manually
pip install polars>=1.24.0
# Using pip
pip install pointblank[pd]

# Or manually
pip install pandas>=2.2.3

Pointblank works seamlessly with both libraries, and you can choose the one that best fits your workflow and performance requirements.

Optional Dependencies

Ibis Backends

To work with various database systems through Ibis, you can install additional backends:

pip install pointblank[sqlite]      # SQLite
pip install pointblank[duckdb]      # DuckDB
pip install pointblank[postgres]    # PostgreSQL
pip install pointblank[mysql]       # MySQL
pip install pointblank[mssql]       # Microsoft SQL Server
pip install pointblank[bigquery]    # BigQuery
pip install pointblank[pyspark]     # Apache Spark
pip install pointblank[databricks]  # Databricks
pip install pointblank[snowflake]   # Snowflake

# Example of installing multiple backends
pip install pointblank[duckdb,postgres,sqlite]
uv pip install pointblank[sqlite]      # SQLite
uv pip install pointblank[duckdb]      # DuckDB
uv pip install pointblank[postgres]    # PostgreSQL
uv pip install pointblank[mysql]       # MySQL
uv pip install pointblank[mssql]       # Microsoft SQL Server
uv pip install pointblank[bigquery]    # BigQuery
uv pip install pointblank[pyspark]     # Apache Spark
uv pip install pointblank[databricks]  # Databricks
uv pip install pointblank[snowflake]   # Snowflake

# Example of installing multiple backends
uv pip install pointblank[duckdb,postgres,sqlite]
conda install -c conda-forge pointblank-sqlite      # SQLite
conda install -c conda-forge pointblank-duckdb      # DuckDB
conda install -c conda-forge pointblank-postgres    # PostgreSQL
conda install -c conda-forge pointblank-mysql       # MySQL
conda install -c conda-forge pointblank-mssql       # Microsoft SQL Server
conda install -c conda-forge pointblank-bigquery    # BigQuery
conda install -c conda-forge pointblank-pyspark     # Apache Spark
conda install -c conda-forge pointblank-databricks  # Databricks
conda install -c conda-forge pointblank-snowflake   # Snowflake

# Example of installing multiple backends
conda install -c conda-forge pointblank-duckdb pointblank-postgres pointblank-sqlite
Note

Even when using exclusively Ibis backends, you still need either Pandas or Polars installed since Pointblank’s reporting functionality (powered by Great Tables) requires a DataFrame library for rendering tabular reporting results.

AI-Assisted Validation (Experimental)

Pointblank includes experimental support for AI-assisted validation plan generation:

pip install pointblank[generate]

This installs the necessary dependencies for working with LLM providers to help generate validation plans. See the Draft Validation article for how to create validation plans from existing data.

Development Version

If you want the latest development version with the newest features, you can install directly from GitHub:

pip install git+https://github.com/posit-dev/pointblank.git

Verifying Your Installation

You can verify your installation by importing Pointblank and checking the version:

import pointblank as pb
print(pb.__version__)

System Requirements

  • Python 3.10 or higher
  • a supported DataFrame library (Pandas or Polars)
  • optional: Ibis (for database connectivity)

Next Steps

Now that you’ve installed Pointblank, you’re ready to start validating your data. If you haven’t read the Introduction yet, consider starting there to learn the basic concepts.

If you encounter any installation issues, please open an issue on GitHub with details about your system and the specific error messages you’re seeing. The maintainers actively monitor these issues and can help troubleshoot problems.

For a quick test of your installation, try running a simple validation:

import pointblank as pb

# Load a small dataset
data = pb.load_dataset("small_table")

# Create a simple validation
validation = (
    pb.Validate(data=data)
    .col_exists(columns=["a", "b", "c"])
    .interrogate()
)

# Display the validation results
validation

Command Line Interface

Once installed, Pointblank also provides a powerful command-line interface for quick data validation tasks:

# Test the CLI with a built-in dataset
pb validate-simple small_table --check rows-distinct

# Check if a column exists
pb validate-simple small_table --check col-exists --column a

# Validate data ranges
pb validate-simple small_table --check col-vals-lt --column a --value 10

The CLI is perfect for:

  • quick data quality checks in CI/CD pipelines
  • exploratory data analysis from the terminal
  • integration with shell scripts and automation workflows
See the CLI in Action

Watch our interactive CLI demonstrations to see these commands executing in real-time with actual output formatting.

Learn more about the CLI capabilities in the Command Line Interface guide.