Skip to content

Make learner backends optional#36

Merged
ielbadisy merged 1 commit into
mainfrom
reduce-backend-install-weight
May 14, 2026
Merged

Make learner backends optional#36
ielbadisy merged 1 commit into
mainfrom
reduce-backend-install-weight

Conversation

@ielbadisy
Copy link
Copy Markdown
Owner

Summary

  • Keep the core funcml package lightweight by moving learner backend engines from hard imports to suggested packages.
  • Add a central backend availability check in fit() so model-specific errors remain clear.
  • Guard SHAP plotting conversion with the same package check helper.

Impact

  • Packages that import funcml, including mimar, still get the funcml API automatically.
  • Heavy engines such as torch, lightgbm, xgboost, dbarts, shapviz, and other learners are only needed when the corresponding learner is used.

Validation

  • funcml tests: 251 passed, 0 warnings.
  • R CMD check --no-manual --no-build-vignettes funcml-package: no errors; remaining warnings/notes are existing source-tree packaging artifacts.
  • Temp source install of funcml and mimar succeeded; mimar default imputation smoke test passed with the temp-installed funcml.

@ielbadisy ielbadisy merged commit 7686310 into main May 14, 2026
1 check failed
@ielbadisy ielbadisy deleted the reduce-backend-install-weight branch May 14, 2026 08:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant