Repository navigation
v0.2.0
Highlights
- Agent-friendly CLI: new
fauxdata agentcommand prints a Markdown guide for AI agents (workflow, schema format, types, presets, rules, JSON output, exit codes, example).generate,validate,inferandpreviewaccept--json: stdout carries a single JSON object, errors come back as{"error": "..."}with exit code 1. - pointblank 1.0.1: minimum version raised from 0.25 (also brings Polars 2.0 compatibility).
- New validation rule
col_vals_str_len(column,minand/ormax).inferemits it for free-text string columns. - Native float
precision: rounding never pushes values outsidemin/max(bounds are moved inward to the precision grid) anduniquecolumns stay unique after rounding. Clear error when no value fits the range.
Fixes
infer --categorical-thresholdfrom the CLI was read as a fraction of rows, so every non-preset string column became categorical and its real values were copied intovalues:. Whole numbers are now counts.- Value rules (
col_vals_between,gt/lt/ge/le,regex,in_set) no longer count nulls as failures; usecol_vals_not_nullto forbid nulls. valuesonint/floatcolumns is now honored by the generator (previously ignored, breaking infer round-trips).rows_distinctno longer treats null keys as duplicates of each other.- A validation step on a column missing from the data is now reported as not evaluated (
"evaluated": false,NOT RUNin the table) instead of passing with 0 rows.
Behavior changes
- Value rules ignore nulls.
rows_distincttotals count only rows with non-null keys.--categorical-threshold Nwith a whole number is a count of distinct values (1means one value, not 100%).- Float columns with
precisionand bounds that have more decimals thanprecisiongenerate slightly narrower ranges than 0.1.6. - pointblank now requires
anthropic[bedrock], so installing fauxdata pulls in about 20 extra packages that fauxdata does not use.
Known limitations (upstream)
unique: trueis not enforced on coherent presets such asemail,name,city(posit-dev/pointblank#441).
Closes #1.