Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions docs/examples/action_timeline.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/examples/baseline_drift.html
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@
<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>
<h3>What likely matters</h3><ul><li>50 new record(s) since the baseline.</li></ul>
<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>
<a download="drift_report.json" href="data:application/json;base64,ewogICJiYXNlbGluZV9uYW1lIjogImJhc2VsaW5lIiwKICAiYmFzZWxpbmVfdmVyc2lvbiI6ICIxLjAuMCIsCiAgInBhc3NlZCI6IGZhbHNlLAogICJuX2ZpbmRpbmdzIjogMiwKICAibl9lcnJvcnMiOiAxLAogICJuX3dhcm5pbmdzIjogMSwKICAidHJ1c3Rfc2NvcmUiOiBudWxsLAogICJmaW5kaW5ncyI6IFsKICAgIHsKICAgICAgImNoZWNrX2lkIjogImRyaWZ0LmtzIiwKICAgICAgImxldmVsIjogIndhcm5pbmciLAogICAgICAic3RhdHVzIjogIndhcm5lZCIsCiAgICAgICJjb2x1bW4iOiAiY3VzdG9tZXJfaWQiLAogICAgICAibWVzc2FnZSI6ICJLUyAwLjI0NCA+PSB3YXJuIHRocmVzaG9sZCAwLjEiLAogICAgICAiYmFzZWxpbmVfdmFsdWUiOiBudWxsLAogICAgICAiY3VycmVudF92YWx1ZSI6IDAuMjQzOTAyLAogICAgICAibWV0cmljIjogImtzIiwKICAgICAgInRocmVzaG9sZCI6IDAuMSwKICAgICAgImRldGFpbHMiOiB7fQogICAgfSwKICAgIHsKICAgICAgImNoZWNrX2lkIjogImRyaWZ0LnBzaSIsCiAgICAgICJsZXZlbCI6ICJlcnJvciIsCiAgICAgICJzdGF0dXMiOiAiZmFpbGVkIiwKICAgICAgImNvbHVtbiI6ICJjdXN0b21lcl9pZCIsCiAgICAgICJtZXNzYWdlIjogIlBTSSAwLjg3NyA+PSBmYWlsIHRocmVzaG9sZCAwLjI1IiwKICAgICAgImJhc2VsaW5lX3ZhbHVlIjogbnVsbCwKICAgICAgImN1cnJlbnRfdmFsdWUiOiAwLjg3NjczNywKICAgICAgIm1ldHJpYyI6ICJwc2kiLAogICAgICAidGhyZXNob2xkIjogMC4yNSwKICAgICAgImRldGFpbHMiOiB7fQogICAgfQogIF0sCiAgImRpc3RyaWJ1dGlvbl9kcmlmdCI6IHsKICAgICJjdXN0b21lcl9pZCI6IHsKICAgICAgImtzIjogMC4yNDM5MDIsCiAgICAgICJwc2kiOiAwLjg3NjczNywKICAgICAgInJhbmdlIjogewogICAgICAgICJiYXNlbGluZSI6IFsKICAgICAgICAgIDEuMCwKICAgICAgICAgIDE1MC4wCiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgInJldmVudWUiOiB7CiAgICAgICJrcyI6IDAuMDM2NTg1LAogICAgICAicHNpIjogMC4wMjk4NTUsCiAgICAgICJyYW5nZSI6IHsKICAgICAgICAiYmFzZWxpbmUiOiBbCiAgICAgICAgICA0MDguNjcsCiAgICAgICAgICAxMTAwMDAwLjAKICAgICAgICBdCiAgICAgIH0KICAgIH0sCiAgICAidGllciI6IHsKICAgICAgInBzaSI6IDAuMDA0NzU3CiAgICB9CiAgfSwKICAiY29udHJhY3RfcmVzdWx0cyI6IHt9LAogICJrZXlfY2hhbmdlcyI6IHsKICAgICJrZXkiOiBbCiAgICAgICJjdXN0b21lcl9pZCIKICAgIF0sCiAgICAiYmFzZWxpbmVfcmVjb3JkcyI6IDE1MCwKICAgICJjdXJyZW50X3JlY29yZHMiOiAyMDAsCiAgICAiYWRkZWQiOiA1MCwKICAgICJyZW1vdmVkIjogMCwKICAgICJjaGFuZ2VkIjogMCwKICAgICJ1bmNoYW5nZWQiOiAxNTAKICB9Cn0=" style="font-size:.8rem;margin-right:.6rem">⬇ JSON</a></div>
<a download="drift_report.json" href="data:application/json;base64,ewogICJiYXNlbGluZV9uYW1lIjogImJhc2VsaW5lIiwKICAiYmFzZWxpbmVfdmVyc2lvbiI6ICIxLjAuMCIsCiAgInBhc3NlZCI6IGZhbHNlLAogICJuX2ZpbmRpbmdzIjogMiwKICAibl9lcnJvcnMiOiAxLAogICJuX3dhcm5pbmdzIjogMSwKICAidHJ1c3Rfc2NvcmUiOiBudWxsLAogICJmaW5kaW5ncyI6IFsKICAgIHsKICAgICAgImNoZWNrX2lkIjogImRyaWZ0LmtzIiwKICAgICAgImxldmVsIjogIndhcm5pbmciLAogICAgICAic3RhdHVzIjogIndhcm5lZCIsCiAgICAgICJjb2x1bW4iOiAiY3VzdG9tZXJfaWQiLAogICAgICAibWVzc2FnZSI6ICJLUyAwLjI0NCA+PSB3YXJuIHRocmVzaG9sZCAwLjEiLAogICAgICAiYmFzZWxpbmVfdmFsdWUiOiBudWxsLAogICAgICAiY3VycmVudF92YWx1ZSI6IDAuMjQzOTAyLAogICAgICAibWV0cmljIjogImtzIiwKICAgICAgInRocmVzaG9sZCI6IDAuMSwKICAgICAgImRldGFpbHMiOiB7fQogICAgfSwKICAgIHsKICAgICAgImNoZWNrX2lkIjogImRyaWZ0LnBzaSIsCiAgICAgICJsZXZlbCI6ICJlcnJvciIsCiAgICAgICJzdGF0dXMiOiAiZmFpbGVkIiwKICAgICAgImNvbHVtbiI6ICJjdXN0b21lcl9pZCIsCiAgICAgICJtZXNzYWdlIjogIlBTSSAwLjg3NyA+PSBmYWlsIHRocmVzaG9sZCAwLjI1IiwKICAgICAgImJhc2VsaW5lX3ZhbHVlIjogbnVsbCwKICAgICAgImN1cnJlbnRfdmFsdWUiOiAwLjg3NjczNywKICAgICAgIm1ldHJpYyI6ICJwc2kiLAogICAgICAidGhyZXNob2xkIjogMC4yNSwKICAgICAgImRldGFpbHMiOiB7fQogICAgfQogIF0sCiAgImRpc3RyaWJ1dGlvbl9kcmlmdCI6IHsKICAgICJjdXN0b21lcl9pZCI6IHsKICAgICAgImtzIjogMC4yNDM5MDIsCiAgICAgICJwc2kiOiAwLjg3NjczNywKICAgICAgInJhbmdlIjogewogICAgICAgICJiYXNlbGluZSI6IFsKICAgICAgICAgIDEuMCwKICAgICAgICAgIDE1MC4wCiAgICAgICAgXQogICAgICB9CiAgICB9LAogICAgInJldmVudWUiOiB7CiAgICAgICJrcyI6IDAuMDM2NTg1LAogICAgICAicHNpIjogMC4wMjI4OTEsCiAgICAgICJyYW5nZSI6IHsKICAgICAgICAiYmFzZWxpbmUiOiBbCiAgICAgICAgICA0MDguNjcsCiAgICAgICAgICAxMTAwMDAwLjAKICAgICAgICBdCiAgICAgIH0KICAgIH0sCiAgICAidGllciI6IHsKICAgICAgInBzaSI6IDAuMDA0NzU3CiAgICB9CiAgfSwKICAiY29udHJhY3RfcmVzdWx0cyI6IHt9LAogICJrZXlfY2hhbmdlcyI6IHsKICAgICJrZXkiOiBbCiAgICAgICJjdXN0b21lcl9pZCIKICAgIF0sCiAgICAiYmFzZWxpbmVfcmVjb3JkcyI6IDE1MCwKICAgICJjdXJyZW50X3JlY29yZHMiOiAyMDAsCiAgICAiYWRkZWQiOiA1MCwKICAgICJyZW1vdmVkIjogMCwKICAgICJjaGFuZ2VkIjogMCwKICAgICJ1bmNoYW5nZWQiOiAxNTAKICB9Cn0=" style="font-size:.8rem;margin-right:.6rem">⬇ JSON</a></div>
2 changes: 1 addition & 1 deletion docs/examples/compare_plans_grid.html
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,4 @@
.fd-del-pos{color:#1a7f37}.fd-del-neg{color:#cf222e}
.fd-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}
</style>
<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>
<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>
Loading
Loading