Skip to main content
Challenge

Build a Frictionless Tabular Transaction Data Validator

Validate bulk tabular transaction datasets using the frictionless-py framework. Detect missing fields, type constraints, and duplicated headers to ensure data quality before AML pipeline ingestion.

CybersecurityHosted by Vera
Challenge brief

What you are building

The core problem, expected build, and operating context for this challenge.

Validate bulk tabular transaction datasets using the frictionless-py framework. Detect missing fields, type constraints, and duplicated headers to ensure data quality before AML pipeline ingestion.

Data Engineer

Ingest raw tabular CSV transaction files and predefined Frictionless Table Schema metadata.

Execute the frictionless-py validation engine to verify column types and foreign key constraints.

Parse the generated unified validation report to extract specific row and cell-level errors.

Generate a filtered error log outlining required tabular data repairs for data engineers.

A data quality dashboard highlighting specific invalid rows, missing fields, and type constraint violations.

Create synthetic messy CSV transaction extracts alongside a strict JSON Frictionless Table Schema specification. Starter examples below are synthetic. They are not downloaded records.

Frictionless data validation Employ frictionless-py validation primitives and schema resource descriptors to inspect tabular data as per source excerpt 3.

pydantic-ai, frictionless, pandas. Pydantic AI enforces strict typing for incoming tabular records and guarantees structured error report payloads. Standard inference model for parsing custom validation terms via hosted API.

Submit runnable source, pinned dependencies, setup commands, a working interface, example outputs, and a recorded end-to-end demo. Include tests and an action log.

Executes frictionless-py schema validation against incoming CSV tables.

Accurately maps cell-level errors to their corresponding schema constraints.

Generates a unified JSON validation report summarizing repair requirements.

```json [ { "input": { "dataset_id": "TX-BATCH-01", "schema_strict": true, "rows": [ { "id": "1", "amount": "100.50" }, { "id": "2", "amount": "invalid_string" } ], "note": "These are simplified synthetic app records, not complete official schema files." }, "expected_output": { "dataset_id": "TX-BATCH-01", "is_valid": false, "errors": [ { "row": 2, "field": "amount", "error_type": "type-error" } ] } }, { "input": { "dataset_id": "TX-BATCH-02", "schema_strict": true, "rows": [ { "id": "3", "amount": "250.00" } ], "note": "These are simplified synthetic app records, not complete official schema files." }, "expected_output": { "dataset_id": "TX-BATCH-02", "is_valid": true, "errors": [] } } ] ```

Processes synthetic transaction records. Generates simulated validation reports without interacting with live production AML databases. Use mock external writes. Require human review before any real deployment.

Rules

Participation guide

Processes synthetic transaction records. Generates simulated validation reports without interacting with live production AML databases. Use mock external writes and human review.

Delivery guide

How work is evaluated

Evaluation

Executes frictionless-py schema validation against incoming CSV tables. Accurately maps cell-level errors to their corresponding schema constraints. Generates a unified JSON validation report summarizing repair requirements.

Submission format

Runnable source, pinned dependencies, setup commands, working interface, example outputs, recorded demo, tests, and action logs.

Datasets

Challenge datasets

Public datasets, plus the private datasets you have access to.

Evaluation rubric

How submissions are scored

These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.

Dimensions
4 scoring checks
Binary
1 pass or fail dimensions
Ordinal
3 scaled dimensions
Dimension 1

Complete workflow

Ingest raw tabular CSV transaction files and predefined Frictionless Table Schema metadata. Execute the frictionless-py validation engine to verify column types and foreign key constraints. Parse the generated unified validation report to extract specific row and cell-level errors. Generate a filtered error log outlining required tabular data repairs for data engineers.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 2

Correctness and evidence

Executes frictionless-py schema validation against incoming CSV tables. Accurately maps cell-level errors to their corresponding schema constraints. Generates a unified JSON validation report summarizing repair requirements.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 3

Review interface

A data quality dashboard highlighting specific invalid rows, missing fields, and type constraint violations.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 4

Safe execution

Processes synthetic transaction records. Generates simulated validation reports without interacting with live production AML databases.

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Learning goals

What you should walk away with

  • Ingest raw tabular CSV transaction files and predefined Frictionless Table Schema metadata.

  • Execute the frictionless-py validation engine to verify column types and foreign key constraints.

  • Parse the generated unified validation report to extract specific row and cell-level errors.

  • Generate a filtered error log outlining required tabular data repairs for data engineers.

Resources and assets

Reference links and supporting material

Dataset notes

Create synthetic messy CSV transaction extracts alongside a strict JSON Frictionless Table Schema specification. Supplied starter examples are synthetic, not source extracts.

Challenge setup

Configuration summary for this challenge.

Challenge input

Input details are not configured.

Pydantic AI

Typed Python agent framework.

Evaluated output

No output checks are configured.

Evaluation checks
  • Ingest raw tabular CSV transaction files and predefined Frictionless Table Schema metadata. Execute the fri...
  • Executes frictionless-py schema validation against incoming CSV tables. Accurately maps cell-level errors t...
  • A data quality dashboard highlighting specific invalid rows, missing fields, and type constraint violations.
Configured evaluation evidence
  • 2 public reference cases
Configured runtime
  • 2 configured tools

Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.

View technical recipe

Configured tools

Action Space
  • Pydantic AI · Optional
Orchestration
  • Pydantic AI · Optional

Evaluation contract

  • Complete workflow · Weight 40
  • Correctness and evidence · Weight 30
  • Review interface · Weight 20
  • Safe execution · Weight 10

Reference cases

  • 2 public reference cases

Workflow tasks

No workflow tasks are configured.

Recipe freeze marker

No recipe freeze time is recorded.

Frequently Asked Questions about Build a Frictionless Tabular Transaction Data Validator