Skip to content

Conversation

ChrisRackauckas-Claude
Copy link

Summary

This PR replaces the Statistics.jl dependency with BasicStats.jl, a lightweight alternative that provides the same functionality with zero dependencies.

Motivation

  • Reduced dependency footprint: BasicStats.jl has zero dependencies beyond Julia stdlib
  • Same API: BasicStats.jl provides all the functions used by GlobalSensitivity (mean, var, std, cov, quantile)
  • Ecosystem consistency: Helps the SciML ecosystem reduce overall dependencies

Changes

  • Replace Statistics dependency with BasicStats in Project.toml
  • Update module imports from Statistics to BasicStats in GlobalSensitivity.jl
  • Update rbd-fast_sensitivity.jl to use BasicStats instead of Statistics

Functions Used

GlobalSensitivity.jl uses the following statistical functions, all covered by BasicStats.jl:

  • mean - Used in multiple sensitivity analysis methods
  • var - Used in Shapley and other methods
  • std - Used in regression and other sensitivity analyses
  • cov - Used in regression sensitivity analysis
  • quantile - Used in eFAST and mutual information methods

Testing

  • Package loads and precompiles successfully with BasicStats.jl
  • All statistical functions work as expected

Compatibility

BasicStats.jl provides drop-in replacements for all Statistics.jl functions used. No API changes are needed for users of GlobalSensitivity.jl.

- Replace Statistics dependency with BasicStats in Project.toml
- Update module imports from Statistics to BasicStats
- Update rbd-fast_sensitivity.jl to use BasicStats
- BasicStats provides all necessary functions (mean, var, std, cov, quantile)
- Reduces dependency footprint as BasicStats has zero dependencies
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.

2 participants