Metadata-Version: 2.1
Name: lenskit
Version: 0.11.1
Summary: Run recommender algorithms and experiments
Home-page: https://lkpy.lenskit.org
Author: Michael Ekstrand
Author-email: michaelekstrand@boisestate.edu
License: MIT License
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: pandas (>=0.24)
Requires-Dist: numpy (>=1.16)
Requires-Dist: scipy (>=1.2)
Requires-Dist: numba (<0.52,>=0.45)
Requires-Dist: pyarrow (>=0.15)
Requires-Dist: cffi (>=1.12.2)
Requires-Dist: binpickle (>=0.3.2)
Provides-Extra: demo
Requires-Dist: notebook ; extra == 'demo'
Requires-Dist: nbval ; extra == 'demo'
Requires-Dist: matplotlib ; extra == 'demo'
Requires-Dist: ipywidgets ; extra == 'demo'
Requires-Dist: tqdm ; extra == 'demo'
Provides-Extra: dev
Requires-Dist: flake8 ; extra == 'dev'
Requires-Dist: coverage ; extra == 'dev'
Requires-Dist: pytest-cov ; extra == 'dev'
Requires-Dist: ipython ; extra == 'dev'
Provides-Extra: docs
Requires-Dist: sphinx (>=1.8) ; extra == 'docs'
Requires-Dist: sphinx-rtd-theme ; extra == 'docs'
Requires-Dist: nbsphinx ; extra == 'docs'
Requires-Dist: recommonmark ; extra == 'docs'
Requires-Dist: ipython ; extra == 'docs'
Provides-Extra: hpf
Requires-Dist: hpfrec ; extra == 'hpf'
Provides-Extra: implicit
Requires-Dist: implicit ; extra == 'implicit'
Provides-Extra: sklearn
Requires-Dist: scikit-learn (>=0.22) ; extra == 'sklearn'
Provides-Extra: tf
Requires-Dist: tensorflow (>=2.1) ; extra == 'tf'

# Python recommendation tools

![Test Suite](https://github.com/lenskit/lkpy/workflows/Test%20Suite/badge.svg)
[![codecov](https://codecov.io/gh/lenskit/lkpy/branch/master/graph/badge.svg)](https://codecov.io/gh/lenskit/lkpy)
[![Maintainability](https://api.codeclimate.com/v1/badges/c02098c161112e19c148/maintainability)](https://codeclimate.com/github/lenskit/lkpy/maintainability)

LensKit is a set of Python tools for experimenting with and studying recommender
systems.  It provides support for training, running, and evaluating recommender
algorithms in a flexible fashion suitable for research and education.

LensKit for Python (LKPY) is the successor to the Java-based LensKit project.

If you use LensKit for Python in published research, please cite:

> Michael D. Ekstrand. 2020.
> LensKit for Python: Next-Generation Software for Recommender Systems Experiments.
> In <cite>Proceedings of the 29th ACM International Conference on Information and Knowledge Management</cite> (CIKM '20).
> DOI:[10.1145/3340531.3412778](https://dx.doi.org/10.1145/3340531.3412778>).
> arXiv:[1809.03125](https://arxiv.org/abs/1809.03125) [cs.IR].

## Installing

To install the current release with Anaconda (recommended):

    conda install -c lenskit lenskit

Or you can use `pip`:

    pip install lenskit

To use the latest development version, install directly from GitHub:

    pip install -U git+https://github.com/lenskit/lkpy

Then see [Getting Started](https://lkpy.lenskit.org/en/latest/GettingStarted.html)

## Developing

[issues]: https://github.com/lenskit/lkpy/issues
[workflow]: https://github.com/lenskit/lkpy/wiki/DevWorkflow

To contribute to LensKit, clone or fork the repository, get to work, and submit
a pull request.  We welcome contributions from anyone; if you are looking for a
place to get started, see the [issue tracker][].

Our development workflow is documented in [the wiki][workflow]; the wiki also
contains other information on *developing* LensKit. User-facing documentation is
at <https://lkpy.lenskit.org>.


We recommend using an Anaconda environment for developing LensKit.  To set this
up, run:

    python setup.py dep_info --conda-environment dev-env.yml
    conda env create -f dev-env.yml

This will create a Conda environment called `lkpy-dev` with the packages
required to develop and test LensKit.

We don't maintain the Conda environment specification directly - instead, we
maintain information in `setup.cfg` to be able to generate it, so that we define
dependencies and versions in one place (well, two, if you count the `meta.yaml`
file used to build the Conda recipes).  The `dep_info` setuptools command will
generate a Conda environment specification from the current dependencies in
`setup.cfg`.

## Resources

- [Documentation](https://lkpy.lenskit.org)
- [Mailing list, etc.](https://lenskit.org/connect)

## Acknowledgements

This material is based upon work supported by the National Science Foundation
under Grant No. IIS 17-51278. Any opinions, findings, and conclusions or
recommendations expressed in this material are those of the author(s) and do not
necessarily reflect the views of the National Science Foundation.


