The refactored codebase is organized by pipeline phase. Each phase generally contains:
- a CLI module, for example
p6_cli.py - a runner module, for example
p6_runner.py - implementation modules and registries
- optional job-submission helpers for cluster modes
streamline/
p1_data_process/
p2_impute_scale/
p3_feature_learning/
p4_feature_importance/
p5_feature_selection/
p6_modeling/
p7_ensembles/
p8_summary_statistics/
p9_compare_datasets/
p10_replication/
p11_reporting/
pipeline/
utils/
Prefer the existing registry patterns when adding new components:
| Area | Location |
|---|---|
| Imputers/scalers | streamline/p2_impute_scale/registry |
| Feature learners | streamline/p3_feature_learning/registry |
| Feature importance methods | streamline/p4_feature_importance/registry |
| Feature selectors | streamline/p5_feature_selection/registry |
| Models | streamline/p6_modeling/models |
| Ensembles | streamline/p7_ensembles/registry |
The default pytest configuration collects only the current main end-to-end tests. Legacy and phase-level subtests were removed from the maintained v1.0.0 test path so routine testing stays focused on the binary, multiclass, and regression demo pipelines.
Run one main test while developing:
pytest streamline/tests/test_complete_binary.py
pytest streamline/tests/test_complete_multiclass.py
pytest streamline/tests/test_complete_regression.pyRun the default main suite when changing shared phase behavior:
pytestRun the optional TabPFN smoke test directly when changing TabPFN handling:
pytest streamline/tests/subtests/tabpfn_smoke.py -q -rsSTREAMLINE supports Python 3.10 and newer. The CI pytest workflow exercises the main suite on Python 3.10, 3.11, 3.12, and 3.13.
Build the docs locally with:
pip install -r docs/requirements.txt
sphinx-build -b html docs/source docs/build/htmlKeep examples synchronized with run_configs/, sample_runcommands.txt, and
the notebook parameter names.