Skip to content

Releases: erscoder/rustml

RustML v0.1.0

23 Feb 01:10

Choose a tag to compare

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

    • stats module: mean, std, variance, median, skew, kurtosis, pearsonr, ttest, chi2_test, mannwhitneyu, ks_2samp, zscore, percentile, quantile, describe
    • linalg module: solve, inv, det, svd, eigh, cholesky, lu
    • optimize module: minimize_scalar, minimize, curve_fit, root_scalar, newton
    • signal module: 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 rustml compatible

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