Skip to content

Reposition README around lint-time checking and coverage gate, refresh benchmarks - #57

Merged
w-martin merged 2 commits into
mainfrom
worktree-readme-coverage-linter-positioning
Aug 12, 2026
Merged

Reposition README around lint-time checking and coverage gate, refresh benchmarks#57
w-martin merged 2 commits into
mainfrom
worktree-readme-coverage-linter-positioning

Conversation

@w-martin

Copy link
Copy Markdown
Owner

Summary

  • Repositions the README's hero example and "Why typedframes?" section around how the tool is mainly used today: a zero-schema Rust linter plus an opt-in DataFrame schema coverage threshold for CI (analogous to a test-coverage gate or a bandit-style security lint gate), rather than leading with BaseSchema schema definitions. Schema classes are now framed as a progressive enhancement (cross-file awareness, IDE autocomplete) and moved into Quick Start.
  • Promotes "DataFrame Schema Coverage Thresholds" from a subsection of "Static Analysis" to its own top-level section, with a Table of Contents entry.
  • Re-runs benchmarks/benchmark_checkers.py --update-readme for current tool versions and timings (ruff 0.16.2, ty 0.0.69, pyrefly 1.2.0, mypy 2.3.0; pyright already current).
  • Fixes stale/inaccurate claims found while verifying against source and the live benchmark run:
    • --json example replaced with --output-format=json (the documented flag; --json is a hidden legacy alias in the CLI).
    • The "Standalone checker ✅ Rust (~1ms)" comparison-table cell and "ty ... 10-60x faster than mypy" claim no longer matched measured numbers — replaced with wording that matches the actual benchmark data.
    • Stray tool-version mentions elsewhere in prose synced to the refreshed benchmark table.

Test plan

  • uv run pytest -q — 299 passed
  • Verified every internal #anchor link in the README resolves to a real heading
  • Verified every --flag mentioned in the README exists in typedframes check --help
  • Verified comparison-library version pins (Pandera, Great Expectations, etc.) already match their uv.lock files — no change needed there

…h benchmarks

The checker is mostly used today as a zero-schema linter with a
DataFrame coverage threshold for CI (like a test-coverage or bandit
gate), not as a schema-definition tool, so the hero example and
"Why typedframes?" section now lead with that instead of BaseSchema.
Also re-ran the benchmark suite for current tool versions/numbers,
fixed a stale --json flag reference (the hidden legacy alias for
--output-format=json), and corrected two performance claims (~1ms
standalone checker, 10-60x faster ty) that no longer matched measured
results.
CI's format-check task lints Python code fenced in README.md too;
the extra space before the inline comment tripped it.
@w-martin
w-martin merged commit 61f4839 into main Aug 12, 2026
7 checks passed
@w-martin
w-martin deleted the worktree-readme-coverage-linter-positioning branch August 12, 2026 08:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant