Skip to content

docs: regenerate HTML examples; skip benchmark tests without benchmarks/; py3.9 aarch64 install note - #427

Merged
kevincostner17 merged 3 commits into
mainfrom
docs/examples-regen-and-sdist-tests
Sep 15, 2026
Merged

kevincostner17 merged 3 commits into
mainfrom
docs/examples-regen-and-sdist-tests

Conversation

@kevincostner17

Copy link
Copy Markdown
Contributor

Summary

  • Docs: docs/examples/*.html is regenerated with scripts/generate_html_examples.py, so it matches current default output:

    • rows read 205 → 205 (duplicates are reported, not removed)
    • revenue shows outliers → flag (7 flagged)
    • the quality-debt total is 0.34
    • schema_drift and category_churn are shown as not assessed

    The action-timeline duration and the quality-debt run_at timestamp come from the run itself, and no renderer option omits them, so those two values differ on every regeneration. Regenerating again on current main changed only those two values.

  • Tests: benchmark tests that read benchmarks/ inside the test body now skip when that directory is absent, as in an unpacked sdist, instead of failing or erroring. In a git checkout they still run.

    • The bench_streaming fixture uses pytest.importorskip, like the cleanbench suites.
    • test_benchmark_smoke and test_cli_benchmark_stream_writes_json skip when their benchmark file is missing.
    • The CLI test runs from the repo root, because the command finds benchmarks/ relative to the working directory.
  • Packaging docs: a note in docs/installation.md, and next to the py3.9 caps in pyproject.toml, says that on Python 3.9 / Linux aarch64 the privacy extra compiles thinc and blis from source.

    • thinc 8.3.4 and blis 1.2.0 have no cp39 aarch64 wheels.
    • spacy 3.8.7 requires thinc>=8.3.4,<8.4, so no pin avoids the source build.
    • Dependency pins are unchanged.

Tests

  • tests/test_streaming_cli.py: skip handling for the bench_module fixture and the benchmark-stream CLI test.
  • tests/test_enterprise_entity_resolution_dedupe.py: skip handling for test_benchmark_smoke.

Verification

  • ruff check .: clean.
  • pytest -m "not online and not large":
    • Python 3.12: 6303 passed, 14 skipped.
    • Python 3.9: 6273 passed, 18 skipped, 1 failed. The failure is test_clean_duration_within_baselines[aggressive-letter_recognition], a rows-per-second timing check that failed while other suites shared the machine. Isolated reruns failed on different dataset variants. No library code changes in this PR.
  • Simulated sdist (the hatch sdist include list, without benchmarks/): the two test files give 43 passed, 4 skipped, 0 failed. In a git checkout the 4 benchmark tests pass.
  • uv lock --check: passes.

Default-output changes

None. This PR regenerates committed example HTML to match current output and changes only tests, docs and a pyproject.toml comment. No library code or dependency pins change.

The committed samples predated the report-only duplicate default, the
outlier flag default and the not-assessed quality-debt dimensions (#420):
rows now read 205 -> 205, revenue shows outliers -> flag (7 flagged), and
the quality_debt total is 0.34 with schema_drift/category_churn unknown.

Regenerated with scripts/generate_html_examples.py. The action timeline's
duration and the quality-debt run_at timestamp are run-dependent and no
renderer option omits them, so those lines change on every regeneration.
The sdist ships tests/ but not benchmarks/. conftest.py only filters
module-level imports, so tests that read benchmarks/ inside the test body
failed or errored from an unpacked sdist. The bench_streaming fixture now
uses pytest.importorskip (as the cleanbench suites do), and the entity
resolution smoke test and benchmark-stream CLI test skip when the
benchmark file is missing. The CLI test also runs from the repo root, since
the command resolves benchmarks/ against the working directory.
…source

thinc 8.3.4 and blis 1.2.0 publish no cp39 Linux aarch64 wheel, and spacy
3.8.7 (the py3.9 cap) requires thinc>=8.3.4,<8.4, so no pin avoids the
source build. Document it in the install guide and next to the py3.9 caps
in pyproject.toml. Dependency pins are unchanged.
@coderabbitai

coderabbitai Bot commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 41815427-90b4-4da5-a91a-4574105404d3


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@kevincostner17
kevincostner17 merged commit 7c3cf44 into main Sep 15, 2026
20 checks passed
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