From 1e4d40afcd6149b7601e3bc89bb20386530b91d6 Mon Sep 17 00:00:00 2001 From: Rohit Goswami Date: Tue, 5 May 2026 16:58:38 +0200 Subject: [PATCH 1/2] feat: add pointblank tutorial materials --- python-pointblank/README.md | 24 ++ python-pointblank/pointblank_atoms.csv | 14 ++ python-pointblank/pointblank_atoms.py | 40 +++ python-pointblank/pointblank_atoms.yaml | 18 ++ python-pointblank/pointblank_quickstart.py | 38 +++ python-pointblank/pointblank_report.html | 235 ++++++++++++++++++ python-pointblank/pointblank_report.png | Bin 0 -> 43934 bytes .../pointblank_starter_validation.yaml | 24 ++ python-pointblank/pointblank_thresholds.py | 48 ++++ 9 files changed, 441 insertions(+) create mode 100644 python-pointblank/README.md create mode 100644 python-pointblank/pointblank_atoms.csv create mode 100644 python-pointblank/pointblank_atoms.py create mode 100644 python-pointblank/pointblank_atoms.yaml create mode 100644 python-pointblank/pointblank_quickstart.py create mode 100644 python-pointblank/pointblank_report.html create mode 100644 python-pointblank/pointblank_report.png create mode 100644 python-pointblank/pointblank_starter_validation.yaml create mode 100644 python-pointblank/pointblank_thresholds.py diff --git a/python-pointblank/README.md b/python-pointblank/README.md new file mode 100644 index 0000000000..2fae88f76f --- /dev/null +++ b/python-pointblank/README.md @@ -0,0 +1,24 @@ +# Validating Data With Pointblank in Python + +Supporting code and sample data for the Real Python tutorial +"Validating Data With Pointblank in Python". + +## Requirements + +The Python scripts use PEP 723 dependency metadata and run with +[uv](https://docs.astral.sh/uv/): + +```console +$ uv run pointblank_quickstart.py +$ uv run pointblank_thresholds.py +$ uv run pointblank_atoms.py +``` + +The command-line examples can run without a project environment: + +```console +$ uv run --no-project --with 'pointblank[pl]' -- pb scan pointblank_atoms.csv +$ uv run --no-project --with 'pointblank[pl]' -- pb missing pointblank_atoms.csv +$ uvx --from 'pointblank[pl]' pb run pointblank_atoms.yaml --output-html pointblank_report.html +``` + diff --git a/python-pointblank/pointblank_atoms.csv b/python-pointblank/pointblank_atoms.csv new file mode 100644 index 0000000000..f558fa9e69 --- /dev/null +++ b/python-pointblank/pointblank_atoms.csv @@ -0,0 +1,14 @@ +atom_id,symbol,x,y,z,fx,fy,fz +0,Cu,1.0,0.5,0.1,0.1,0.0,0.0 +1,Pt,2.1,1.5,0.2,-0.2,0.1,-0.1 +2,Cu,3.2,2.5,0.3,0.3,-0.1,0.1 +3,Pt,4.3,3.5,0.4,-0.1,0.0,0.0 +4,Cu,5.4,4.5,0.5,0.2,0.1,-0.1 +5,Pt,6.5,5.5,0.6,-0.3,-0.1,0.1 +6,Cu,7.6,6.5,0.7,0.1,0.0,0.0 +7,Pt,8.7,7.5,0.8,-0.2,0.1,-0.1 +8,Cu,9.8,8.5,0.9,0.3,-0.1,0.1 +9,Pt,10.9,9.5,1.0,-0.1,0.0,0.0 +10,Zz,0.5,0.5,0.1,0.0,0.0,0.0 +11,Cu,,1.5,0.2,0.0,0.0,0.0 +12,Pt,12.1,2.5,0.3,1500.0,0.0,0.0 diff --git a/python-pointblank/pointblank_atoms.py b/python-pointblank/pointblank_atoms.py new file mode 100644 index 0000000000..9c04604370 --- /dev/null +++ b/python-pointblank/pointblank_atoms.py @@ -0,0 +1,40 @@ +# /// script +# requires-python = ">=3.10" +# dependencies = [ +# "pointblank[pl]", +# ] +# /// + +import polars as pl +import pointblank as pb + +VALID_ELEMENTS = {"Cu", "Pt"} + + +def main() -> None: + atoms = pl.read_csv("pointblank_atoms.csv") + + validation = ( + pb.Validate( + data=atoms, + tbl_name="atoms_from_parser", + label="Round-trip validation before re-export", + thresholds=pb.Thresholds(warning=0.05, error=0.10, critical=0.25), + ) + .col_vals_in_set(columns="symbol", set=list(VALID_ELEMENTS)) + .col_vals_not_null(columns=["x", "y", "z"]) + .col_vals_between(columns=["x", "y", "z"], left=0, right=20) + .col_vals_between(columns="fx", left=-1000, right=1000) + .interrogate() + ) + + clean = validation.get_sundered_data(type="pass") + dirty = validation.get_sundered_data(type="fail") + + print(f"Safe to re-export: {len(clean)} rows") + print(f"Needs review: {len(dirty)} rows\n") + print(dirty.select(["atom_id", "symbol", "x", "fx"])) + + +if __name__ == "__main__": + main() diff --git a/python-pointblank/pointblank_atoms.yaml b/python-pointblank/pointblank_atoms.yaml new file mode 100644 index 0000000000..06966fd01a --- /dev/null +++ b/python-pointblank/pointblank_atoms.yaml @@ -0,0 +1,18 @@ +tbl: pointblank_atoms.csv +df_library: polars +tbl_name: "Atom Validation" +label: "Tutorial YAML validation" +thresholds: + warning: 0.02 + error: 0.05 + critical: 0.07 +steps: + - col_vals_in_set: + columns: symbol + set: [Cu, Pt] + - col_vals_not_null: + columns: x + - col_vals_between: + columns: fx + left: -1000 + right: 1000 diff --git a/python-pointblank/pointblank_quickstart.py b/python-pointblank/pointblank_quickstart.py new file mode 100644 index 0000000000..987829a4ad --- /dev/null +++ b/python-pointblank/pointblank_quickstart.py @@ -0,0 +1,38 @@ +# /// script +# requires-python = ">=3.10" +# dependencies = [ +# "pointblank[pl]", +# ] +# /// + +import pointblank as pb + + +def main() -> None: + validation = ( + pb.Validate( + data=pb.load_dataset("small_table", tbl_type="polars"), + tbl_name="small_table", + label="Quickstart validation", + ) + .col_vals_between(columns="d", left=0, right=5000) + .col_vals_in_set(columns="f", set=["low", "mid", "high"]) + .col_vals_not_null(columns="c") + .interrogate() + ) + + print("Validation summary:\n") + for step in validation.validation_info: + print( + f"{step.assertion_type:>20} " + f"passed={step.n_passed:>2} " + f"failed={step.n_failed:>2}" + ) + + print( + "\nRun this same object in a notebook to see the interactive report." + ) + + +if __name__ == "__main__": + main() diff --git a/python-pointblank/pointblank_report.html b/python-pointblank/pointblank_report.html new file mode 100644 index 0000000000..a79f14ab4d --- /dev/null +++ b/python-pointblank/pointblank_report.html @@ -0,0 +1,235 @@ +
+ + ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Pointblank Validation
Tutorial YAML validation
PolarsAtom ValidationWARNING0.02ERROR0.05CRITICAL0.07
STEPCOLUMNSVALUESTBLEVALUNITSPASSFAILWECEXT
#FF33001 +
+ + + col_vals_in_set + + + + + + + +
+
+
col_vals_in_set()
+
+ +
symbolCu, Pt + + + + + + + +1312
0.92
1
0.08
#FF33002 +
+ + + col_vals_not_null + + + + + + + + + +
+
+
col_vals_not_null()
+
+ +
x + + + + + + + +1312
0.92
1
0.08
#FF33003 +
+ + + col_vals_between + + + + + + + +
+
+
col_vals_between()
+
+ +
fx[-1000, 1000] + + + + + + + +1312
0.92
1
0.08
2026-04-28 15:18:46 UTC< 1 s2026-04-28 15:18:46 UTC
+ +
+ \ No newline at end of file diff --git a/python-pointblank/pointblank_report.png b/python-pointblank/pointblank_report.png new file mode 100644 index 0000000000000000000000000000000000000000..8de444fa0622682dc55ba49e30a966bf58680815 GIT binary patch literal 43934 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

