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
4 changes: 2 additions & 2 deletions .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ concurrency:
cancel-in-progress: true

env:
STABLE_PYTHON_VERSION: '3.11'
STABLE_PYTHON_VERSION: '3.12'
PYTHONUNBUFFERED: "1"
FORCE_COLOR: "1"

Expand All @@ -31,7 +31,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12"]
python-version: ["3.10", "3.12", "3.13"]
os: [ubuntu-latest, windows-latest, macos-latest]

steps:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ env
**.idea
*.pth
**Icon*
!docs/favicon.png
venv
.vscode/**
# Compiled python modules.
Expand Down
11 changes: 5 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<header>
<p align="center">
<img src="https://yu-group.github.io/veridical-flow/logo_vflow_straight.png" width="70%" alt="vflow logo">
<img src="https://yu-group.github.io/veridical-flow/vflow_logo.png" width="40%" alt="vflow logo">
</p>


Expand Down Expand Up @@ -43,7 +43,7 @@ from sklearn.metrics import accuracy_score, balanced_accuracy_score
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier

from vflow import Vset, init_args
from vflow import Vset, build_vset, init_args

# initialize data
X, y = make_classification()
Expand All @@ -52,10 +52,9 @@ X_train, X_test, y_train, y_test = init_args(
names=["X_train", "X_test", "y_train", "y_test"], # optionally name the args
)

# subsample data
subsampling_funcs = [sklearn.utils.resample for _ in range(3)]
subsampling_set = Vset(
name="subsampling", vfuncs=subsampling_funcs, output_matching=True
# subsample data: 3 bootstrap samples, reproducible thanks to the seed
subsampling_set = build_vset(
"subsampling", sklearn.utils.resample, reps=3, seed=0, output_matching=True
)
X_trains, y_trains = subsampling_set(X_train, y_train)

Expand Down
97 changes: 48 additions & 49 deletions docs/agents.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
<link rel="stylesheet" href="github.css">
<link rel="stylesheet" href="style.css">
<link rel="icon" href="logo_vflow_straight.png">
<link rel="icon" type="image/png" href="favicon.png">
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/highlight.min.js" integrity="sha256-Uv3H6lx7dJmRfRvH8TH6kJD1TSK1aFcwgx+mdg3epi8=" crossorigin></script>
<script>window.addEventListener('DOMContentLoaded', () => hljs.initHighlighting())</script>
</head>
Expand All @@ -32,7 +32,7 @@
</a>
<p id="site-tagline"><b>vflow</b> &middot; Stability analysis for data-science pipelines, with PCS.</p>
<a href="index.html" id="site-logo">
<img src="logo_vflow_straight.png" alt="vflow">
<img src="vflow_logo.svg" alt="vflow">
</a>
<a href="https://github.com/Yu-Group/veridical-flow" class="nav-icon"
aria-label="View source on GitHub" title="GitHub">
Expand Down Expand Up @@ -323,7 +323,6 @@ <h2 id="limits">7 &nbsp;Notes and limits</h2>
<ul class="post-list">
<li><a href="agents.html" title="PCS for analyses done by AI agents">vflow for agents</a><span class="post-tag" title="Claude Code plugin">new</span><span class="post-date">Oct '26</span></li>
<li><a href="vflow-internals.html" title="Vset, Vfunc and Subkey">How vflow works internally</a><span class="post-date">'22</span></li>
<li><a href="https://github.com/Yu-Group/veridical-flow/blob/master/docs/contributing.md" title="Contributing">Contributing</a></li>
</ul>
</li>
<li><h3>Notebooks</h3>
Expand Down Expand Up @@ -352,7 +351,7 @@ <h2 id="limits">7 &nbsp;Notes and limits</h2>
</ul>
</div></div>
</li>
<li><h3><a href="index.html#header-submodules">API</a></h3>
<li><h3>API</h3>
<ul>
<li><code><a title="vflow.helpers" href="helpers.html">vflow.helpers</a></code></li>
<li><code><a title="vflow.pipeline" href="pipeline.html">vflow.pipeline</a></code></li>
Expand All @@ -362,77 +361,77 @@ <h2 id="limits">7 &nbsp;Notes and limits</h2>
<li><code><a title="vflow.vset" href="vset.html">vflow.vset</a></code></li>
</ul>
</li>
<li><h3><a href="index.html#header-functions">Functions</a></h3>
<li><h3>Functions</h3>
<ul class="">
<li><code><a title="vflow.apply_vfuncs" href="index.html#vflow.apply_vfuncs">apply_vfuncs</a></code></li>
<li><code><a title="vflow.base_dict" href="index.html#vflow.base_dict">base_dict</a></code></li>
<li><code><a title="vflow.build_graph" href="index.html#vflow.build_graph">build_graph</a></code></li>
<li><code><a title="vflow.build_vset" href="index.html#vflow.build_vset">build_vset</a></code></li>
<li><code><a title="vflow.combine_dicts" href="index.html#vflow.combine_dicts">combine_dicts</a></code></li>
<li><code><a title="vflow.combine_keys" href="index.html#vflow.combine_keys">combine_keys</a></code></li>
<li><code><a title="vflow.cum_acc_by_uncertainty" href="index.html#vflow.cum_acc_by_uncertainty">cum_acc_by_uncertainty</a></code></li>
<li><code><a title="vflow.dict_data" href="index.html#vflow.dict_data">dict_data</a></code></li>
<li><code><a title="vflow.dict_keys" href="index.html#vflow.dict_keys">dict_keys</a></code></li>
<li><code><a title="vflow.dict_to_df" href="index.html#vflow.dict_to_df">dict_to_df</a></code></li>
<li><code><a title="vflow.filter_vset_by_metric" href="index.html#vflow.filter_vset_by_metric">filter_vset_by_metric</a></code></li>
<li><code><a title="vflow.init_args" href="index.html#vflow.init_args">init_args</a></code></li>
<li><code><a title="vflow.init_step" href="index.html#vflow.init_step">init_step</a></code></li>
<li><code><a title="vflow.perturbation_stats" href="index.html#vflow.perturbation_stats">perturbation_stats</a></code></li>
<li><code><a title="vflow.sep_dicts" href="index.html#vflow.sep_dicts">sep_dicts</a></code></li>
<li><code><a title="vflow.to_list" href="index.html#vflow.to_list">to_list</a></code></li>
<li><code><a title="vflow.to_tuple" href="index.html#vflow.to_tuple">to_tuple</a></code></li>
<li><code><a title="vflow.apply_vfuncs" href="utils.html#vflow.utils.apply_vfuncs">apply_vfuncs</a></code></li>
<li><code><a title="vflow.base_dict" href="utils.html#vflow.utils.base_dict">base_dict</a></code></li>
<li><code><a title="vflow.build_graph" href="pipeline.html#vflow.pipeline.build_graph">build_graph</a></code></li>
<li><code><a title="vflow.build_vset" href="helpers.html#vflow.helpers.build_vset">build_vset</a></code></li>
<li><code><a title="vflow.combine_dicts" href="utils.html#vflow.utils.combine_dicts">combine_dicts</a></code></li>
<li><code><a title="vflow.combine_keys" href="utils.html#vflow.utils.combine_keys">combine_keys</a></code></li>
<li><code><a title="vflow.cum_acc_by_uncertainty" href="helpers.html#vflow.helpers.cum_acc_by_uncertainty">cum_acc_by_uncertainty</a></code></li>
<li><code><a title="vflow.dict_data" href="utils.html#vflow.utils.dict_data">dict_data</a></code></li>
<li><code><a title="vflow.dict_keys" href="utils.html#vflow.utils.dict_keys">dict_keys</a></code></li>
<li><code><a title="vflow.dict_to_df" href="utils.html#vflow.utils.dict_to_df">dict_to_df</a></code></li>
<li><code><a title="vflow.filter_vset_by_metric" href="helpers.html#vflow.helpers.filter_vset_by_metric">filter_vset_by_metric</a></code></li>
<li><code><a title="vflow.init_args" href="helpers.html#vflow.helpers.init_args">init_args</a></code></li>
<li><code><a title="vflow.init_step" href="utils.html#vflow.utils.init_step">init_step</a></code></li>
<li><code><a title="vflow.perturbation_stats" href="utils.html#vflow.utils.perturbation_stats">perturbation_stats</a></code></li>
<li><code><a title="vflow.sep_dicts" href="utils.html#vflow.utils.sep_dicts">sep_dicts</a></code></li>
<li><code><a title="vflow.to_list" href="utils.html#vflow.utils.to_list">to_list</a></code></li>
<li><code><a title="vflow.to_tuple" href="utils.html#vflow.utils.to_tuple">to_tuple</a></code></li>
</ul>
</li>
<li><h3><a href="index.html#header-classes">Classes</a></h3>
<li><h3>Classes</h3>
<ul>
<li>
<h4><code><a title="vflow.AsyncVfunc" href="index.html#vflow.AsyncVfunc">AsyncVfunc</a></code></h4>
<h4><code><a title="vflow.AsyncVfunc" href="vfunc.html#vflow.vfunc.AsyncVfunc">AsyncVfunc</a></code></h4>
<ul class="">
<li><code><a title="vflow.AsyncVfunc.fit" href="index.html#vflow.AsyncVfunc.fit">fit</a></code></li>
<li><code><a title="vflow.AsyncVfunc.transform" href="index.html#vflow.AsyncVfunc.transform">transform</a></code></li>
<li><code><a title="vflow.AsyncVfunc.fit" href="vfunc.html#vflow.vfunc.AsyncVfunc.fit">fit</a></code></li>
<li><code><a title="vflow.AsyncVfunc.transform" href="vfunc.html#vflow.vfunc.AsyncVfunc.transform">transform</a></code></li>
</ul>
</li>
<li>
<h4><code><a title="vflow.PCSPipeline" href="index.html#vflow.PCSPipeline">PCSPipeline</a></code></h4>
<h4><code><a title="vflow.PCSPipeline" href="pipeline.html#vflow.pipeline.PCSPipeline">PCSPipeline</a></code></h4>
<ul class="">
<li><code><a title="vflow.PCSPipeline.generate_names" href="index.html#vflow.PCSPipeline.generate_names">generate_names</a></code></li>
<li><code><a title="vflow.PCSPipeline.run" href="index.html#vflow.PCSPipeline.run">run</a></code></li>
<li><code><a title="vflow.PCSPipeline.generate_names" href="pipeline.html#vflow.pipeline.PCSPipeline.generate_names">generate_names</a></code></li>
<li><code><a title="vflow.PCSPipeline.run" href="pipeline.html#vflow.pipeline.PCSPipeline.run">run</a></code></li>
</ul>
</li>
<li>
<h4><code><a title="vflow.Subkey" href="index.html#vflow.Subkey">Subkey</a></code></h4>
<h4><code><a title="vflow.Subkey" href="subkey.html#vflow.subkey.Subkey">Subkey</a></code></h4>
<ul class="">
<li><code><a title="vflow.Subkey.is_matching" href="index.html#vflow.Subkey.is_matching">is_matching</a></code></li>
<li><code><a title="vflow.Subkey.matches" href="index.html#vflow.Subkey.matches">matches</a></code></li>
<li><code><a title="vflow.Subkey.matches_sep_dict_id" href="index.html#vflow.Subkey.matches_sep_dict_id">matches_sep_dict_id</a></code></li>
<li><code><a title="vflow.Subkey.mismatches" href="index.html#vflow.Subkey.mismatches">mismatches</a></code></li>
<li><code><a title="vflow.Subkey.is_matching" href="subkey.html#vflow.subkey.Subkey.is_matching">is_matching</a></code></li>
<li><code><a title="vflow.Subkey.matches" href="subkey.html#vflow.subkey.Subkey.matches">matches</a></code></li>
<li><code><a title="vflow.Subkey.matches_sep_dict_id" href="subkey.html#vflow.subkey.Subkey.matches_sep_dict_id">matches_sep_dict_id</a></code></li>
<li><code><a title="vflow.Subkey.mismatches" href="subkey.html#vflow.subkey.Subkey.mismatches">mismatches</a></code></li>
</ul>
</li>
<li>
<h4><code><a title="vflow.Vfunc" href="index.html#vflow.Vfunc">Vfunc</a></code></h4>
<h4><code><a title="vflow.Vfunc" href="vfunc.html#vflow.vfunc.Vfunc">Vfunc</a></code></h4>
<ul class="">
<li><code><a title="vflow.Vfunc.fit" href="index.html#vflow.Vfunc.fit">fit</a></code></li>
<li><code><a title="vflow.Vfunc.transform" href="index.html#vflow.Vfunc.transform">transform</a></code></li>
<li><code><a title="vflow.Vfunc.fit" href="vfunc.html#vflow.vfunc.Vfunc.fit">fit</a></code></li>
<li><code><a title="vflow.Vfunc.transform" href="vfunc.html#vflow.vfunc.Vfunc.transform">transform</a></code></li>
</ul>
</li>
<li>
<h4><code><a title="vflow.VfuncPromise" href="index.html#vflow.VfuncPromise">VfuncPromise</a></code></h4>
<h4><code><a title="vflow.VfuncPromise" href="vfunc.html#vflow.vfunc.VfuncPromise">VfuncPromise</a></code></h4>
<ul class="">
<li><code><a title="vflow.VfuncPromise.predict" href="index.html#vflow.VfuncPromise.predict">predict</a></code></li>
<li><code><a title="vflow.VfuncPromise.predict_proba" href="index.html#vflow.VfuncPromise.predict_proba">predict_proba</a></code></li>
<li><code><a title="vflow.VfuncPromise.transform" href="index.html#vflow.VfuncPromise.transform">transform</a></code></li>
<li><code><a title="vflow.VfuncPromise.predict" href="vfunc.html#vflow.vfunc.VfuncPromise.predict">predict</a></code></li>
<li><code><a title="vflow.VfuncPromise.predict_proba" href="vfunc.html#vflow.vfunc.VfuncPromise.predict_proba">predict_proba</a></code></li>
<li><code><a title="vflow.VfuncPromise.transform" href="vfunc.html#vflow.vfunc.VfuncPromise.transform">transform</a></code></li>
</ul>
</li>
<li>
<h4><code><a title="vflow.Vset" href="index.html#vflow.Vset">Vset</a></code></h4>
<h4><code><a title="vflow.Vset" href="vset.html#vflow.vset.Vset">Vset</a></code></h4>
<ul class="two-column">
<li><code><a title="vflow.Vset.evaluate" href="index.html#vflow.Vset.evaluate">evaluate</a></code></li>
<li><code><a title="vflow.Vset.fit" href="index.html#vflow.Vset.fit">fit</a></code></li>
<li><code><a title="vflow.Vset.fit_transform" href="index.html#vflow.Vset.fit_transform">fit_transform</a></code></li>
<li><code><a title="vflow.Vset.keys" href="index.html#vflow.Vset.keys">keys</a></code></li>
<li><code><a title="vflow.Vset.predict" href="index.html#vflow.Vset.predict">predict</a></code></li>
<li><code><a title="vflow.Vset.predict_proba" href="index.html#vflow.Vset.predict_proba">predict_proba</a></code></li>
<li><code><a title="vflow.Vset.transform" href="index.html#vflow.Vset.transform">transform</a></code></li>
<li><code><a title="vflow.Vset.evaluate" href="vset.html#vflow.vset.Vset.evaluate">evaluate</a></code></li>
<li><code><a title="vflow.Vset.fit" href="vset.html#vflow.vset.Vset.fit">fit</a></code></li>
<li><code><a title="vflow.Vset.fit_transform" href="vset.html#vflow.vset.Vset.fit_transform">fit_transform</a></code></li>
<li><code><a title="vflow.Vset.keys" href="vset.html#vflow.vset.Vset.keys">keys</a></code></li>
<li><code><a title="vflow.Vset.predict" href="vset.html#vflow.vset.Vset.predict">predict</a></code></li>
<li><code><a title="vflow.Vset.predict_proba" href="vset.html#vflow.vset.Vset.predict_proba">predict_proba</a></code></li>
<li><code><a title="vflow.Vset.transform" href="vset.html#vflow.vset.Vset.transform">transform</a></code></li>
</ul>
</li>
</ul>
Expand Down
Binary file added docs/favicon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading