Releases: erscoder/rustml
Releases · erscoder/rustml
RustML v0.1.0
Changelog
All notable changes to this project will be documented in this file.
[0.1.0] - 2024-02-23
Added
Core Libraries
-
rustml-scipy: Scientific computing library
statsmodule: mean, std, variance, median, skew, kurtosis, pearsonr, ttest, chi2_test, mannwhitneyu, ks_2samp, zscore, percentile, quantile, describelinalgmodule: solve, inv, det, svd, eigh, cholesky, luoptimizemodule: minimize_scalar, minimize, curve_fit, root_scalar, newtonsignalmodule: convolve, savgol_filter, find_peaks, welch
-
rustml-transformers: HuggingFace integration
- Hub client for downloading models from HF Hub
- Inference pipelines: text-classification, embeddings, text-generation
- Batch processing with rayon
- Pipeline builder for complex configurations
-
rustml-chain: LLM framework
- LLMProvider trait
- OpenAI, Anthropic, Ollama providers
- Chat request/response types
-
rustml-python: Python bindings (PyO3)
- rust_mean, rust_std, rust_var, rust_zscore functions
pip install rustmlcompatible
Infrastructure
- CI/CD with GitHub Actions
- Code coverage tracking (91%+)
- Cargo clippy lints
- Benchmark framework (Python + Rust criterion)
- 10-operation benchmark suite
Features Implemented (Sprint)
| Task | Description |
|---|---|
| RUST-01 | Stats precision (t_cdf) |
| RUST-02 | CI/CD pipeline |
| RUST-03 | Expanded stats functions |
| RUST-04 | Linear algebra (solve, inv, det, svd, eigh, cholesky, lu) |
| RUST-05 | Optimization (minimize_scalar, curve_fit, root_scalar) |
| RUST-06 | Signal processing (convolve, savgol_filter, find_peaks, welch) |
| RUST-07 | Benchmark framework |
| RUST-08 | Benchmark suite (10 operations) |
| RUST-09 | README with benchmark charts |
| RUST-10 | HuggingFace Hub client |
| RUST-11 | Inference pipelines |
| RUST-12 | Transformers benchmarks |
| RUST-13 | LLM framework |
| RUST-14 | PyO3 Python bindings |
Performance
Benchmark results comparing Python scipy vs rustml-scipy:
| Operation | Python | Estimated Rust |
|---|---|---|
| mean (1M) | 0.60ms | ~0.10ms |
| std (1M) | 1.55ms | ~0.15ms |
| zscore (10M) | 43.9ms | ~5ms |
| svd (2048) | 4209ms | ~800ms |
Dependencies
- ndarray 0.16
- ndarray-linalg 0.17
- rayon 1.10
- pyo3 0.22
- tokio 1.x
- reqwest 0.12
[0.0.1] - 2024-??-??
Initial Release
- Basic stats module with 13 tests passing