FEuaf9mWML9e5{ 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 literal 0 HcmV?d00001 diff --git a/python-pointblank/pointblank_starter_validation.yaml b/python-pointblank/pointblank_starter_validation.yaml new file mode 100644 index 0000000000..0b5603d439 --- /dev/null +++ b/python-pointblank/pointblank_starter_validation.yaml @@ -0,0 +1,24 @@ +# Starter Pointblank template for adapting to your own pipeline. +# +# You can run this template against a real file with: +# uv run --no-project --with 'pointblank[pl]' -- pb run pointblank_starter_validation.yaml --data your_data.csv --fail-on critical + +tbl: small_table +df_library: polars +tbl_name: "Starter Validation" +label: "Adapt this template to your data" +thresholds: + warning: 0.02 + error: 0.05 + critical: 0.10 +steps: + - col_exists: + columns: [record_id, status, amount] + - col_vals_not_null: + columns: record_id + - col_vals_in_set: + columns: status + set: [pending, shipped, delivered] + - col_vals_gt: + columns: amount + value: 0 diff --git a/python-pointblank/pointblank_thresholds.py b/python-pointblank/pointblank_thresholds.py new file mode 100644 index 0000000000..7e9b8d99c0 --- /dev/null +++ b/python-pointblank/pointblank_thresholds.py @@ -0,0 +1,48 @@ +# /// script +# requires-python = ">=3.10" +# dependencies = [ +# "pointblank[pl]", +# ] +# /// + +import pointblank as pb + + +def main() -> None: + validation = ( + pb.Validate( + data=pb.load_dataset("small_table", tbl_type="polars"), + tbl_name="small_table", + label="Threshold-driven validation", + thresholds=pb.Thresholds(warning=0.05, error=0.10, critical=0.15), + actions=pb.Actions( + warning=( + "Warning: step {step} reached {level} severity during " + "{type}." + ), + critical=( + "Critical: step {step} reached {level} severity during " + "{type}." + ), + ), + ) + .col_vals_between(columns="d", left=0, right=5000) + .col_vals_not_null(columns="c") + .rows_distinct() + .interrogate() + ) + + print("All checks passed perfectly:", validation.all_passed()) + print( + "Anything above the error threshold:", + validation.above_threshold(level="error"), + ) + + try: + validation.assert_below_threshold(level="critical") + except AssertionError as exc: + print("CI gate tripped:", exc) + + +if __name__ == "__main__": + main() From 2f79a3f93542b8cabdecad07adfe5d603706b291 Mon Sep 17 00:00:00 2001 From: Rohit Goswami Date: Wed, 6 May 2026 16:07:23 +0200 Subject: [PATCH 2/2] docs: refine pointblank materials --- python-pointblank/pointblank_atoms.py | 11 +- python-pointblank/pointblank_atoms.yaml | 6 +- python-pointblank/pointblank_quickstart.py | 17 +- python-pointblank/pointblank_report.html | 226 +++++++++++++++++- python-pointblank/pointblank_report.png | Bin 43934 -> 72739 bytes .../pointblank_starter_validation.yaml | 2 +- 6 files changed, 239 insertions(+), 23 deletions(-) diff --git a/python-pointblank/pointblank_atoms.py b/python-pointblank/pointblank_atoms.py index 9c04604370..a1bec97dba 100644 --- a/python-pointblank/pointblank_atoms.py +++ b/python-pointblank/pointblank_atoms.py @@ -8,7 +8,7 @@ import polars as pl import pointblank as pb -VALID_ELEMENTS = {"Cu", "Pt"} +VALID_ELEMENTS = ["Cu", "Pt"] def main() -> None: @@ -19,9 +19,9 @@ def main() -> None: data=atoms, tbl_name="atoms_from_parser", label="Round-trip validation before re-export", - thresholds=pb.Thresholds(warning=0.05, error=0.10, critical=0.25), + thresholds=pb.Thresholds(warning=0.02, error=0.05, critical=0.07), ) - .col_vals_in_set(columns="symbol", set=list(VALID_ELEMENTS)) + .col_vals_in_set(columns="symbol", set=VALID_ELEMENTS) .col_vals_not_null(columns=["x", "y", "z"]) .col_vals_between(columns=["x", "y", "z"], left=0, right=20) .col_vals_between(columns="fx", left=-1000, right=1000) @@ -32,7 +32,10 @@ def main() -> None: dirty = validation.get_sundered_data(type="fail") print(f"Safe to re-export: {len(clean)} rows") - print(f"Needs review: {len(dirty)} rows\n") + print(f"Needs review: {len(dirty)} rows") + print("\nClean rows") + print(clean.select(["atom_id", "symbol", "x", "fx"])) + print("\nDirty rows") print(dirty.select(["atom_id", "symbol", "x", "fx"])) diff --git a/python-pointblank/pointblank_atoms.yaml b/python-pointblank/pointblank_atoms.yaml index 06966fd01a..edeac47fa8 100644 --- a/python-pointblank/pointblank_atoms.yaml +++ b/python-pointblank/pointblank_atoms.yaml @@ -11,7 +11,11 @@ steps: columns: symbol set: [Cu, Pt] - col_vals_not_null: - columns: x + columns: [x, y, z] + - col_vals_between: + columns: [x, y, z] + left: 0 + right: 20 - col_vals_between: columns: fx left: -1000 diff --git a/python-pointblank/pointblank_quickstart.py b/python-pointblank/pointblank_quickstart.py index 987829a4ad..e51b4875eb 100644 --- a/python-pointblank/pointblank_quickstart.py +++ b/python-pointblank/pointblank_quickstart.py @@ -21,18 +21,19 @@ def main() -> None: .interrogate() ) + report = validation.get_dataframe_report() + summary = report.select( + ["step_description", "pass_n", "failed_n"] + ).iter_rows(named=True) + print("Validation summary:\n") - for step in validation.validation_info: + for step in summary: print( - f"{step.assertion_type:>20} " - f"passed={step.n_passed:>2} " - f"failed={step.n_failed:>2}" + f"{step['step_description']:20}" + f"passed={step['pass_n']:<4}" + f"failed={step['failed_n']}" ) - print( - "\nRun this same object in a notebook to see the interactive report." - ) - if __name__ == "__main__": main() diff --git a/python-pointblank/pointblank_report.html b/python-pointblank/pointblank_report.html index a79f14ab4d..6dae8b9841 100644 --- a/python-pointblank/pointblank_report.html +++ b/python-pointblank/pointblank_report.html @@ -49,7 +49,7 @@ #pb_tbl .gt_super { font-size: 65%; } #pb_tbl .gt_footnote_marks { font-size: 75%; vertical-align: 0.4em; position: initial; } #pb_tbl .gt_asterisk { font-size: 100%; vertical-align: 0; } - + @@ -114,7 +114,7 @@
col_vals_in_set()
- + @@ -157,7 +157,7 @@
col_vals_not_null()
- + @@ -180,11 +180,97 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -218,13 +427,13 @@ - + - + - + @@ -232,4 +441,3 @@
symbol Cu, Pt x
#FF3300#4CA64C 3
+ + col_vals_not_null + + + + + + + + + +
+
+
col_vals_not_null()
+
+ +
y + + + + + + + +1313
1.00
0
0.00
—
#4CA64C4 +
+ + + col_vals_not_null + + + + + + + + + +
+
+
col_vals_not_null()
+
+ +
z + + + + + + + +1313
1.00
0
0.00
—
#FF33005 +
+ col_vals_between @@ -198,7 +284,130 @@
col_vals_between()
- + +
x[0, 20] + + + + + + + +1312
0.92
1
0.08
#4CA64C6 +
+ + + col_vals_between + + + + + + + +
+
+
col_vals_between()
+
+ +
y[0, 20] + + + + + + + +1313
1.00
0
0.00
—
#4CA64C7 +
+ + + col_vals_between + + + + + + + +
+
+
col_vals_between()
+
+ +
z[0, 20] + + + + + + + +1313
1.00
0
0.00
—
#FF33008 +
+ + + col_vals_between + + + + + + + +
+
+
col_vals_between()
+
+
fx [-1000, 1000]
2026-04-28 15:18:46 UTC< 1 s2026-04-28 15:18:46 UTC
2026-05-06 13:39:39 UTC< 1 s2026-05-06 13:39:39 UTC
- \ No newline at end of file diff --git a/python-pointblank/pointblank_report.png b/python-pointblank/pointblank_report.png index 8de444fa0622682dc55ba49e30a966bf58680815..d3d2d268240e1ce5252a74e1201a0e89006edc86 100644 GIT binary patch literal 72739 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

Ov!><$gu$-<(|JMQXu%1sFs@p9dBk)V>7i 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 literal 43934 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

FEuaf9mWML9e5{ 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 diff --git a/python-pointblank/pointblank_starter_validation.yaml b/python-pointblank/pointblank_starter_validation.yaml index 0b5603d439..4a5f405b2c 100644 --- a/python-pointblank/pointblank_starter_validation.yaml +++ b/python-pointblank/pointblank_starter_validation.yaml @@ -1,7 +1,7 @@ # Starter Pointblank template for adapting to your own pipeline. # # You can run this template against a real file with: -# uv run --no-project --with 'pointblank[pl]' -- pb run pointblank_starter_validation.yaml --data your_data.csv --fail-on critical +# uv run --no-project --with 'pointblank[pl]' pb run pointblank_starter_validation.yaml --data your_data.csv --fail-on critical tbl: small_table df_library: polars