This release has some performance and improvements, including full Python 3.8, Pandas 1.0, and Numba 0.49 testing.
This is the **last** release we expect to use JobLib to parallelize batch prediction and recommendation. Any Python scripts that call the batch routines (`batch.predict`, `batch.recommend`, or `MultiEval`) need to be *import-protected*: their code needs to be in functions, and only invoked with a `__name__` guard:
if __name__ = '__main__':
do_stuff()
Unprotected scripts (where the code is just in the script, and runs when the script is imported as a module) will probably still work with LensKit 0.9, but will not work in the next version of LensKit. Jupyter notebooks should be just fine - when they are run, the IPython kernel is actually running, and it is properly protected.
What’s Changed
* Improving testing with minimal dependencies (151) mdekstrand
* Skip predictions when no ratings to predict (149) mdekstrand
* Use BinPickle for sharing (148) mdekstrand
* Support iterating over training iterations (144) mdekstrand
* Fix for Numba 0.49 compatibility (146) mdekstrand
* Use GitHub Actions for CI (143) mdekstrand
* Use declarative configuration for builds (142) mdekstrand
* Add model stores for batch multiprocessing (139) mdekstrand
* Improve top-N metric performance (140) mdekstrand
* Fix Conda Python 3.8 testing (138) mdekstrand
* Unify configuration points (137) mdekstrand
* Clean up RNG infrastructure (136) mdekstrand
* Add configurable RNG infrastructure (135) mdekstrand
* Remove deprecated and unused features (134) mdekstrand
* Version bumps - Pandas 1.0 and Python 3.8 (133) mdekstrand