BuildBatchRequestError when running a checkpoint (reading data from "dataframe")

Hi @KK1259, thanks for the question. Checkpoint.run accepts a single set of batch parameters and passes that same dict to every validation definition in the checkpoint. There’s no per-asset routing, so your asset-keyed dict reaches each dataframe asset as three unknown keys and raises “options must contain exactly 1 key, ‘dataframe’”.

For multiple dataframes, that means one checkpoint per dataframe, each run with batch_parameters={"dataframe": df}. If you don’t need a checkpoint’s actions (data docs updates, notifications, etc.), ValidationDefinition.run(batch_parameters={"dataframe": df}) is simpler and runs the same validation.

This part of the API is under consideration for change, and a future release may let a checkpoint accept different batch parameters for each validation definition.

Others have hit the same limitation: #1876, #2015.