Skip to main content

Build Status GitHub license

a Python library for recommender system, which is hyper-modular, extensively tested and easy to extend. Reclib makes it easy to design and evaluate deep learning models for recommender system, along with the infrastructure to easily run them in the cloud or on your laptop.

The CLI part is under construction for now.

Package Overview

reclib an Python library for recommender system
reclib.commands functionality for a CLI and web service
reclib.data a data processing module for loading and encoding datasets for representation
reclib.models a collection of state-of-the-art models
reclib.modules a collection of PyTorch modules for use with recommender system
reclib.nn tensor utility functions, such as initializers and activation functions
reclib.service a web server to that can serve demos for your models
reclib.training functionality for training models

Installation

reclib requires Python 3.7.1 or later. The preferred way to install reclib is via pip. Just run pip install reclib in your Python environment and you're good to go!

If you need pointers on setting up an appropriate Python environment or would like to install reclib using a different method, see below.

Windows is currently not officially supported, although we try to fix issues when they are easily addressed.

Installing via pip

Setting up a virtual environment

Conda can be used set up a virtual environment with the version of Python required for reclib. If you already have a Python 3.7 or 3.7 environment you want to use, you can skip to the 'installing via pip' section.

  1. Download and install Conda.

  2. Create a Conda environment with Python 3.7

    conda create -n reclib python=3.7
    
  3. Activate the Conda environment. You will need to activate the Conda environment in each terminal in which you want to use reclib.

    source activate reclib
    

Installing the library and dependencies

Installing the library and dependencies is simple using pip.

pip install reclib

That's it! You're now ready to build and train reclib models. reclib installs a script when you install the python package, meaning you can run reclib commands just by typing reclib into a terminal.

You can now test your installation with reclib test-install.

pip currently installs Pytorch for CUDA 9 only (or no GPU). If you require an older version, please visit https://pytorch.org/ and install the relevant pytorch binary.

Features

  • Pythonic
  • Easy to use
  • State-of-the-art

Models

Please refer to the documents

MovieLens 1M

Model MAP nDCG@k Precision@k Recall@k RMSE MAE R2 Auc Explained Variance
AutomaticFeatureInteraction 0.7872
AttentionalFactorizationMachine 0.77824
DeepCrossNetwork 0.7928
DeepFactorizationMachine 0.7928
FieldAwareFactorizationMachine 0.7928
FactorizationMachine 0.7928
FieldAwareNeuralFactorizationMachine 0.7928
FactorizationSupportedNeuralNetwork 0.7928
NeuralFactorizationMachine 0.7928
ProductNeuralNetwork 0.7928
WideAndDeep 0.7928
ExtremeDeepFactorizationMachine 0.800158

Issues

Everyone is welcome to file issues with either feature requests, bug reports, or general questions. As a small team with only one person, we may ask for contributions if a prompt fix doesn't fit into our roadmap. We allow users a two week window to follow up on questions, after which we will close issues. They can be re-opened if there is further discussion.

Contributions

If you would like to contribute a larger feature, we recommend first creating an issue with a proposed design for discussion. This will prevent you from spending significant time on an implementation which has a technical limitation someone could have pointed out early on. Small contributions can be made directly in a pull request.

Pull requests (PRs) must have one approving review and no requested changes before they are merged.

Licence

Apache 2.0

Metadata

Release files for reclib 0.2.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for reclib 0.2.8
File Size Uploaded Provenance Actions
reclib-0.2.8.tar.gz 4.4 kB Without provenance Details for reclib-0.2.8.tar.gz

Release files / reclib-0.2.8.tar.gz

Download URL reclib-0.2.8.tar.gz
Size 4.4 kB
Tags Source
SHA-256 checksum
How to use checksums
44a9cc520bd0e4e46aca85f4ec996a9497673ae2d7cc14e40cbe2234027de848
BLAKE2b-256 checksum
How to use checksums
e8e90c0f3a42aeb772532e91ae2508fe79de0b09686546f492ddbe9d014e08ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

Security for reclib 0.2.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page