Skip to content

v0.25.0

Latest

Choose a tag to compare

@rich-iannone rich-iannone released this 12 Jun 16:44
· 58 commits to main since this release
b306422

Pointblank v0.25.0 introduces powerful new capabilities for data pipeline governance and synthetic data generation. This release adds boundary enforcement through contracts and pipelines, letting you validate data at both the source and target of a transformation. Rich schema inference automatically detects constraints from existing tables (including ranges, categorical values, and semantic presets) enabling realistic synthetic data generation. The prompt() validation method now accepts multi-modal attachments (images and PDFs), giving the LLM visual context when evaluating data quality.

New Features

  • Rich schema inferenceSchema.from_table() and schema_from_tbl() automatically extract comprehensive constraints from any supported table, including numeric ranges, categorical values, nullability, date bounds, and 25+ semantic presets (email, address, UUID, etc.) to power realistic synthetic data generation. (#391)

  • Multi-modal attachments in prompt() — The prompt() validation method now accepts an attachments= parameter for images and PDFs (local files or URLs), providing visual context to the LLM for richer data validation against brand guides, schema diagrams, or reference documents. (#393)

  • Boundary enforcement with contracts and pipelines — New Contract and Pipeline classes enable dual-boundary validation at the source and target of data transformations. Contracts define schema expectations and validation steps with ownership metadata, while pipelines orchestrate the full validate-transform-validate workflow with short-circuit optimization. (#401)

Bug Fixes

  • Lazy frames are no longer prematurely collected during interrogation, preserving the performance benefits of deferred evaluation with Polars LazyFrames. (#398)

  • rows_distinct() now correctly handles rows containing null values instead of dropping them from validation results. (#399)

  • The MCP server now starts reliably across different versions of the fastmcp library by using version-aware instantiation with fallback strategies. (#400)