Releases: lenskit/lkpy
Small component typing update
This is a very small bump that adds better component base class typing.
What's Changed
- Update component configuration type warnings by @mdekstrand in #603
Full Changelog: v2025.0.0a5...v2025.0.0a6
Alpha 5: configuration
Mostly changes around the component API:
- use Pydantic models for configuration
- update Trainable interface to take training options
- add iterative training interface
What's Changed
- Use Pydantic models for component configurations by @mdekstrand in #596
- Re-add return type variable for Component by @mdekstrand in #598
- Migrate HPF to configuration object and fix BiasConfig serialization by @mdekstrand in #600
- Move Trainable interface and add TrainingOptions by @mdekstrand in #599
- Add iterative training API by @mdekstrand in #601
- rename "Lenskit" to LensKit for consistency by @mdekstrand in #602
Full Changelog: v2025.0.0a4...v2025.0.0a5
Alpha 4: performance
Mostly some performance and logging / debugging improvements, along with some refactors.
What's Changed
- Update pre-commit hook versions by @mdekstrand in #594
- Add directory check in save_parquet by @samiravaez in #593
- Refactor Pipeline into private submodule and improve documentation by @mdekstrand in #595
- Speed up popularity scoring and top-N ranking by @mdekstrand in #597
New Contributors
- @samiravaez made their first contribution in #593
Full Changelog: v2025.0.0a3...v2025.0.0a4
3rd Alpha — logging and version fixes
This improves some error messages, logging, and versioning; and tags a prerelease before doing data and configuration improvements.
What's Changed
- emit higher-quality error message on node failure by @mdekstrand in #584
- Add support for 12Factor-style JSON logging by @mdekstrand in #591
- Fix NumPy/PyTorch version problem and item KNN type problem w/ NumPy array by @mdekstrand in #592
Full Changelog: v2025.0.0a2...v2025.0.0a3
Second 2025 Prerelease
This rolls up a number of new changes and bugfixes in the run up to 2025.1.
What's Changed
- Move LensKit test support into lenskit.testing package by @mdekstrand in #575
- Add user/item vocab options and subsetting to from_interactions_df by @mdekstrand in #577
- Implement and use common component test suites by @mdekstrand in #576
- Accelerate item-item k-NN algorithms by @mdekstrand in #578
- Modest user-KNN speedups + item KNN logging by @mdekstrand in #579
- Add basic_logging function and use it in the GettingStarted notebook by @mdekstrand in #580
- Add stability declarations to documentation by @mdekstrand in #581
- Add predict_pipeline, remove data.bulk module, and clean up batch functions by @mdekstrand in #582
- Implement a proxy logger that suppresses debug & info messages by default by @mdekstrand in #583
Full Changelog: v2025.0.0a1...v2025.0.0a2
Initial PyPI 2025 release
This is the first pre-release of LensKit 2025 to PyPI.
Quick bugfix
This fixes a bug in the util.clone
function where it incorrectly cloned tuples as lists.
0.14 Dependency Updates
This is a small compatibility update for 0.14 to support Python 3.11, newer Numba, and Pandas 2.
What's Changed
- Support Python 3.11 & Numba 0.58 by @mdekstrand in #355
Full Changelog: 0.14.2...0.14.3
Dependency Updates
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).
What's Changed
- Use external build tools for 0.14 fix releases by @mdekstrand in #321
- Support Numba 0.56 in 0.14 series by @mdekstrand in #322
Full Changelog: 0.14.1...0.14.2
Fix truncated nDCG bug
This release fixes #309, a bug in which the nDCG metric was not correctly computed when k
is smaller than the recommendation list.
What's Changed
- Fix nDCG truncation bug (#309) by @mdekstrand in #310.
Full Changelog: 0.14.0...0.14.1