Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor component types and update POPROX code #482

Merged
merged 9 commits into from
Sep 19, 2024

Conversation

mdekstrand
Copy link
Member

This synchronizes the pipeline code with POPROX:

  1. refactor component types so components extend Component
  2. add lazy inputs

@mdekstrand mdekstrand added the pipeline LensKit pipeline abstraction label Sep 18, 2024
@mdekstrand mdekstrand added this to the 2024.1 milestone Sep 18, 2024
Copy link

The LensKit 🤖 has run the tests on your PR.

✅ Tests covered 97.56% of diff.

🚨 Coverage decreased -0.01% from 92.41% to 92.40%.

origin/main...HEAD, staged and unstaged changes
  • lenskit/lenskit/pipeline/init.py (100%)
  • lenskit/lenskit/pipeline/common.py (100%)
  • lenskit/lenskit/pipeline/components.py (90.9%): Missing lines 190
  • lenskit/lenskit/pipeline/config.py (100%)
  • lenskit/lenskit/pipeline/nodes.py (100%)
  • lenskit/lenskit/pipeline/runner.py (100%)

Summary

  • Total: 41 lines
  • Missing: 1 line
  • Coverage: 97%
Source Coverage Report
Name Stmts Miss Cover
lenskit/lenskit/util/envcheck.py 57 44 23%
lenskit/lenskit/data/fetch.py 38 28 26%
lenskit/lenskit/data/types.py 38 12 68%
lenskit/lenskit/util/__init__.py 72 19 74%
lenskit/lenskit/pipeline/common.py 4 1 75%
lenskit/lenskit/splitting/split.py 25 6 76%
lenskit/lenskit/topn.py 109 25 77%
lenskit/lenskit/data/movielens.py 97 18 81%
lenskit/lenskit/util/test.py 104 19 82%
lenskit/lenskit/pipeline/state.py 44 8 82%
lenskit/lenskit/parallel/config.py 65 11 83%
lenskit/lenskit/parallel/pool.py 54 9 83%
lenskit/lenskit/algorithms/ranking.py 75 11 85%
lenskit/lenskit/algorithms/__init__.py 67 8 88%
lenskit/lenskit/util/random.py 26 3 88%
lenskit-implicit/lenskit/implicit.py 94 9 90%
lenskit/lenskit/batch/_recommend.py 46 4 91%
lenskit/lenskit/data/vocab.py 84 7 92%
lenskit/lenskit/splitting/holdout.py 56 4 93%
lenskit/lenskit/parallel/worker.py 43 3 93%
lenskit/lenskit/batch/_predict.py 30 2 93%
lenskit/lenskit/math/sparse.py 60 4 93%
lenskit/lenskit/pipeline/components.py 45 3 93%
lenskit/lenskit/parallel/invoker.py 31 2 94%
lenskit/lenskit/algorithms/knn/user.py 177 11 94%
lenskit/lenskit/data/items.py 177 11 94%
lenskit/lenskit/algorithms/knn/item.py 302 17 94%
lenskit/lenskit/data/dataset.py 131 7 95%
lenskit/lenskit/algorithms/svd.py 75 4 95%
lenskit/lenskit/data/mtarray.py 57 3 95%
lenskit/lenskit/data/matrix.py 233 12 95%
lenskit/lenskit/pipeline/types.py 79 4 95%
lenskit/lenskit/parallel/chunking.py 20 1 95%
lenskit-funksvd/lenskit/funksvd.py 187 8 96%
lenskit/lenskit/pipeline/__init__.py 297 12 96%
lenskit/lenskit/data/lazy.py 34 1 97%
lenskit/lenskit/algorithms/basic.py 161 4 98%
lenskit/lenskit/algorithms/als/explicit.py 121 3 98%
lenskit/lenskit/pipeline/runner.py 86 2 98%
lenskit/lenskit/algorithms/bias.py 150 3 98%
lenskit/lenskit/parallel/serialize.py 51 1 98%
lenskit/lenskit/algorithms/als/common.py 128 2 98%
lenskit/lenskit/crossfold.py 136 2 99%
lenskit/lenskit/pipeline/config.py 83 1 99%
lenskit/lenskit/algorithms/als/implicit.py 112 1 99%
lenskit/lenskit/metrics/topn.py 212 1 99%
lenskit-hpf/lenskit/hpf.py 24 0 100%
lenskit/lenskit/algorithms/als/__init__.py 3 0 100%
lenskit/lenskit/algorithms/knn/__init__.py 3 0 100%
lenskit/lenskit/algorithms/mf_common.py 61 0 100%
lenskit/lenskit/batch/__init__.py 2 0 100%
lenskit/lenskit/data/__init__.py 9 0 100%
lenskit/lenskit/data/checks.py 37 0 100%
lenskit/lenskit/data/convert.py 50 0 100%
lenskit/lenskit/data/tables.py 25 0 100%
lenskit/lenskit/diagnostics.py 4 0 100%
lenskit/lenskit/math/__init__.py 0 0 100%
lenskit/lenskit/math/solve.py 6 0 100%
lenskit/lenskit/metrics/__init__.py 0 0 100%
lenskit/lenskit/metrics/predict.py 32 0 100%
lenskit/lenskit/parallel/__init__.py 4 0 100%
lenskit/lenskit/parallel/sequential.py 22 0 100%
lenskit/lenskit/pipeline/nodes.py 54 0 100%
lenskit/lenskit/splitting/__init__.py 4 0 100%
lenskit/lenskit/splitting/records.py 57 0 100%
lenskit/lenskit/splitting/users.py 61 0 100%
lenskit/lenskit/types.py 5 0 100%
lenskit/lenskit/util/logging.py 19 0 100%
lenskit/lenskit/util/timing.py 28 0 100%
TOTAL 4883 371 92%

@mdekstrand mdekstrand merged commit 3dc84b7 into lenskit:main Sep 19, 2024
38 checks passed
@mdekstrand mdekstrand deleted the feature/pipeline-type-refactor branch September 19, 2024 18:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pipeline LensKit pipeline abstraction
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

1 participant