CITATION.cff
Cargo.lock
Cargo.toml
LICENSE.md
MANIFEST.in
README.md
codecov.yml
conftest.py
pyproject.toml
rust-toolchain.toml
setup.py
tasks.py
uv.lock
conda/.gitignore
conda/recipe.yaml
conda/variants.yaml
data/.gitignore
data/ml-latest-small/README.txt
data/ml-latest-small/links.csv
data/ml-latest-small/movies.csv
data/ml-latest-small/ratings.csv
data/ml-latest-small/tags.csv
docs/LKLogo2.png
docs/catalogs.rst
docs/conf.py
docs/index.rst
docs/lenskit.bib
docs/references.rst
docs/todo.rst
docs/_ext/lk_stability.py
docs/_static/css/custom.css
docs/_templates/footer.html
docs/api/.gitignore
docs/api/batch.rst
docs/api/data-types.rst
docs/api/data.rst
docs/api/diagnostics.rst
docs/api/index.rst
docs/api/metrics.rst
docs/api/operations.rst
docs/api/pipeline.rst
docs/api/splitting.rst
docs/api/state.rst
docs/api/training.rst
docs/cli/index.rst
docs/guide/GettingStarted.ipynb
docs/guide/batch.rst
docs/guide/conventions.rst
docs/guide/documenting.rst
docs/guide/examples.rst
docs/guide/implementing.rst
docs/guide/index.rst
docs/guide/install.rst
docs/guide/logging.rst
docs/guide/migrating.rst
docs/guide/other-components.rst
docs/guide/parallelism.rst
docs/guide/pipeline.rst
docs/guide/principles.rst
docs/guide/queries.rst
docs/guide/rankers.rst
docs/guide/scorers.rst
docs/guide/splitting.rst
docs/guide/std-pred-pipeline.mmd
docs/guide/std-topn-pipeline.mmd
docs/guide/data/datasets.rst
docs/guide/data/index.rst
docs/guide/data/item-lists.rst
docs/guide/data/model.rst
docs/guide/data/movielens.rst
docs/guide/evaluation/index.rst
docs/guide/evaluation/predictions.rst
docs/guide/evaluation/rankings.rst
docs/guide/examples/blendcomp.py
docs/releases/2025.rst
docs/releases/index.rst
src/accel/arrow.rs
src/accel/lib.rs
src/accel/sparse.rs
src/accel/types.rs
src/accel/knn/item_score.rs
src/accel/knn/item_train.rs
src/accel/knn/mod.rs
src/lenskit/__init__.py
src/lenskit/__main__.py
src/lenskit/_version.py
src/lenskit/diagnostics.py
src/lenskit/funksvd.py
src/lenskit/hpf.py
src/lenskit/implicit.py
src/lenskit/operations.py
src/lenskit/py.typed
src/lenskit/random.py
src/lenskit/stats.py
src/lenskit/torch.py
src/lenskit/training.py
src/lenskit/util.py
src/lenskit.egg-info/PKG-INFO
src/lenskit.egg-info/SOURCES.txt
src/lenskit.egg-info/dependency_links.txt
src/lenskit.egg-info/entry_points.txt
src/lenskit.egg-info/requires.txt
src/lenskit.egg-info/top_level.txt
src/lenskit/als/__init__.py
src/lenskit/als/_common.py
src/lenskit/als/_explicit.py
src/lenskit/als/_implicit.py
src/lenskit/basic/__init__.py
src/lenskit/basic/bias.py
src/lenskit/basic/candidates.py
src/lenskit/basic/composite.py
src/lenskit/basic/history.py
src/lenskit/basic/popularity.py
src/lenskit/basic/random.py
src/lenskit/basic/topn.py
src/lenskit/batch/__init__.py
src/lenskit/batch/_results.py
src/lenskit/batch/_runner.py
src/lenskit/cli/__init__.py
src/lenskit/cli/doctor.py
src/lenskit/cli/recommend.py
src/lenskit/cli/train.py
src/lenskit/cli/data/__init__.py
src/lenskit/cli/data/convert.py
src/lenskit/cli/data/describe.py
src/lenskit/cli/data/fetch.py
src/lenskit/data/__init__.py
src/lenskit/data/adapt.py
src/lenskit/data/arrow.py
src/lenskit/data/attributes.py
src/lenskit/data/builder.py
src/lenskit/data/checks.py
src/lenskit/data/container.py
src/lenskit/data/dataset.py
src/lenskit/data/entities.py
src/lenskit/data/items.py
src/lenskit/data/matrix.py
src/lenskit/data/movielens.py
src/lenskit/data/mtarray.py
src/lenskit/data/query.py
src/lenskit/data/relationships.py
src/lenskit/data/schema.py
src/lenskit/data/summary.py
src/lenskit/data/types.py
src/lenskit/data/vocab.py
src/lenskit/data/collection/__init__.py
src/lenskit/data/collection/_base.py
src/lenskit/data/collection/_keys.py
src/lenskit/data/collection/_list.py
src/lenskit/flexmf/__init__.py
src/lenskit/flexmf/_base.py
src/lenskit/flexmf/_explicit.py
src/lenskit/flexmf/_implicit.py
src/lenskit/flexmf/_model.py
src/lenskit/flexmf/_training.py
src/lenskit/knn/__init__.py
src/lenskit/knn/item.py
src/lenskit/knn/user.py
src/lenskit/logging/__init__.py
src/lenskit/logging/_console.py
src/lenskit/logging/_proxy.py
src/lenskit/logging/config.py
src/lenskit/logging/monitor.py
src/lenskit/logging/processors.py
src/lenskit/logging/resource.py
src/lenskit/logging/stopwatch.py
src/lenskit/logging/tasks.py
src/lenskit/logging/tracing.py
src/lenskit/logging/worker.py
src/lenskit/logging/progress/__init__.py
src/lenskit/logging/progress/_base.py
src/lenskit/logging/progress/_dispatch.py
src/lenskit/logging/progress/_formats.py
src/lenskit/logging/progress/_handles.py
src/lenskit/logging/progress/_notebook.py
src/lenskit/logging/progress/_rich.py
src/lenskit/math/__init__.py
src/lenskit/math/solve.py
src/lenskit/math/sparse.py
src/lenskit/metrics/__init__.py
src/lenskit/metrics/_base.py
src/lenskit/metrics/_quick.py
src/lenskit/metrics/basic.py
src/lenskit/metrics/bulk.py
src/lenskit/metrics/predict.py
src/lenskit/metrics/ranking/__init__.py
src/lenskit/metrics/ranking/_base.py
src/lenskit/metrics/ranking/_dcg.py
src/lenskit/metrics/ranking/_hit.py
src/lenskit/metrics/ranking/_pop.py
src/lenskit/metrics/ranking/_pr.py
src/lenskit/metrics/ranking/_rbp.py
src/lenskit/metrics/ranking/_recip.py
src/lenskit/parallel/__init__.py
src/lenskit/parallel/chunking.py
src/lenskit/parallel/config.py
src/lenskit/parallel/invoker.py
src/lenskit/parallel/pool.py
src/lenskit/parallel/ray.py
src/lenskit/parallel/sequential.py
src/lenskit/parallel/serialize.py
src/lenskit/parallel/worker.py
src/lenskit/pipeline/__init__.py
src/lenskit/pipeline/_impl.py
src/lenskit/pipeline/builder.py
src/lenskit/pipeline/cache.py
src/lenskit/pipeline/common.py
src/lenskit/pipeline/components.py
src/lenskit/pipeline/config.py
src/lenskit/pipeline/nodes.py
src/lenskit/pipeline/runner.py
src/lenskit/pipeline/state.py
src/lenskit/pipeline/types.py
src/lenskit/sklearn/__init__.py
src/lenskit/sklearn/svd.py
src/lenskit/splitting/__init__.py
src/lenskit/splitting/holdout.py
src/lenskit/splitting/records.py
src/lenskit/splitting/split.py
src/lenskit/splitting/temporal.py
src/lenskit/splitting/users.py
src/lenskit/state/__init__.py
src/lenskit/state/_container.py
src/lenskit/stochastic/__init__.py
src/lenskit/stochastic/_ranker.py
src/lenskit/testing/__init__.py
src/lenskit/testing/_arrays.py
src/lenskit/testing/_components.py
src/lenskit/testing/_markers.py
src/lenskit/testing/_movielens.py
tests/__init__.py
tests/baselines.xlsx
tests/basic/__init__.py
tests/basic/test_bias.py
tests/basic/test_candidates.py
tests/basic/test_composite.py
tests/basic/test_history.py
tests/basic/test_popular.py
tests/basic/test_random.py
tests/basic/test_softmax.py
tests/basic/test_time_bounded_popular.py
tests/basic/test_topn.py
tests/batch/__init__.py
tests/batch/test_batch_pipeline.py
tests/cli/__init__.py
tests/cli/test_data_convert.py
tests/cli/test_data_describe.py
tests/data/__init__.py
tests/data/test_adapt_schemas.py
tests/data/test_arrow.py
tests/data/test_builder_attributes.py
tests/data/test_builder_entities.py
tests/data/test_builder_filter.py
tests/data/test_builder_interactions.py
tests/data/test_builder_save.py
tests/data/test_collection.py
tests/data/test_data_checks.py
tests/data/test_dataset_convert.py
tests/data/test_dataset_entity_query.py
tests/data/test_dataset_ids.py
tests/data/test_dataset_lazy.py
tests/data/test_dataset_log.py
tests/data/test_dataset_matrix.py
tests/data/test_dataset_stats.py
tests/data/test_index_benchmark.py
tests/data/test_itemlist.py
tests/data/test_load_movielens.py
tests/data/test_matrix_convert.py
tests/data/test_mtarray.py
tests/data/test_negative_sampling.py
tests/data/test_sparse_select.py
tests/data/test_vocab.py
tests/eval/__init__.py
tests/eval/test_bulk_metrics.py
tests/eval/test_predict_metrics.py
tests/eval/test_rank_dcg.py
tests/eval/test_rank_hit.py
tests/eval/test_rank_mrr.py
tests/eval/test_rank_ndcg.py
tests/eval/test_rank_popularity.py
tests/eval/test_rank_precision.py
tests/eval/test_rank_rbp.py
tests/eval/test_rank_recall.py
tests/eval/topn-java-metrics.csv
tests/eval/topn-java-recs.csv
tests/eval/topn-java-truth.csv
tests/flexmf/__init__.py
tests/flexmf/test_flexmf_explicit.py
tests/flexmf/test_flexmf_implicit.py
tests/funksvd/__init__.py
tests/funksvd/funksvd-preds.csv
tests/funksvd/test_funksvd.py
tests/hpf/__init__.py
tests/hpf/test_hpf.py
tests/implicit/__init__.py
tests/implicit/test_implicit.py
tests/math/__init__.py
tests/math/test_argtopn.py
tests/math/test_gini.py
tests/models/__init__.py
tests/models/item-item-preds.csv
tests/models/test_als_explicit.py
tests/models/test_als_implicit.py
tests/models/test_knn_item_item.py
tests/models/test_knn_user_user.py
tests/models/user-user-preds.csv
tests/movielens/__init__.py
tests/movielens/test_ml20m.py
tests/parallel/__init__.py
tests/parallel/test_parallel.py
tests/parallel/test_shm_serialize.py
tests/pipeline/__init__.py
tests/pipeline/test_cache.py
tests/pipeline/test_component_config.py
tests/pipeline/test_component_util.py
tests/pipeline/test_config_node.py
tests/pipeline/test_fallback.py
tests/pipeline/test_lazy.py
tests/pipeline/test_modify_pipeline.py
tests/pipeline/test_pipeline.py
tests/pipeline/test_pipeline_clone.py
tests/pipeline/test_pipeline_state.py
tests/pipeline/test_save_load.py
tests/pipeline/test_train.py
tests/pipeline/test_types.py
tests/sklearn/__init__.py
tests/sklearn/test_svd.py
tests/splitting/__init__.py
tests/splitting/test_split_holdout.py
tests/splitting/test_split_records.py
tests/splitting/test_split_temporal.py
tests/splitting/test_split_temporal_filter.py
tests/splitting/test_split_users.py
tests/stochastic/__init__.py
tests/stochastic/test_stochastic_ranker.py
tests/utils/__init__.py
tests/utils/config.json
tests/utils/config.toml
tests/utils/config.yaml
tests/utils/test_math_solve.py
tests/utils/test_math_spmv.py
tests/utils/test_matrix_rows.py
tests/utils/test_random.py
tests/utils/test_stopwatch.py
tests/utils/test_task_logging.py
tests/utils/test_torch_util.py
utils/import-history.js