Architecture#
Overview of the boosters codebase architecture.
Crate Structure#
crates/
└── boosters/ # Core library
├── src/
│ ├── data/ # Dataset, binning, histograms
│ ├── model/ # Tree/linear model storage
│ ├── training/ # Training algorithms
│ ├── inference/ # Prediction
│ ├── objective/ # Loss functions
│ └── explainability/ # SHAP, feature importance
packages/
├── boosters-python/ # PyO3 bindings
│ ├── src/ # Rust → Python wrappers
│ └── python/boosters/ # Pure Python code (sklearn)
└── boosters-eval/ # Benchmarking
└── src/boosters_eval/ # CLI and evaluation framework
Key Design Decisions#
See the RFCs section for detailed RFCs on:
Data representation and binning
Tree storage (Structure-of-Arrays)
Histogram-based training
Parallel processing strategy
Contributing Guidelines#
For detailed contribution guidelines, see the Development Setup section.