julearn 0.3.6.dev15__tar.gz → 0.3.6.dev33__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/.github/workflows/ci-docs.yml +2 -4
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/.github/workflows/ci.yml +3 -5
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/.github/workflows/docs.yml +0 -1
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/.github/workflows/publish.yml +1 -1
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/PKG-INFO +21 -20
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/Makefile +15 -1
- julearn-0.3.6.dev33/docs/_templates/protocol.rst +17 -0
- julearn-0.3.6.dev33/docs/_templates/type.rst +15 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/api/base.rst +0 -1
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/api/model_selection.rst +1 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/api/utils.rst +25 -7
- julearn-0.3.6.dev33/docs/changes/newsfragments/307.bugfix +1 -0
- julearn-0.3.6.dev33/docs/changes/newsfragments/307.misc +1 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/conf.py +101 -2
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/_version.py +3 -3
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/api.py +39 -40
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/base/__init__.py +0 -1
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/base/column_types.py +117 -119
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/base/estimators.py +20 -26
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/base/tests/test_base_estimators.py +3 -3
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/base/tests/test_column_types.py +4 -3
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/config.py +1 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/conftest.py +6 -6
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/inspect/_cv.py +2 -4
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/inspect/_pipeline.py +17 -9
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/inspect/_preprocess.py +1 -3
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/inspect/inspector.py +8 -20
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/inspect/tests/test_inspector.py +4 -2
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/inspect/tests/test_pipeline.py +2 -2
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/inspect/tests/test_preprocess.py +2 -2
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/model_selection/available_searchers.py +2 -3
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/model_selection/continuous_stratified_kfold.py +14 -16
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/model_selection/final_model_cv.py +2 -3
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/model_selection/stratified_bootstrap.py +2 -2
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/model_selection/tests/test_continous_stratified_kfold.py +10 -6
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/models/available_models.py +5 -5
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/models/dynamic.py +5 -5
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/models/tests/test_models.py +1 -1
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/pipeline/pipeline_creator.py +32 -29
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/pipeline/target_pipeline.py +2 -4
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/pipeline/target_pipeline_creator.py +2 -4
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/pipeline/tests/test_pipeline_creator.py +33 -24
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/prepare.py +16 -16
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/scoring/available_scorers.py +5 -5
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/stats/corrected_ttest.py +2 -3
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/tests/test_api.py +5 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/cbpm.py +2 -2
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/confound_remover.py +9 -13
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/dataframe/change_column_types.py +6 -8
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/dataframe/drop_columns.py +7 -11
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/dataframe/filter_columns.py +6 -9
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/dataframe/pick_columns.py +8 -15
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/dataframe/set_column_types.py +8 -9
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/dataframe/tests/test_set_column_types.py +2 -3
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/ju_column_transformer.py +9 -9
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/target/available_target_transformers.py +2 -2
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/target/ju_generated_target_model.py +2 -2
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/target/target_confound_remover.py +4 -5
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/tests/test_available_transformers.py +1 -2
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/tests/test_confounds.py +4 -4
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/utils/logging.py +8 -13
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/utils/testing.py +46 -39
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/utils/typing.py +28 -36
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/utils/versions.py +8 -5
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn.egg-info/PKG-INFO +21 -20
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn.egg-info/SOURCES.txt +4 -0
- julearn-0.3.6.dev33/julearn.egg-info/requires.txt +47 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/pyproject.toml +57 -20
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/tox.ini +19 -20
- julearn-0.3.6.dev33/uv.lock +2538 -0
- julearn-0.3.6.dev15/julearn.egg-info/requires.txt +0 -45
- julearn-0.3.6.dev15/uv.lock +0 -4047
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/.github/ISSUE_TEMPLATE/documentation_request.yaml +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/.github/dependabot.yml +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/.github/workflows/check-stale.yml +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/.github/workflows/docs-preview.yml +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/.github/workflows/lint.yml +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/.gitignore +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/.pre-commit-config.yaml +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/AUTHORS.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/LICENSE.md +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/README.md +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/codecov.yml +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/_static/css/custom.css +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/_static/js/custom.js +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/_templates/class.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/_templates/function.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/_templates/function_warning.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/_templates/versions.html +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/api/config.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/api/index.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/api/inspect.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/api/main.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/api/models.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/api/pipeline.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/api/prepare.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/api/scoring.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/api/stats.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/api/transformers.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/api/viz.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/available_pipeline_steps.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/changes/contributors.inc +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/changes/newsfragments/.gitignore +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/changes/newsfragments/301.misc +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/changes/newsfragments/303.feature +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/configuration.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/contributing.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/examples.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/faq.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/getting_started.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/images/corrected_ttest.png +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/images/final_estimator.png +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/images/iris_X.png +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/images/iris_df.png +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/images/iris_y.png +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/images/joblib_htcondor/condor_q.png +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/images/joblib_htcondor/ui_main.png +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/images/joblib_htcondor/ui_open.png +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/images/joblib_htcondor/ui_stacked.png +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/images/julearn_logo.png +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/images/julearn_logo_calm.png +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/images/julearn_logo_confbias.png +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/images/julearn_logo_cv.png +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/images/julearn_logo_generalization.png +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/images/julearn_logo_it.png +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/images/julearn_logo_ml.png +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/images/julearn_logo_mlit.png +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/images/multiple_scorers_run_cv.png +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/images/plot_scores.png +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/images/scores_run_cv.png +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/images/scores_run_cv_splitter.png +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/images/scores_run_cv_train.png +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/index.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/links.inc +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/maintaining.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/redirect.html +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/selected_deeper_topics/CBPM.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/selected_deeper_topics/confound_removal.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/selected_deeper_topics/cross_validation_splitter.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/selected_deeper_topics/hyperparameter_tuning.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/selected_deeper_topics/index.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/selected_deeper_topics/joblib.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/selected_deeper_topics/model_inspect.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/selected_deeper_topics/stacked_models.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/selected_deeper_topics/target_transformers.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/what_really_need_know/cross_validation.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/what_really_need_know/data.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/what_really_need_know/index.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/what_really_need_know/model_comparison.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/what_really_need_know/model_evaluation.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/what_really_need_know/pipeline.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/docs/whats_new.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/00_starting/README.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/00_starting/plot_cm_acc_multiclass.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/00_starting/plot_example_regression.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/00_starting/plot_stratified_kfold_reg.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/00_starting/run_combine_pandas.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/00_starting/run_grouped_cv.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/00_starting/run_simple_binary_classification.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/01_model_comparison/README.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/01_model_comparison/plot_simple_model_comparison.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/02_inspection/README.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/02_inspection/plot_groupcv_inspect_svm.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/02_inspection/plot_inspect_random_forest.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/02_inspection/plot_preprocess.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/02_inspection/run_binary_inspect_folds.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/03_complex_models/README.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/03_complex_models/run_apply_to_target.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/03_complex_models/run_example_pca_featsets.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/03_complex_models/run_generate_target.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/03_complex_models/run_hyperparameter_multiple_grids.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/03_complex_models/run_hyperparameter_tuning.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/03_complex_models/run_hyperparameter_tuning_bayessearch.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/03_complex_models/run_stacked_models.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/04_confounds/README.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/04_confounds/plot_confound_removal_classification.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/04_confounds/run_return_confounds.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/05_customization/README.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/05_customization/run_custom_scorers_regression.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/99_docs/README.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/99_docs/run_cbpm_docs.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/99_docs/run_confound_removal_docs.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/99_docs/run_cv_splitters_docs.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/99_docs/run_data_docs.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/99_docs/run_hyperparameters_docs.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/99_docs/run_model_comparison_docs.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/99_docs/run_model_evaluation_docs.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/99_docs/run_model_inspection_docs.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/99_docs/run_pipeline_docs.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/99_docs/run_stacked_models_docs.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/99_docs/run_target_transformer_docs.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/README.rst +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/XX_disabled/dis_run_n_jobs.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/examples/XX_disabled/dis_run_target_confound_removal.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/ignore_words.txt +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/__init__.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/external/optuna_searchcv.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/inspect/__init__.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/inspect/tests/test_cv.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/model_selection/__init__.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/model_selection/_optuna_searcher.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/model_selection/_skopt_searcher.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/model_selection/tests/test_available_searchers.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/model_selection/tests/test_final_model_cv.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/model_selection/tests/test_optuna_searcher.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/model_selection/tests/test_skopt_searcher.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/model_selection/tests/test_stratified_bootstrap.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/model_selection/utils.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/models/__init__.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/models/tests/test_available_models.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/models/tests/test_dynamic.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/pipeline/__init__.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/pipeline/merger.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/pipeline/tests/test_merger.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/pipeline/tests/test_target_pipeline.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/pipeline/tests/test_target_pipeline_creator.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/scoring/__init__.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/scoring/metrics.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/scoring/tests/test_available_scorers.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/scoring/tests/test_metrics.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/stats/__init__.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/stats/tests/test_corrected_ttest.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/tests/test_config.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/tests/test_prepare.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/__init__.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/available_transformers.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/dataframe/__init__.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/dataframe/tests/test_change_column_types.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/dataframe/tests/test_drop_columns.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/dataframe/tests/test_filter_columns.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/target/__init__.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/target/ju_target_transformer.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/target/ju_transformed_target_model.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/target/tests/test_available_target_transformers.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/target/tests/test_ju_generated_target_model.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/target/tests/test_ju_target_transformer.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/target/tests/test_ju_transformed_target_model.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/target/tests/test_target_confound_remover.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/tests/test_cbpm.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/transformers/tests/test_jucolumntransformers.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/utils/__init__.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/utils/_cv.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/utils/checks.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/utils/tests/test_logging.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/utils/tests/test_version.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/viz/__init__.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/viz/_scores.py +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn/viz/res/julearn_logo_generalization.png +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn.egg-info/dependency_links.txt +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/julearn.egg-info/top_level.txt +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/setup.cfg +0 -0
- {julearn-0.3.6.dev15 → julearn-0.3.6.dev33}/setup.py +0 -0
|
@@ -22,11 +22,9 @@ jobs:
|
|
|
22
22
|
fail-fast: false
|
|
23
23
|
matrix:
|
|
24
24
|
python-version:
|
|
25
|
-
- '3.9'
|
|
26
|
-
- '3.10'
|
|
27
|
-
- '3.11'
|
|
28
25
|
- '3.12'
|
|
29
26
|
- '3.13'
|
|
27
|
+
- '3.14'
|
|
30
28
|
steps:
|
|
31
29
|
- run: 'echo "No build required"'
|
|
32
30
|
- name: Create mock coverage.xml file
|
|
@@ -53,7 +51,7 @@ jobs:
|
|
|
53
51
|
echo '</coverage>' >> coverage.xml
|
|
54
52
|
if: matrix.python-version == 3.12
|
|
55
53
|
- name: Upload mock coverage to Codecov
|
|
56
|
-
uses: codecov/codecov-action@
|
|
54
|
+
uses: codecov/codecov-action@v6
|
|
57
55
|
with:
|
|
58
56
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
59
57
|
fail_ci_if_error: true
|
|
@@ -21,11 +21,9 @@ jobs:
|
|
|
21
21
|
fail-fast: false
|
|
22
22
|
matrix:
|
|
23
23
|
python-version:
|
|
24
|
-
- '3.9'
|
|
25
|
-
- '3.10'
|
|
26
|
-
- '3.11'
|
|
27
24
|
- '3.12'
|
|
28
25
|
- '3.13'
|
|
26
|
+
- '3.14'
|
|
29
27
|
|
|
30
28
|
steps:
|
|
31
29
|
- uses: actions/checkout@v6
|
|
@@ -39,9 +37,9 @@ jobs:
|
|
|
39
37
|
- name: Test with tox
|
|
40
38
|
run: |
|
|
41
39
|
tox
|
|
42
|
-
- uses: codecov/codecov-action@
|
|
40
|
+
- uses: codecov/codecov-action@v6
|
|
43
41
|
with:
|
|
44
42
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
45
43
|
fail_ci_if_error: true
|
|
46
44
|
flags: julearn
|
|
47
|
-
if: success() && matrix.python-version == 3.
|
|
45
|
+
if: success() && matrix.python-version == 3.13
|
|
@@ -25,7 +25,6 @@ jobs:
|
|
|
25
25
|
run: |
|
|
26
26
|
python -m pip install --upgrade pip setuptools wheel
|
|
27
27
|
python -m pip install -e .[docs,viz]
|
|
28
|
-
python -m pip install git+https://github.com/dls-controls/sphinx-multiversion@only-arg
|
|
29
28
|
- name: Checkout gh-pages
|
|
30
29
|
# As we already did a deploy of gh-pages above, it is guaranteed to be there
|
|
31
30
|
# so check it out so we can selectively build docs below
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: julearn
|
|
3
|
-
Version: 0.3.6.
|
|
3
|
+
Version: 0.3.6.dev33
|
|
4
4
|
Summary: Juelich Machine Learning Library
|
|
5
5
|
Author-email: Fede Raimondo <f.raimondo@fz-juelich.de>, Sami Hamdan <s.hamdan@fz-juelich.de>
|
|
6
6
|
Maintainer-email: Sami Hamdan <s.hamdan@fz-juelich.de>
|
|
@@ -18,17 +18,16 @@ Classifier: Natural Language :: English
|
|
|
18
18
|
Classifier: Topic :: Software Development
|
|
19
19
|
Classifier: Topic :: Scientific/Engineering
|
|
20
20
|
Classifier: Operating System :: OS Independent
|
|
21
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
22
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
23
21
|
Classifier: Programming Language :: Python :: 3.11
|
|
24
22
|
Classifier: Programming Language :: Python :: 3.12
|
|
25
23
|
Classifier: Programming Language :: Python :: 3.13
|
|
26
|
-
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
25
|
+
Requires-Python: >=3.12
|
|
27
26
|
Description-Content-Type: text/markdown
|
|
28
27
|
License-File: LICENSE.md
|
|
29
28
|
License-File: AUTHORS.rst
|
|
30
|
-
Requires-Dist: numpy<3.0.0,>=
|
|
31
|
-
Requires-Dist: pandas<4.0.0,>=2.
|
|
29
|
+
Requires-Dist: numpy<3.0.0,>=2.3.0
|
|
30
|
+
Requires-Dist: pandas<4.0.0,>=2.2.0
|
|
32
31
|
Requires-Dist: statsmodels<0.15,>=0.13
|
|
33
32
|
Requires-Dist: scikit-learn<1.9.0,>=1.5.0
|
|
34
33
|
Requires-Dist: looseversion==1.3.0; python_version >= "3.12"
|
|
@@ -38,18 +37,20 @@ Requires-Dist: pre-commit; extra == "dev"
|
|
|
38
37
|
Requires-Dist: ruff; extra == "dev"
|
|
39
38
|
Requires-Dist: towncrier; extra == "dev"
|
|
40
39
|
Provides-Extra: docs
|
|
40
|
+
Requires-Dist: furo>=2025.7.19; extra == "docs"
|
|
41
|
+
Requires-Dist: numpydoc>=1.9.0; extra == "docs"
|
|
42
|
+
Requires-Dist: optuna<5.0.0,>=4.0.0; extra == "docs"
|
|
43
|
+
Requires-Dist: optuna-integration<5.0.0,>=4.0.0; extra == "docs"
|
|
44
|
+
Requires-Dist: scikit-optimize<0.11.0,>=0.10.2; extra == "docs"
|
|
41
45
|
Requires-Dist: seaborn<0.14.0,>=0.13.0; extra == "docs"
|
|
42
|
-
Requires-Dist:
|
|
43
|
-
Requires-Dist: sphinx
|
|
44
|
-
Requires-Dist:
|
|
45
|
-
Requires-Dist:
|
|
46
|
-
Requires-Dist: sphinx-
|
|
47
|
-
Requires-Dist:
|
|
48
|
-
Requires-Dist: sphinxcontrib-towncrier
|
|
49
|
-
Requires-Dist:
|
|
50
|
-
Requires-Dist: optuna<3.7,>=3.6.0; extra == "docs"
|
|
51
|
-
Requires-Dist: optuna_integration<4.1,>=3.6.0; extra == "docs"
|
|
52
|
-
Requires-Dist: setuptools-scm>=8; extra == "docs"
|
|
46
|
+
Requires-Dist: setuptools-scm<11.0.0,>=10.0.0; extra == "docs"
|
|
47
|
+
Requires-Dist: sphinx<10.0.0,>=8.2.3; extra == "docs"
|
|
48
|
+
Requires-Dist: sphinx-copybutton>=0.5.2; extra == "docs"
|
|
49
|
+
Requires-Dist: sphinx-gallery>=0.21.0; extra == "docs"
|
|
50
|
+
Requires-Dist: sphinx-multiversion>=0.2.4; extra == "docs"
|
|
51
|
+
Requires-Dist: sphinx-autodoc-typehints>=3.6.1; extra == "docs"
|
|
52
|
+
Requires-Dist: sphinxcontrib-towncrier>=0.5.0a0; extra == "docs"
|
|
53
|
+
Requires-Dist: towncrier>=25.8.0; extra == "docs"
|
|
53
54
|
Provides-Extra: deslib
|
|
54
55
|
Requires-Dist: deslib<0.4.0,>=0.3.5; extra == "deslib"
|
|
55
56
|
Provides-Extra: viz
|
|
@@ -57,10 +58,10 @@ Requires-Dist: panel>=1.3.0; extra == "viz"
|
|
|
57
58
|
Requires-Dist: bokeh>=3.0.0; extra == "viz"
|
|
58
59
|
Requires-Dist: param>=2.0.0; extra == "viz"
|
|
59
60
|
Provides-Extra: skopt
|
|
60
|
-
Requires-Dist: scikit-optimize<0.11,>=0.10.
|
|
61
|
+
Requires-Dist: scikit-optimize<0.11.0,>=0.10.2; extra == "skopt"
|
|
61
62
|
Provides-Extra: optuna
|
|
62
|
-
Requires-Dist: optuna<
|
|
63
|
-
Requires-Dist: optuna_integration<
|
|
63
|
+
Requires-Dist: optuna<5.0.0,>=4.0.0; extra == "optuna"
|
|
64
|
+
Requires-Dist: optuna_integration<5.0.0,>=4.0.0; extra == "optuna"
|
|
64
65
|
Provides-Extra: all
|
|
65
66
|
Requires-Dist: julearn[optuna,skopt,viz]; extra == "all"
|
|
66
67
|
Dynamic: license-file
|
|
@@ -23,14 +23,28 @@ clean:
|
|
|
23
23
|
local:
|
|
24
24
|
make _build_local; STATUS=$$?; exit $$STATUS
|
|
25
25
|
|
|
26
|
+
## First build will create warnings for auto_examples. Second one will work correctly.
|
|
26
27
|
_build_local:
|
|
28
|
+
sphinx-build "$(SOURCEDIR)" "$(BUILDDIR)" "-E" $(O)
|
|
27
29
|
sphinx-build "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
|
28
30
|
|
|
29
31
|
html:
|
|
30
32
|
make _html; STATUS=$$?; exit $$STATUS
|
|
31
33
|
|
|
34
|
+
|
|
35
|
+
## Build only tags that are not already built, and ignore dev tags. This is useful for CI to avoid building all tags on every push, but still build new tags when they are created.
|
|
32
36
|
_html:
|
|
33
|
-
|
|
37
|
+
@regex=$$( \
|
|
38
|
+
for tag in $$(git tag -l); do \
|
|
39
|
+
if [ ! -d "$(BUILDDIR)/$$tag" ]; then \
|
|
40
|
+
echo "$$tag"; \
|
|
41
|
+
fi; \
|
|
42
|
+
done | \
|
|
43
|
+
grep -v dev | \
|
|
44
|
+
paste -sd'|' - \
|
|
45
|
+
); \
|
|
46
|
+
echo "$$regex"; \
|
|
47
|
+
$(SPHINXBUILD) "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) -D "smv_tag_whitelist='^($$regex)$$'" $(O)
|
|
34
48
|
|
|
35
49
|
# Catch-all target: route all unknown targets to Sphinx using the new
|
|
36
50
|
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
.. note::
|
|
2
|
+
|
|
3
|
+
This page is a reference documentation. It only explains the function signature, and not how to use it.
|
|
4
|
+
Please refer to the :ref:`What you really need to know <need_to_know>` section for the big picture.
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
{{ fullname | underline(line="-") }}
|
|
8
|
+
|
|
9
|
+
.. currentmodule:: {{ module }}
|
|
10
|
+
|
|
11
|
+
.. autoclass:: {{ objname }}
|
|
12
|
+
:members:
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
.. raw:: html
|
|
16
|
+
|
|
17
|
+
<div style='clear:both'></div>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
.. note::
|
|
2
|
+
|
|
3
|
+
This page is a reference documentation. It only explains the function signature, and not how to use it.
|
|
4
|
+
Please refer to the :ref:`What you really need to know <need_to_know>` section for the big picture.
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
{{ fullname | underline(line="-") }}
|
|
8
|
+
|
|
9
|
+
.. currentmodule:: {{ module }}
|
|
10
|
+
|
|
11
|
+
.. autotype:: {{ objname }}
|
|
12
|
+
|
|
13
|
+
.. raw:: html
|
|
14
|
+
|
|
15
|
+
<div style='clear:both'></div>
|
|
@@ -5,16 +5,15 @@ Utils
|
|
|
5
5
|
:no-members:
|
|
6
6
|
:no-inherited-members:
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Members
|
|
9
9
|
-------
|
|
10
10
|
|
|
11
11
|
.. currentmodule:: julearn.utils
|
|
12
12
|
|
|
13
13
|
.. autosummary::
|
|
14
14
|
:toctree: generated/
|
|
15
|
-
:template: class.rst
|
|
16
15
|
|
|
17
|
-
|
|
16
|
+
logger
|
|
18
17
|
|
|
19
18
|
Functions
|
|
20
19
|
---------
|
|
@@ -36,17 +35,36 @@ Typing
|
|
|
36
35
|
:no-members:
|
|
37
36
|
:no-inherited-members:
|
|
38
37
|
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
|
|
39
|
+
Types
|
|
40
|
+
-----
|
|
41
41
|
|
|
42
42
|
.. currentmodule:: julearn.utils.typing
|
|
43
43
|
|
|
44
44
|
.. autosummary::
|
|
45
45
|
:toctree: generated/
|
|
46
|
-
:template:
|
|
46
|
+
:template: type.rst
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
DataLike
|
|
49
|
+
ScorerLike
|
|
49
50
|
EstimatorLike
|
|
51
|
+
CVLike
|
|
52
|
+
ColumnTypesLike
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
Protocols
|
|
56
|
+
---------
|
|
57
|
+
|
|
58
|
+
.. currentmodule:: julearn.utils.typing
|
|
59
|
+
|
|
60
|
+
.. autosummary::
|
|
61
|
+
:toctree: generated/
|
|
62
|
+
:template: protocol.rst
|
|
63
|
+
|
|
50
64
|
EstimatorLikeFit1
|
|
51
65
|
EstimatorLikeFit2
|
|
52
66
|
EstimatorLikeFity
|
|
67
|
+
TransformerLike
|
|
68
|
+
ModelLike
|
|
69
|
+
JuEstimatorLike
|
|
70
|
+
JuModelLike
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Fix a bug in which RandomizedSearchCV using uniform distributions specifications used an extended search space `Fede Raimondo`_
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Configure the project to support uv as a package manager and bump minimum Python version to 3.12 `Fede Raimondo`_
|
|
@@ -9,9 +9,13 @@
|
|
|
9
9
|
import datetime
|
|
10
10
|
from functools import partial
|
|
11
11
|
from pathlib import Path
|
|
12
|
+
import sys
|
|
12
13
|
|
|
13
14
|
from setuptools_scm import get_version
|
|
14
15
|
|
|
16
|
+
import types
|
|
17
|
+
from typing import TypeAliasType
|
|
18
|
+
from sphinx_autodoc_typehints import format_annotation
|
|
15
19
|
|
|
16
20
|
# Check if sphinx-multiversion is installed
|
|
17
21
|
use_multiversion = False
|
|
@@ -65,10 +69,14 @@ extensions = [
|
|
|
65
69
|
"sphinx_copybutton", # copy button for code blocks
|
|
66
70
|
"sphinxcontrib.towncrier.ext", # towncrier fragment support
|
|
67
71
|
"bokeh.sphinxext.bokeh_plot", # bokeh plot support
|
|
72
|
+
"sphinx_autodoc_typehints", # automatically document type hints
|
|
68
73
|
]
|
|
69
74
|
|
|
70
75
|
if use_multiversion:
|
|
76
|
+
print("using sphinx-multiversion for documentation")
|
|
71
77
|
extensions.append("sphinx_multiversion")
|
|
78
|
+
else:
|
|
79
|
+
print("sphinx-multiversion not found, building documentation without it")
|
|
72
80
|
|
|
73
81
|
# Add any paths that contain templates here, relative to this directory.
|
|
74
82
|
templates_path = [
|
|
@@ -99,8 +107,19 @@ nitpick_ignore_regex = [
|
|
|
99
107
|
("py:class", "pipeline.Pipeline"),
|
|
100
108
|
("py:class", "sklearn.utils.metadata_routing.MetadataRequest"),
|
|
101
109
|
("py:class", "julearn.inspect._pipeline.PipelineInspector"),
|
|
110
|
+
("py:class", "sklearn.model_selection._split.*"),
|
|
111
|
+
("py:class", "sklearn.metrics._scorer.*"),
|
|
102
112
|
]
|
|
103
113
|
|
|
114
|
+
to_ignore = ["array-like", "shape", "optional", "or", "the", "options",
|
|
115
|
+
"n_samples", "default=.*", "n_features", "n_outputs", "True",
|
|
116
|
+
"False"]
|
|
117
|
+
|
|
118
|
+
for i in to_ignore:
|
|
119
|
+
nitpick_ignore_regex.append(("py:class", i))
|
|
120
|
+
|
|
121
|
+
suppress_warnings = ["sphinx_autodoc_typehints", "config.cache"]
|
|
122
|
+
|
|
104
123
|
|
|
105
124
|
# -- Options for HTML output -------------------------------------------------
|
|
106
125
|
|
|
@@ -143,8 +162,23 @@ html_sidebars = {
|
|
|
143
162
|
# -- sphinx.ext.autodoc configuration ----------------------------------------
|
|
144
163
|
|
|
145
164
|
autoclass_content = "both"
|
|
146
|
-
autodoc_typehints = "description"
|
|
147
|
-
autodoc_typehints_description_target = "documented"
|
|
165
|
+
# autodoc_typehints = "description"
|
|
166
|
+
# autodoc_typehints_description_target = "documented"
|
|
167
|
+
autodoc_type_aliases = {
|
|
168
|
+
"ColumnTypes": "julearn.base.column_types.ColumnTypes",
|
|
169
|
+
"Pipeline": "sklearn.pipeline.Pipeline",
|
|
170
|
+
"RandomState": "numpy.random.RandomState",
|
|
171
|
+
# "ColumnTypesLike": "julearn.utils.typing.ColumnTypesLike",
|
|
172
|
+
# "DataLike": "julearn.utils.typing.DataLike",
|
|
173
|
+
# "ScorerLike": "julearn.utils.typing.ScorerLike",
|
|
174
|
+
# "EstimatorLike": "julearn.utils.typing.EstimatorLike",
|
|
175
|
+
# "ModelLike": "julearn.utils.typing.ModelLike",
|
|
176
|
+
# "TransformerLike": "julearn.utils.typing.TransformerLike",
|
|
177
|
+
# "JuModelLike": "julearn.utils.typing.JuModelLike",
|
|
178
|
+
# "JuTransformerLike": "julearn.utils.typing.JuTransformerLike",
|
|
179
|
+
# "CVLike": "julearn.utils.typing.CVLike",
|
|
180
|
+
}
|
|
181
|
+
|
|
148
182
|
|
|
149
183
|
# -- sphinx.ext.autosummary configuration ------------------------------------
|
|
150
184
|
|
|
@@ -178,6 +212,7 @@ intersphinx_mapping = {
|
|
|
178
212
|
"https://optuna-integration.readthedocs.io/en/stable",
|
|
179
213
|
None,
|
|
180
214
|
),
|
|
215
|
+
"panel": ("https://panel.holoviz.org/", None),
|
|
181
216
|
}
|
|
182
217
|
|
|
183
218
|
# -- sphinx.ext.extlinks configuration ---------------------------------------
|
|
@@ -265,3 +300,67 @@ smv_released_pattern = r"^tags/v.*$"
|
|
|
265
300
|
towncrier_draft_autoversion_mode = "draft"
|
|
266
301
|
towncrier_draft_include_empty = True
|
|
267
302
|
towncrier_draft_working_directory = PROJECT_ROOT_DIR
|
|
303
|
+
|
|
304
|
+
# -- sphinx_autodoc_typehints configuration ---------------------------------------
|
|
305
|
+
always_use_bars_union = True
|
|
306
|
+
simplify_optional_unions = True
|
|
307
|
+
typehints_defaults = "comma"
|
|
308
|
+
# Don't show return types at all
|
|
309
|
+
typehints_document_rtype = False
|
|
310
|
+
|
|
311
|
+
# Don't show "None" return types, but show all others
|
|
312
|
+
typehints_document_rtype_none = False
|
|
313
|
+
|
|
314
|
+
# Show the return type inline with the return description
|
|
315
|
+
# instead of as a separate block
|
|
316
|
+
typehints_use_rtype = False
|
|
317
|
+
|
|
318
|
+
def _get_canonical_type_alias_name(annotation: TypeAliasType) -> str:
|
|
319
|
+
"""
|
|
320
|
+
Get canonical public qualified name for a TypeAliasType.
|
|
321
|
+
|
|
322
|
+
For types defined in private modules (e.g. ``numpy._typing.ArrayLike``),
|
|
323
|
+
search ``sys.modules`` for a public re-export
|
|
324
|
+
(e.g. ``numpy.typing.ArrayLike``).
|
|
325
|
+
"""
|
|
326
|
+
module = getattr(annotation, "__module__", "") or ""
|
|
327
|
+
name = getattr(annotation, "__name__", "") or ""
|
|
328
|
+
if not module or not name:
|
|
329
|
+
return ""
|
|
330
|
+
if not any(part.startswith("_") for part in module.split(".")):
|
|
331
|
+
return f"{module}.{name}"
|
|
332
|
+
top_pkg = module.split(".")[0]
|
|
333
|
+
for mod_name in sorted(sys.modules):
|
|
334
|
+
if not mod_name.startswith(top_pkg):
|
|
335
|
+
continue
|
|
336
|
+
mod = sys.modules[mod_name]
|
|
337
|
+
if not isinstance(mod, types.ModuleType):
|
|
338
|
+
continue
|
|
339
|
+
if any(part.startswith("_") for part in mod_name.split(".")):
|
|
340
|
+
continue
|
|
341
|
+
if getattr(mod, name, None) is annotation:
|
|
342
|
+
return f"{mod_name}.{name}"
|
|
343
|
+
return f"{module}.{name}"
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
def _typehints_formatter(annotation, config):
|
|
347
|
+
"""Handle formatting of PEP695 type aliases in sphinx-autodoc-typehints."""
|
|
348
|
+
if isinstance(annotation, TypeAliasType):
|
|
349
|
+
module = getattr(annotation, "__module__", "") or ""
|
|
350
|
+
name = getattr(annotation, "__name__", "") or ""
|
|
351
|
+
intersphinx_mapping = getattr(config, "intersphinx_mapping", {})
|
|
352
|
+
is_external = module and any(
|
|
353
|
+
module == pkg or module.startswith(f"{pkg}.")
|
|
354
|
+
for pkg in intersphinx_mapping
|
|
355
|
+
)
|
|
356
|
+
# Handle external PEP695 type aliases
|
|
357
|
+
if is_external and name:
|
|
358
|
+
canonical = _get_canonical_type_alias_name(annotation)
|
|
359
|
+
if canonical:
|
|
360
|
+
return f":py:obj:`~{canonical}`"
|
|
361
|
+
# Unwrap internal PEP695 type aliases to their underlying types
|
|
362
|
+
return format_annotation(annotation.__value__, config)
|
|
363
|
+
return None
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
typehints_formatter = _typehints_formatter
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '0.3.6.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 3, 6, '
|
|
21
|
+
__version__ = version = '0.3.6.dev33'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 3, 6, 'dev33')
|
|
23
23
|
|
|
24
|
-
__commit_id__ = commit_id = '
|
|
24
|
+
__commit_id__ = commit_id = 'gd95c8f6d1'
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
# License: AGPL
|
|
6
6
|
|
|
7
7
|
import inspect
|
|
8
|
-
from typing import Optional, Union
|
|
9
8
|
|
|
10
9
|
import numpy as np
|
|
11
10
|
import pandas as pd
|
|
@@ -36,24 +35,24 @@ sklearn.set_config(enable_metadata_routing=True)
|
|
|
36
35
|
def _validate_api_params( # noqa: C901
|
|
37
36
|
X: list[str], # noqa: N803
|
|
38
37
|
y: str,
|
|
39
|
-
model:
|
|
38
|
+
model: str | PipelineCreator | BaseEstimator | list[PipelineCreator],
|
|
40
39
|
data: pd.DataFrame,
|
|
41
|
-
X_types:
|
|
42
|
-
problem_type:
|
|
43
|
-
preprocess:
|
|
44
|
-
return_estimator:
|
|
40
|
+
X_types: dict | None = None, # noqa: N803
|
|
41
|
+
problem_type: str | None = None,
|
|
42
|
+
preprocess: None | str | list[str] = None,
|
|
43
|
+
return_estimator: str | None = None,
|
|
45
44
|
return_inspector: bool = False,
|
|
46
|
-
groups:
|
|
47
|
-
pos_labels:
|
|
48
|
-
model_params:
|
|
49
|
-
search_params:
|
|
50
|
-
seed:
|
|
45
|
+
groups: str | None = None,
|
|
46
|
+
pos_labels: str | list[str] | None = None,
|
|
47
|
+
model_params: dict | None = None,
|
|
48
|
+
search_params: dict | None = None,
|
|
49
|
+
seed: int | None = None,
|
|
51
50
|
) -> tuple[
|
|
52
51
|
pd.DataFrame,
|
|
53
52
|
pd.Series,
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
pd.Series | None,
|
|
54
|
+
Pipeline | BaseSearchCV,
|
|
55
|
+
str | None,
|
|
57
56
|
bool,
|
|
58
57
|
bool,
|
|
59
58
|
str,
|
|
@@ -215,7 +214,7 @@ def _validate_api_params( # noqa: C901
|
|
|
215
214
|
)
|
|
216
215
|
|
|
217
216
|
wrap_score = False
|
|
218
|
-
if isinstance(model,
|
|
217
|
+
if isinstance(model, PipelineCreator | list):
|
|
219
218
|
logger.debug(
|
|
220
219
|
"Generating pipeline from PipelineCreator or list of them"
|
|
221
220
|
)
|
|
@@ -278,7 +277,7 @@ def _validate_api_params( # noqa: C901
|
|
|
278
277
|
wrap_score = True
|
|
279
278
|
problem_type = model[0].problem_type
|
|
280
279
|
|
|
281
|
-
elif not isinstance(model,
|
|
280
|
+
elif not isinstance(model, str | BaseEstimator):
|
|
282
281
|
raise_error(
|
|
283
282
|
"Model has to be a PipelineCreator, a string or a "
|
|
284
283
|
"scikit-learn compatible model."
|
|
@@ -409,23 +408,23 @@ def _check_configure_joblib_backend() -> None:
|
|
|
409
408
|
def run_cross_validation(
|
|
410
409
|
X: list[str], # noqa: N803
|
|
411
410
|
y: str,
|
|
412
|
-
model:
|
|
411
|
+
model: str | PipelineCreator | BaseEstimator | list[PipelineCreator],
|
|
413
412
|
data: pd.DataFrame,
|
|
414
|
-
X_types:
|
|
415
|
-
problem_type:
|
|
416
|
-
preprocess:
|
|
417
|
-
return_estimator:
|
|
413
|
+
X_types: dict | None = None, # noqa: N803
|
|
414
|
+
problem_type: str | None = None,
|
|
415
|
+
preprocess: None | str | list[str] = None,
|
|
416
|
+
return_estimator: str | None = None,
|
|
418
417
|
return_inspector: bool = False,
|
|
419
418
|
return_train_score: bool = False,
|
|
420
|
-
cv:
|
|
421
|
-
groups:
|
|
422
|
-
scoring:
|
|
423
|
-
pos_labels:
|
|
424
|
-
model_params:
|
|
425
|
-
search_params:
|
|
426
|
-
seed:
|
|
427
|
-
n_jobs:
|
|
428
|
-
verbose:
|
|
419
|
+
cv: CVLike | None = None,
|
|
420
|
+
groups: str | None = None,
|
|
421
|
+
scoring: str | list[str] | None = None,
|
|
422
|
+
pos_labels: str | list[str] | None = None,
|
|
423
|
+
model_params: dict | None = None,
|
|
424
|
+
search_params: dict | None = None,
|
|
425
|
+
seed: int | None = None,
|
|
426
|
+
n_jobs: int | None = None,
|
|
427
|
+
verbose: int | None = 0,
|
|
429
428
|
):
|
|
430
429
|
"""Run cross validation and score.
|
|
431
430
|
|
|
@@ -706,17 +705,17 @@ def run_cross_validation(
|
|
|
706
705
|
def run_fit(
|
|
707
706
|
X: list[str], # noqa: N803
|
|
708
707
|
y: str,
|
|
709
|
-
model:
|
|
708
|
+
model: str | PipelineCreator | BaseEstimator | list[PipelineCreator],
|
|
710
709
|
data: pd.DataFrame,
|
|
711
|
-
X_types:
|
|
712
|
-
problem_type:
|
|
713
|
-
preprocess:
|
|
714
|
-
groups:
|
|
715
|
-
pos_labels:
|
|
716
|
-
model_params:
|
|
717
|
-
search_params:
|
|
718
|
-
seed:
|
|
719
|
-
verbose:
|
|
710
|
+
X_types: dict | None = None, # noqa: N803
|
|
711
|
+
problem_type: str | None = None,
|
|
712
|
+
preprocess: None | str | list[str] = None,
|
|
713
|
+
groups: str | None = None,
|
|
714
|
+
pos_labels: str | list[str] | None = None,
|
|
715
|
+
model_params: dict | None = None,
|
|
716
|
+
search_params: dict | None = None,
|
|
717
|
+
seed: int | None = None,
|
|
718
|
+
verbose: int | None = 0,
|
|
720
719
|
):
|
|
721
720
|
"""Fit the model on all the data.
|
|
722
721
|
|