Skip to content

Tags: bmsuisse/rusket

Tags

v0.1.91

Toggle v0.1.91's commit message
refactor: reorganize rusket into subpackages

Move 58 flat Python files into 9 logical subpackages:
- _internal: core utils, config, validation, typing, similarity, analytics
- miners: fpgrowth, eclat, fin, lcm, negfin, prefixspan, hupm, mine, etc.
- recommenders: als, bpr, ease, svd, nmf, lightgcn, item_knn, user_knn, etc.
- sequential: fpmc, sasrec, bert4rec
- evaluation: metrics, model_selection, pipeline, optuna, splitting
- export: factors, ann, faiss_ann, mlflow, vector_export, hybrid_embedding
- viz: plots, pca, pacmap, incremental_pca
- integrations: spark, cuda, gpu, grouped
- model: base, miner, recommender, mixins (already existed)

Backward compatibility maintained via:
- 46 sys.modules redirect shim files at rusket/ level
- Updated __init__.py re-exports (public API unchanged)
- Proper subpackage __init__.py with key re-exports

All 767 tests pass.

v0.1.90

Toggle v0.1.90's commit message
refactor: split model.py monolith into model/ package with focused su…

…bmodules

- Split model.py (1102 lines) into model/ package:
  _mixins.py (RuleMinerMixin), _base.py (BaseModel + load_model),
  _miner.py (Miner), _recommender.py (ImplicitRecommender + SequentialRecommender)
- Extract detect_dataframe_type() and try_import_polars() helpers into _type_utils.py
- Zero import breakage: __init__.py re-exports all names for backward compat
- Eliminate ~30 lines of duplicated type detection and polars import boilerplate
- desloppify strict score: 21.1 → 79.6/100

v0.1.89

Toggle v0.1.89's commit message
docs: add e-shop vector recommendations tutorial (v0.1.89)

v0.1.88

Toggle v0.1.88's commit message
refactor: remove VectorStore ABC, keep functional export API and nati…

…ve SDK docs

v0.1.87

Toggle v0.1.87's commit message
feat: multi-vector export, VectorStore ABC with 11 backends for DB-si…

…de hybrid fusion

v0.1.86

Toggle v0.1.86's commit message
feat: rename GPU → CUDA, auto-detect CUDA on import, add CUDA codepat…

…hs to all models

- Rename enable_gpu → enable_cuda, disable_gpu → disable_cuda, is_gpu_enabled → is_cuda_enabled
- Rename use_gpu → use_cuda in all 14 model files (backward compat: use_gpu kwarg still accepted)
- Create rusket/cuda.py as primary module, gpu.py as backward-compat shim
- Auto-detect CUDA on import rusket (probes CuPy/PyTorch)
- Add CUDA codepaths to ALS, EASE, FPMC recommend_items
- New test_cuda_config.py (11 tests) and test_cuda_vectordb.py (19 tests)
- Delete old test_gpu_config.py and test_gpu_vectordb.py (superseded)

v0.1.85

Toggle v0.1.85's commit message
feat: add rusket.enable_gpu() global CUDA toggle

- New _config.py with enable_gpu/disable_gpu/is_gpu_enabled
- All 12 models now use use_gpu: bool | None = None with _resolve_gpu()
- Per-model override still works (use_gpu=False overrides global)
- 8 new tests in test_gpu_config.py
- Bump to v0.1.85

v0.1.84

Toggle v0.1.84's commit message
feat: move NMF/EASE/ContentBased heavy computation to Rust

- NMF: parallel multiplicative update loop in Rust (was NumPy)
- EASE: Gram matrix + Cholesky inversion via faer (was scipy)
- ContentBased: TF-IDF + cosine similarity in Rust (was sklearn)
- Add type stubs for nmf_fit, ease_fit, tfidf_cosine_similarity
- Fix gpu.py lint (ambiguous variable I -> eye)
- Bump version to 0.1.84

v0.1.83

Toggle v0.1.83's commit message
feat: wire popularity_weighting, use_biases, anderson_m through CV/Op…

…tuna pipeline, bump v0.1.83

v0.1.82

Toggle v0.1.82's commit message
fix: replace unreliable Optuna progress bar with custom tqdm callback…

…, bump v0.1.82