Python recommendation toolkit
This fixes a bug in the util.clone
function where it incorrectly cloned tuples as lists.
This is a small compatibility update for 0.14 to support Python 3.11, newer Numba, and Pandas 2.
Full Changelog: https://github.com/lenskit/lkpy/compare/0.14.2...0.14.3
This release just bumps dependencies to enable and test support for Numba 0.56; also bumps up the minimum SciPy version to make the tests pass reliably (the minimum version is still several years old).
Full Changelog: https://github.com/lenskit/lkpy/compare/0.14.1...0.14.2
This release fixes #309, a bug in which the nDCG metric was not correctly computed when k
is smaller than the recommendation list.
Full Changelog: https://github.com/lenskit/lkpy/compare/0.14.0...0.14.1
This release has a lot of cleanups and refactorings. Highlights:
See the detailed release notes below for more information.
This will be the last release series tested against Python 3.7. Further patch releases (e.g. a 0.14.1) will be tested on 3.7, but 0.15 will drop 3.7 support as per NEP 29. NEP 29 would allow us to drop 3.7 with this release, but I'm keeping it since it's been so long since the last LensKit release.
We're pleased to release LensKit 0.13!
This release includes two critical fixes, for which everyone should upgrade:
Bias
model's transform
and inverse_transform
methods were incorrect (#265). These bugs did not affect Bias
when used as a predictor or a recommender, but they did affect any model using Bias
as a normalization step, namely the biased matrix factorizers (since version 0.11, when this API was added).It also includes significant performance improvements and code to detect common problems with parallel processing configurations, and is tested on Python 3.9 and on Linux AArch64 (64-bit ARM).
This release deprecates two sets of APIs that will be removed in LensKit 0.14:
MultiEval
(#254) - it doesn't work well for realistic projects, and simple evaluations are easy enough to write in a loop, so we will be removing MultiEval
to reduce our maintenance burden going forward.We haven't yet adopted any formal deprecation policies for LensKit, but my current tentative plan is to use this next-release cadence for nontrivial removals while we're still releasing 0.x versions; once we decide to bump to 4.x, we will use semantic versioning on all public APIs, and thus deprecations will not be enforced until the next major release.
In a future LensKit, I tentatively plan to factor out several of our bridges (TensorFlow, Implicit, HPF) into separate projects. We will keep compatibility imports for at least one 0.x release, and probably until 4.0. This will reduce the development overhead of the LensKit core.
This actually publishes the 0.12 bump, a tagging error prevented 0.12.2 from going out.
This release contains the sampling function refactor (#230), and documentation improvements.