Skip to content

Commit 7c3cf44

Browse files
docs: regenerate HTML examples; skip benchmark tests without benchmarks/; py3.9 aarch64 install note (#427)
* docs: regenerate HTML examples for current default output 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. * test: skip benchmark tests when benchmarks/ is absent 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. * docs: note Python 3.9 on Linux aarch64 builds the privacy stack from 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.
1 parent e2bdbac commit 7c3cf44

10 files changed

Lines changed: 40 additions & 24 deletions

‎docs/examples/action_timeline.html‎

Lines changed: 4 additions & 4 deletions
Large diffs are not rendered by default.

‎docs/examples/baseline_drift.html‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,4 @@
3232
<div class="fd-report"><h2>freshdata drift report — baseline</h2><div class="fd-meta">FAIL · 1 error(s), 1 warning(s) · baseline v1.0.0</div><div class="fd-cards"><div class="fd-card"><div class="v">FAIL</div><div class="l">verdict</div></div><div class="fd-card"><div class="v">1</div><div class="l">errors</div></div><div class="fd-card"><div class="v">1</div><div class="l">warnings</div></div></div>
3333
<h3>What likely matters</h3><ul><li>50 new record(s) since the baseline.</li></ul>
3434
<h3>Findings</h3><div class="fd-controls"><input data-col="1" placeholder="filter column…"></div><table class="fd-table" id="fd-drift"><thead><tr><th>check</th><th>column</th><th>status</th><th>message</th></tr></thead><tbody><tr><td>drift.ks</td><td>customer_id</td><td><span class="fd-badge" style="background:#9a6700">medium</span></td><td>KS 0.244 &gt;= warn threshold 0.1</td></tr><tr><td>drift.psi</td><td>customer_id</td><td><span class="fd-badge" style="background:#cf222e">high</span></td><td>PSI 0.877 &gt;= fail threshold 0.25</td></tr></tbody></table><script>(function(){var s=document.currentScript;if(!s)return;var t=s.previousElementSibling;if(!t||t.tagName!=='TABLE'||!t.tBodies.length)return;var c=t.previousElementSibling;if(!c||(' '+c.className+' ').indexOf(' fd-controls ')<0)return;var inp=c.querySelectorAll('input[data-col]');function run(){var rows=t.tBodies[0].rows;for(var i=0;i<rows.length;i++){var show=true;for(var j=0;j<inp.length;j++){var q=inp[j].value.toLowerCase();if(!q)continue;var cell=rows[i].cells[+inp[j].getAttribute('data-col')];if(!cell||(cell.textContent||'').toLowerCase().indexOf(q)<0){show=false;break;}}rows[i].style.display=show?'':'none';}}for(var k=0;k<inp.length;k++){inp[k].addEventListener('input',run);}})();</script>
35-
<a download="drift_report.json" href="data:application/json;base64,ewogICJiYXNlbGluZV9uYW1lIjogImJhc2VsaW5lIiwKICAiYmFzZWxpbmVfdmVyc2lvbiI6ICIxLjAuMCIsCiAgInBhc3NlZCI6IGZhbHNlLAogICJuX2ZpbmRpbmdzIjogMiwKICAibl9lcnJvcnMiOiAxLAogICJuX3dhcm5pbmdzIjogMSwKICAidHJ1c3Rfc2NvcmUiOiBudWxsLAogICJmaW5kaW5ncyI6IFsKICAgIHsKICAgICAgImNoZWNrX2lkIjogImRyaWZ0LmtzIiwKICAgICAgImxldmVsIjogIndhcm5pbmciLAogICAgICAic3RhdHVzIjogIndhcm5lZCIsCiAgICAgICJjb2x1bW4iOiAiY3VzdG9tZXJfaWQiLAogICAgICAibWVzc2FnZSI6ICJLUyAwLjI0NCA+PSB3YXJuIHRocmVzaG9sZCAwLjEiLAogICAgICAiYmFzZWxpbmVfdmFsdWUiOiBudWxsLAogICAgICAiY3VycmVudF92YWx1ZSI6IDAuMjQzOTAyLAogICAgICAibWV0cmljIjogImtzIiwKICAgICAgInRocmVzaG9sZCI6IDAuMSwKICAgICAgImRldGFpbHMiOiB7fQogICAgfSwKICAgIHsKICAgICAgImNoZWNrX2lkIjogImRyaWZ0LnBzaSIsCiAgICAgICJsZXZlbCI6ICJlcnJvciIsCiAgICAgICJzdGF0dXMiOiAiZmFpbGVkIiwKICAgICAgImNvbHVtbiI6ICJjdXN0b21lcl9pZCIsCiAgICAgICJtZXNzYWdlIjogIlBTSSAwLjg3NyA+PSBmYWlsIHRocmVzaG9sZCAwLjI1IiwKICAgICAgImJhc2VsaW5lX3ZhbHVlIjogbnVsbCwKICAgICAgImN1cnJlbnRfdmFsdWUiOiAwLjg3NjczNywKICAgICAgIm1ldHJpYyI6ICJwc2kiLAogICAgICAidGhyZXNob2xkIjogMC4yNSwKICAgICAgImRldGFpbHMiOiB7fQogICAgfQogIF0sCiAgImRpc3RyaWJ1dGlvbl9kcmlmdCI6IHsKICAgICJjdXN0b21lcl9pZCI6IHsKICAgICAgImtzIjogMC4yNDM5MDIsCiAgICAgICJwc2kiOiAwLjg3NjczNywKICAgICAgInJhbmdlIjogewogICAgICAgICJiYXNlbGluZSI6IFsKICAgICAgICAgIDEuMCwKICAgICAgICAgIDE1MC4wCiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgInJldmVudWUiOiB7CiAgICAgICJrcyI6IDAuMDM2NTg1LAogICAgICAicHNpIjogMC4wMjk4NTUsCiAgICAgICJyYW5nZSI6IHsKICAgICAgICAiYmFzZWxpbmUiOiBbCiAgICAgICAgICA0MDguNjcsCiAgICAgICAgICAxMTAwMDAwLjAKICAgICAgICBdCiAgICAgIH0KICAgIH0sCiAgICAidGllciI6IHsKICAgICAgInBzaSI6IDAuMDA0NzU3CiAgICB9CiAgfSwKICAiY29udHJhY3RfcmVzdWx0cyI6IHt9LAogICJrZXlfY2hhbmdlcyI6IHsKICAgICJrZXkiOiBbCiAgICAgICJjdXN0b21lcl9pZCIKICAgIF0sCiAgICAiYmFzZWxpbmVfcmVjb3JkcyI6IDE1MCwKICAgICJjdXJyZW50X3JlY29yZHMiOiAyMDAsCiAgICAiYWRkZWQiOiA1MCwKICAgICJyZW1vdmVkIjogMCwKICAgICJjaGFuZ2VkIjogMCwKICAgICJ1bmNoYW5nZWQiOiAxNTAKICB9Cn0=" style="font-size:.8rem;margin-right:.6rem">⬇ JSON</a></div>
35+
<a download="drift_report.json" href="data:application/json;base64,ewogICJiYXNlbGluZV9uYW1lIjogImJhc2VsaW5lIiwKICAiYmFzZWxpbmVfdmVyc2lvbiI6ICIxLjAuMCIsCiAgInBhc3NlZCI6IGZhbHNlLAogICJuX2ZpbmRpbmdzIjogMiwKICAibl9lcnJvcnMiOiAxLAogICJuX3dhcm5pbmdzIjogMSwKICAidHJ1c3Rfc2NvcmUiOiBudWxsLAogICJmaW5kaW5ncyI6IFsKICAgIHsKICAgICAgImNoZWNrX2lkIjogImRyaWZ0LmtzIiwKICAgICAgImxldmVsIjogIndhcm5pbmciLAogICAgICAic3RhdHVzIjogIndhcm5lZCIsCiAgICAgICJjb2x1bW4iOiAiY3VzdG9tZXJfaWQiLAogICAgICAibWVzc2FnZSI6ICJLUyAwLjI0NCA+PSB3YXJuIHRocmVzaG9sZCAwLjEiLAogICAgICAiYmFzZWxpbmVfdmFsdWUiOiBudWxsLAogICAgICAiY3VycmVudF92YWx1ZSI6IDAuMjQzOTAyLAogICAgICAibWV0cmljIjogImtzIiwKICAgICAgInRocmVzaG9sZCI6IDAuMSwKICAgICAgImRldGFpbHMiOiB7fQogICAgfSwKICAgIHsKICAgICAgImNoZWNrX2lkIjogImRyaWZ0LnBzaSIsCiAgICAgICJsZXZlbCI6ICJlcnJvciIsCiAgICAgICJzdGF0dXMiOiAiZmFpbGVkIiwKICAgICAgImNvbHVtbiI6ICJjdXN0b21lcl9pZCIsCiAgICAgICJtZXNzYWdlIjogIlBTSSAwLjg3NyA+PSBmYWlsIHRocmVzaG9sZCAwLjI1IiwKICAgICAgImJhc2VsaW5lX3ZhbHVlIjogbnVsbCwKICAgICAgImN1cnJlbnRfdmFsdWUiOiAwLjg3NjczNywKICAgICAgIm1ldHJpYyI6ICJwc2kiLAogICAgICAidGhyZXNob2xkIjogMC4yNSwKICAgICAgImRldGFpbHMiOiB7fQogICAgfQogIF0sCiAgImRpc3RyaWJ1dGlvbl9kcmlmdCI6IHsKICAgICJjdXN0b21lcl9pZCI6IHsKICAgICAgImtzIjogMC4yNDM5MDIsCiAgICAgICJwc2kiOiAwLjg3NjczNywKICAgICAgInJhbmdlIjogewogICAgICAgICJiYXNlbGluZSI6IFsKICAgICAgICAgIDEuMCwKICAgICAgICAgIDE1MC4wCiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgInJldmVudWUiOiB7CiAgICAgICJrcyI6IDAuMDM2NTg1LAogICAgICAicHNpIjogMC4wMjI4OTEsCiAgICAgICJyYW5nZSI6IHsKICAgICAgICAiYmFzZWxpbmUiOiBbCiAgICAgICAgICA0MDguNjcsCiAgICAgICAgICAxMTAwMDAwLjAKICAgICAgICBdCiAgICAgIH0KICAgIH0sCiAgICAidGllciI6IHsKICAgICAgInBzaSI6IDAuMDA0NzU3CiAgICB9CiAgfSwKICAiY29udHJhY3RfcmVzdWx0cyI6IHt9LAogICJrZXlfY2hhbmdlcyI6IHsKICAgICJrZXkiOiBbCiAgICAgICJjdXN0b21lcl9pZCIKICAgIF0sCiAgICAiYmFzZWxpbmVfcmVjb3JkcyI6IDE1MCwKICAgICJjdXJyZW50X3JlY29yZHMiOiAyMDAsCiAgICAiYWRkZWQiOiA1MCwKICAgICJyZW1vdmVkIjogMCwKICAgICJjaGFuZ2VkIjogMCwKICAgICJ1bmNoYW5nZWQiOiAxNTAKICB9Cn0=" style="font-size:.8rem;margin-right:.6rem">⬇ JSON</a></div>

‎docs/examples/compare_plans_grid.html‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,4 @@
2929
.fd-del-pos{color:#1a7f37}.fd-del-neg{color:#cf222e}
3030
.fd-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}
3131
</style>
32-
<div class="fd-report"><h2>freshdata strategy comparison</h2><div class="fd-meta">strategy diff grid</div><div class="fd-controls"><input data-col="0" placeholder="filter column…"><input data-col="1" placeholder="filter strategy…"></div><table class="fd-table" id="fd-cmp-plans"><thead><tr><th>column</th><th>strategy</th><th>missing_model</th><th>outlier_action</th><th>n_outliers</th></tr></thead><tbody><tr><td>email</td><td>balanced</td><td>preserve</td><td></td><td>0</td></tr><tr><td>revenue</td><td>balanced</td><td></td><td></td><td>5</td></tr><tr><td>tier</td><td>balanced</td><td>sentinel</td><td></td><td>0</td></tr><tr><td>email</td><td>aggressive</td><td>preserve</td><td></td><td>0</td></tr><tr><td>revenue</td><td>aggressive</td><td></td><td></td><td>5</td></tr><tr><td>tier</td><td>aggressive</td><td>sentinel</td><td></td><td>0</td></tr></tbody></table><script>(function(){var s=document.currentScript;if(!s)return;var t=s.previousElementSibling;if(!t||t.tagName!=='TABLE'||!t.tBodies.length)return;var c=t.previousElementSibling;if(!c||(' '+c.className+' ').indexOf(' fd-controls ')<0)return;var inp=c.querySelectorAll('input[data-col]');function run(){var rows=t.tBodies[0].rows;for(var i=0;i<rows.length;i++){var show=true;for(var j=0;j<inp.length;j++){var q=inp[j].value.toLowerCase();if(!q)continue;var cell=rows[i].cells[+inp[j].getAttribute('data-col')];if(!cell||(cell.textContent||'').toLowerCase().indexOf(q)<0){show=false;break;}}rows[i].style.display=show?'':'none';}}for(var k=0;k<inp.length;k++){inp[k].addEventListener('input',run);}})();</script></div>
32+
<div class="fd-report"><h2>freshdata strategy comparison</h2><div class="fd-meta">strategy diff grid</div><div class="fd-controls"><input data-col="0" placeholder="filter column…"><input data-col="1" placeholder="filter strategy…"></div><table class="fd-table" id="fd-cmp-plans"><thead><tr><th>column</th><th>strategy</th><th>missing_model</th><th>outlier_action</th><th>n_outliers</th></tr></thead><tbody><tr><td>email</td><td>balanced</td><td>preserve</td><td></td><td>0</td></tr><tr><td>revenue</td><td>balanced</td><td></td><td>flag</td><td>7</td></tr><tr><td>tier</td><td>balanced</td><td>sentinel</td><td></td><td>0</td></tr><tr><td>email</td><td>aggressive</td><td>preserve</td><td></td><td>0</td></tr><tr><td>revenue</td><td>aggressive</td><td></td><td>flag</td><td>7</td></tr><tr><td>tier</td><td>aggressive</td><td>sentinel</td><td></td><td>0</td></tr></tbody></table><script>(function(){var s=document.currentScript;if(!s)return;var t=s.previousElementSibling;if(!t||t.tagName!=='TABLE'||!t.tBodies.length)return;var c=t.previousElementSibling;if(!c||(' '+c.className+' ').indexOf(' fd-controls ')<0)return;var inp=c.querySelectorAll('input[data-col]');function run(){var rows=t.tBodies[0].rows;for(var i=0;i<rows.length;i++){var show=true;for(var j=0;j<inp.length;j++){var q=inp[j].value.toLowerCase();if(!q)continue;var cell=rows[i].cells[+inp[j].getAttribute('data-col')];if(!cell||(cell.textContent||'').toLowerCase().indexOf(q)<0){show=false;break;}}rows[i].style.display=show?'':'none';}}for(var k=0;k<inp.length;k++){inp[k].addEventListener('input',run);}})();</script></div>

0 commit comments

Comments
 (0)