Skip to main content

LibRecommender

Build CI Codecov pypi Downloads Codacy Badge Code style: black Ruff Documentation Status python versions License

Overview

LibRecommender is an easy-to-use recommender system focused on end-to-end recommendation process. It contains a training(libreco) and serving(libserving) module to let users quickly train and deploy different kinds of recommendation models.

The main features are:

  • Implements a number of popular recommendation algorithms such as FM, DIN, LightGCN etc. See full algorithm list.
  • A hybrid recommender system, which allows user to use either collaborative-filtering or content-based features. New features can be added on the fly.
  • Low memory usage, automatically converts categorical and multi-value categorical features to sparse representation.
  • Supports training for both explicit and implicit datasets, as well as negative sampling on implicit data.
  • Provides end-to-end workflow, i.e. data handling / preprocessing -> model training -> evaluate -> save/load -> serving.
  • Supports cold-start prediction and recommendation.
  • Supports dynamic feature and sequence recommendation.
  • Provides unified and friendly API for all algorithms.
  • Easy to retrain model with new users/items from new data.

Usage

pure collaborative-filtering example :

import numpy as np
import pandas as pd
from libreco.data import random_split, DatasetPure
from libreco.algorithms import LightGCN  # pure data, algorithm LightGCN
from libreco.evaluation import evaluate

data = pd.read_csv("examples/sample_data/sample_movielens_rating.dat", sep="::",
                   names=["user", "item", "label", "time"])

# split whole data into three folds for training, evaluating and testing
train_data, eval_data, test_data = random_split(data, multi_ratios=[0.8, 0.1, 0.1])

train_data, data_info = DatasetPure.build_trainset(train_data)
eval_data = DatasetPure.build_evalset(eval_data)
test_data = DatasetPure.build_testset(test_data)
print(data_info)  # n_users: 5894, n_items: 3253, data sparsity: 0.4172 %

lightgcn = LightGCN(
    task="ranking",
    data_info=data_info,
    loss_type="bpr",
    embed_size=16,
    n_epochs=3,
    lr=1e-3,
    batch_size=2048,
    num_neg=1,
    device="cuda",
)
# monitor metrics on eval data during training
lightgcn.fit(
    train_data,
    neg_sampling=True,
    verbose=2,
    eval_data=eval_data,
    metrics=["loss", "roc_auc", "precision", "recall", "ndcg"],
)

# do final evaluation on test data
evaluate(
    model=lightgcn,
    data=test_data,
    neg_sampling=True,
    metrics=["loss", "roc_auc", "precision", "recall", "ndcg"],
)

# predict preference of user 2211 to item 110
lightgcn.predict(user=2211, item=110)
# recommend 7 items for user 2211
lightgcn.recommend_user(user=2211, n_rec=7)

# cold-start prediction
lightgcn.predict(user="ccc", item="not item", cold_start="average")
# cold-start recommendation
lightgcn.recommend_user(user="are we good?", n_rec=7, cold_start="popular")

include features example :

import numpy as np
import pandas as pd
from libreco.data import split_by_ratio_chrono, DatasetFeat
from libreco.algorithms import YouTubeRanking  # feat data, algorithm YouTubeRanking

data = pd.read_csv("examples/sample_data/sample_movielens_merged.csv", sep=",", header=0)
# split into train and test data based on time
train_data, test_data = split_by_ratio_chrono(data, test_size=0.2)

# specify complete columns information
sparse_col = ["sex", "occupation", "genre1", "genre2", "genre3"]
dense_col = ["age"]
user_col = ["sex", "age", "occupation"]
item_col = ["genre1", "genre2", "genre3"]

train_data, data_info = DatasetFeat.build_trainset(
    train_data, user_col, item_col, sparse_col, dense_col
)
test_data = DatasetFeat.build_testset(test_data)
print(data_info)  # n_users: 5962, n_items: 3226, data sparsity: 0.4185 %

ytb_ranking = YouTubeRanking(
    task="ranking",
    data_info=data_info,
    embed_size=16,
    n_epochs=3,
    lr=1e-4,
    batch_size=512,
    use_bn=True,
    hidden_units=(128, 64, 32),
)
ytb_ranking.fit(
    train_data,
    neg_sampling=True,
    verbose=2,
    shuffle=True,
    eval_data=test_data,
    metrics=["loss", "roc_auc", "precision", "recall", "map", "ndcg"],
)

# predict preference of user 2211 to item 110
ytb_ranking.predict(user=2211, item=110)
# recommend 7 items for user 2211
ytb_ranking.recommend_user(user=2211, n_rec=7)

# cold-start prediction
ytb_ranking.predict(user="ccc", item="not item", cold_start="average")
# cold-start recommendation
ytb_ranking.recommend_user(user="are we good?", n_rec=7, cold_start="popular")

Data Format

JUST normal data format, each line represents a sample. One thing is important, the model assumes that user, item, and label column index are 0, 1, and 2, respectively. You may wish to change the column order if that's not the case. Take for Example, the movielens-1m dataset:

1::1193::5::978300760
1::661::3::978302109
1::914::3::978301968
1::3408::4::978300275

Besides, if you want to use some other meta features (e.g., age, sex, category etc.), you need to tell the model which columns are [sparse_col, dense_col, user_col, item_col], which means all features must be in a same table. See above YouTubeRanking for example.

Also note that your data should not contain missing values.

Documentation

The tutorials and API documentation are hosted on librecommender.readthedocs.io.

The example scripts are under examples/ folder.

Installation & Dependencies

From pypi :  

$ pip install -U LibRecommender

Build from source:

$ git clone https://github.com/massquantity/LibRecommender.git
$ cd LibRecommender
$ pip install .

Basic Dependencies for libreco:

  • Python >= 3.6
  • TensorFlow >= 1.15, < 2.16
  • PyTorch >= 1.10
  • Numpy >= 1.19.5
  • Pandas >= 1.0.0
  • Scipy >= 1.2.1, < 1.13.0
  • scikit-learn >= 0.20.0
  • gensim >= 4.0.0
  • tqdm
  • nmslib (optional, used in approximate similarity searching. See Embedding)
  • DGL (optional, used in GraphSage and PinSage. See Implementation Details)
  • Cython >= 0.29.0, < 3 (optional, for building from source)

If you are using Python 3.6, you also need to install dataclasses, which was first introduced in Python 3.7.

LibRecommender has been tested under TensorFlow 1.15, 2.6, 2.10 and 2.12. If you encounter any problem during running, feel free to open an issue.

Tensorflow 2.16 starts using Keras 3.0, so tf1 syntax is no longer supported. Now the supported version is 1.15 - 2.15.

Known issue:

  • Sometimes one may encounter errors like ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject. In this case try upgrading numpy, and version 1.22.0 or higher is probably a safe option.
  • When saving a TensorFlow model for serving, you might encounter the error message: Fatal Python error: Segmentation fault (core dumped). This issue is most likely related to the protobuf library, so you should follow the official recommended version based on your local tensorflow version. In general, it's advisable to use protobuf < 4.24.0.

The table below shows some compatible version combinations:

Python Numpy TensorFlow OS
3.6 1.19.5 1.15, 2.5 linux, windows, macos
3.7 1.20.3, 1.21.6 1.15, 2.6, 2.10 linux, windows, macos
3.8 1.22.4, 1.23.4 2.6, 2.10, 2.12 linux, windows, macos
3.9 1.22.4, 1.23.4 2.6, 2.10, 2.12 linux, windows, macos
3.10 1.22.4, 1.23.4, 1.24.2 2.10, 2.12 linux, windows, macos
3.11 1.23.4, 1.24.2 2.12 linux, windows, macos

Optional Dependencies for libserving:

Docker

One can also use the library in a docker container without installing dependencies, see Docker.

References

Algorithm Category1 Backend Sequence2 Graph3 Embedding4 Paper
userCF / itemCF pure Cython, Rust Item-Based Collaborative Filtering
SVD pure TensorFlow1 :heavy_check_mark: Matrix Factorization Techniques
SVD++ pure TensorFlow1 :heavy_check_mark: Factorization Meets the Neighborhood
ALS pure Cython :heavy_check_mark: 1. Matrix Completion via Alternating Least Square(ALS)
2. Collaborative Filtering for Implicit Feedback Datasets
3. Conjugate Gradient for Implicit Feedback
NCF pure TensorFlow1 Neural Collaborative Filtering
BPR pure Cython, TensorFlow1 :heavy_check_mark: Bayesian Personalized Ranking
Wide & Deep feat TensorFlow1 Wide & Deep Learning for Recommender Systems
FM feat TensorFlow1 Factorization Machines
DeepFM feat TensorFlow1 DeepFM
YouTubeRetrieval feat TensorFlow1 :heavy_check_mark: :heavy_check_mark: Deep Neural Networks for YouTube Recommendations
YouTubeRanking feat TensorFlow1 :heavy_check_mark: Deep Neural Networks for YouTube Recommendations
AutoInt feat TensorFlow1 AutoInt
DIN feat TensorFlow1 :heavy_check_mark: Deep Interest Network
Item2Vec pure / :heavy_check_mark: :heavy_check_mark: Item2Vec
RNN4Rec / GRU4Rec pure TensorFlow1 :heavy_check_mark: :heavy_check_mark: Session-based Recommendations with Recurrent Neural Networks
Caser pure TensorFlow1 :heavy_check_mark: :heavy_check_mark: Personalized Top-N Sequential Recommendation via Convolutional
WaveNet pure TensorFlow1 :heavy_check_mark: :heavy_check_mark: WaveNet: A Generative Model for Raw Audio
DeepWalk pure / :heavy_check_mark: :heavy_check_mark: DeepWalk
NGCF pure PyTorch :heavy_check_mark: :heavy_check_mark: Neural Graph Collaborative Filtering
LightGCN pure PyTorch :heavy_check_mark: :heavy_check_mark: LightGCN
GraphSage feat DGL, PyTorch :heavy_check_mark: :heavy_check_mark: Inductive Representation Learning on Large Graphs
PinSage feat DGL, PyTorch :heavy_check_mark: :heavy_check_mark: Graph Convolutional Neural Networks for Web-Scale
TwoTower feat TensorFlow1 :heavy_check_mark: 1. Sampling-Bias-Corrected Neural Modeling for Large Corpus Item
2. Self-supervised Learning for Large-scale Item
Transformer feat TensorFlow1 :heavy_check_mark: 1. BST
2. Transformers4Rec
3. RMSNorm
SIM feat TensorFlow1 :heavy_check_mark: SIM
Swing pure Rust Swing

[1] Category: pure means collaborative-filtering algorithms which only use behavior data, feat means other side-features can be included.

[2] Sequence: Algorithms that leverage user behavior sequence.

[3] Graph: Algorithms that leverage graph information, including Graph Embedding (GE) and Graph Neural Network (GNN) .

[4] Embedding: Algorithms that can generate final user and item embeddings.

Powered by

JetBrains Logo

Release files for LibRecommender 1.5.2

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

Source distribution (sdist)

Source distribution for LibRecommender 1.5.2
File Size Uploaded
librecommender-1.5.2.tar.gz 525.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for LibRecommender 1.5.2
File
librecommender-1.5.2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
librecommender-1.5.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
librecommender-1.5.2-cp311-cp311-macosx_11_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 11.0+ x86-64 Details
librecommender-1.5.2-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
librecommender-1.5.2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
librecommender-1.5.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
librecommender-1.5.2-cp310-cp310-macosx_11_0_x86_64.whl CPython 3.10 CPython 3.10 macOS 11.0+ x86-64 Details
librecommender-1.5.2-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
librecommender-1.5.2-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
librecommender-1.5.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
librecommender-1.5.2-cp39-cp39-macosx_11_0_x86_64.whl CPython 3.9 CPython 3.9 macOS 11.0+ x86-64 Details
librecommender-1.5.2-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
librecommender-1.5.2-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
librecommender-1.5.2-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
librecommender-1.5.2-cp38-cp38-macosx_11_0_x86_64.whl CPython 3.8 CPython 3.8 macOS 11.0+ x86-64 Details
librecommender-1.5.2-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
LibRecommender-1.5.2-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
LibRecommender-1.5.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 Details
LibRecommender-1.5.2-cp37-cp37m-macosx_10_9_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64 Details
LibRecommender-1.5.2-cp36-cp36m-win_amd64.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-64 Details
LibRecommender-1.5.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ x86-64 Details
LibRecommender-1.5.2-cp36-cp36m-macosx_10_9_x86_64.whl CPython 3.6 CPython 3.6 pymalloc macOS 10.9+ x86-64 Details

Total release size: 26.8 MB

Release files / librecommender-1.5.2.tar.gz

Download URL librecommender-1.5.2.tar.gz
Size 525.9 kB
Tags Source
SHA-256 checksum
How to use checksums
15cf6f30cd7202816f938da076de8df38267fdbdb039da61a2743b053873d74d
BLAKE2b-256 checksum
How to use checksums
020588abebf878322a0929444e09065e4d36cd1b9ad5da9a8746fb0d2921279c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / librecommender-1.5.2-cp311-cp311-win_amd64.whl

Download URL librecommender-1.5.2-cp311-cp311-win_amd64.whl
Size 838.0 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
eb5376605e443d2a48eb600eb1e4c9888b30f3693675e5017ea4f33cd123604b
BLAKE2b-256 checksum
How to use checksums
1d8560c07ae36bcca4aab5be39612faf7b13bf699fe544cd5a4ae7f50470bae1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / librecommender-1.5.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL librecommender-1.5.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 2.2 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
6aa4b341f83c10ea0adc2b0ba08eaf6c9af90308966cb7f334efbe182fa2e707
BLAKE2b-256 checksum
How to use checksums
4a9cd47605386ea0da2a74b768801bff7ab1a45404669395d77f16e1b6d55e08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / librecommender-1.5.2-cp311-cp311-macosx_11_0_x86_64.whl

Download URL librecommender-1.5.2-cp311-cp311-macosx_11_0_x86_64.whl
Size 863.5 kB
Tags CPython 3.11 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
99d820cd34d1d8a08bea6e3196e0f313ef00f0b1e82678996ecc78d94d591ec2
BLAKE2b-256 checksum
How to use checksums
6da51f33111f78ec0d1fe6919adcf7b238f42e6c4eb506a7a723b9a82163340d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / librecommender-1.5.2-cp311-cp311-macosx_11_0_arm64.whl

Download URL librecommender-1.5.2-cp311-cp311-macosx_11_0_arm64.whl
Size 839.3 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ae573a32cc0830faef527435d3f299808a400e288fc4fc58e06fd8b2c8359d24
BLAKE2b-256 checksum
How to use checksums
0e864414c835ffaa6aa9ce42ba89e3ef675ca5a53be65f024ffb13c0d7e1ad18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / librecommender-1.5.2-cp310-cp310-win_amd64.whl

Download URL librecommender-1.5.2-cp310-cp310-win_amd64.whl
Size 840.2 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
8ac6c518be4715b6d7eb1771c8fdcf54264a0e7073799355db63e1b85c173cad
BLAKE2b-256 checksum
How to use checksums
4d116f83bd4b819d0195727e6d7d87b39e3df11901c7953de218767092243516
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / librecommender-1.5.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL librecommender-1.5.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 2.1 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
391ebe16a5e103dab815b7f363c69275f57299bae6da8b1bf09f64d714b1bc22
BLAKE2b-256 checksum
How to use checksums
6b7a32842bb1359c445cde02bd0510526f28d403183d51e245904e167c29e3e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / librecommender-1.5.2-cp310-cp310-macosx_11_0_x86_64.whl

Download URL librecommender-1.5.2-cp310-cp310-macosx_11_0_x86_64.whl
Size 865.5 kB
Tags CPython 3.10 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
848f98e7710757abb071e53b5828635fafb1b6cc592a3c13d588ac98a43bb2bf
BLAKE2b-256 checksum
How to use checksums
d57d79dc192b3154c49519783e61daf5c570d3d048dfb7284f8495e6312a331c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / librecommender-1.5.2-cp310-cp310-macosx_11_0_arm64.whl

Download URL librecommender-1.5.2-cp310-cp310-macosx_11_0_arm64.whl
Size 841.9 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
da88aa3d81a9fd5d8d819edb34ef2486f0a11ad7529f56a0947c98c82316f146
BLAKE2b-256 checksum
How to use checksums
da0ba1a48dfac53d673914b38136dbbc613e74d511ef274d7ecc48c64ce2ae29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / librecommender-1.5.2-cp39-cp39-win_amd64.whl

Download URL librecommender-1.5.2-cp39-cp39-win_amd64.whl
Size 843.7 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
26fa23b108f19bfcfeada72303abccc1408feb6283ff69d646d2512225cde532
BLAKE2b-256 checksum
How to use checksums
bbaecf6ec4217c63da8059957d03896e4fe0c4eebb2969c2f5fc7beac897550c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / librecommender-1.5.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL librecommender-1.5.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 2.1 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
df160750a52f93a65938796aa92a130352179172974727b71221ea5abba6228e
BLAKE2b-256 checksum
How to use checksums
bf7edd5493a5613c576f0eab226deb422cd2524441a93929a8ea6e6899a9c5af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / librecommender-1.5.2-cp39-cp39-macosx_11_0_x86_64.whl

Download URL librecommender-1.5.2-cp39-cp39-macosx_11_0_x86_64.whl
Size 866.9 kB
Tags CPython 3.9 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
84979a8eaa192fc055cd1f869c2cd27a5d549c22cba68bf38807d6bd7389d186
BLAKE2b-256 checksum
How to use checksums
fc6b170b57b16ab455a19ad4b886a7e49407c3b40e759be8db180dba7e20358c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / librecommender-1.5.2-cp39-cp39-macosx_11_0_arm64.whl

Download URL librecommender-1.5.2-cp39-cp39-macosx_11_0_arm64.whl
Size 843.4 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7ced522afc00420d077271279f8ae7037999d39ca084e8d0d37dc8bf984abca4
BLAKE2b-256 checksum
How to use checksums
528e57e9607fe0bf2c9b6ddaa4c0c12877f22ac53a079820435640175b80826c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / librecommender-1.5.2-cp38-cp38-win_amd64.whl

Download URL librecommender-1.5.2-cp38-cp38-win_amd64.whl
Size 842.5 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
5ebd7d9f86bac8e3044a7e9b7f9e6399e9f6781075a624b280ddfc502f564f84
BLAKE2b-256 checksum
How to use checksums
3c93b6cbdc87d61419fa4fc27eed3c5046004c342b5976405e6352900fa99d32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / librecommender-1.5.2-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL librecommender-1.5.2-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 2.2 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
1c6a8f53eaed11593b9e91bd832ff14d2870e59fc0567346ea406885064b3993
BLAKE2b-256 checksum
How to use checksums
7981723ec5cf100c45cc8f6744cf22f198abe592256713fd110397bfe587d019
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / librecommender-1.5.2-cp38-cp38-macosx_11_0_x86_64.whl

Download URL librecommender-1.5.2-cp38-cp38-macosx_11_0_x86_64.whl
Size 860.6 kB
Tags CPython 3.8 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
f33f61da4d95399830883354fce7c5325aad22ddd823781c9f0ac8240813d661
BLAKE2b-256 checksum
How to use checksums
9d948841bcd7c8b844c375377d1239ea8f3f040781814d1bbad38675577135c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / librecommender-1.5.2-cp38-cp38-macosx_11_0_arm64.whl

Download URL librecommender-1.5.2-cp38-cp38-macosx_11_0_arm64.whl
Size 838.4 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
bc1493520252ca82b6d47011230bf90a32264576d85829208b97ba13fa0b517e
BLAKE2b-256 checksum
How to use checksums
cc4e99b1b5fd77338fd544a36e0edf82ca84d14310ceda8e6029ef9dfce3195c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / LibRecommender-1.5.2-cp37-cp37m-win_amd64.whl

Download URL LibRecommender-1.5.2-cp37-cp37m-win_amd64.whl
Size 840.1 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
9ab9ac716ef0ef1db94e5f21e04dae15a1a0eceef0ddf0d3388a8078d50edafa
BLAKE2b-256 checksum
How to use checksums
a716aad7daa18d7fb38e63a5994ad41af1352abaa9aa9d7682c37ecd2652cb67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / LibRecommender-1.5.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL LibRecommender-1.5.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.1 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
6006f533ec27feb8d57a7bfa9fafcd41f0eceb1682e743c2f2f4fa45666a9b3d
BLAKE2b-256 checksum
How to use checksums
284f3047fe10f587f85ad7beeeb5f6052650e890fef7c95f6c6605185a36bb97
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / LibRecommender-1.5.2-cp37-cp37m-macosx_10_9_x86_64.whl

Download URL LibRecommender-1.5.2-cp37-cp37m-macosx_10_9_x86_64.whl
Size 854.8 kB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
8c1c94ef02cae354bbf4822adc48f47b3ca72b42f713da3f7d580e1be10cde56
BLAKE2b-256 checksum
How to use checksums
981a0fe93b7c9df14bdb91e3a1e5d42731df5efc8c1033674e246cdc1cc25b96
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / LibRecommender-1.5.2-cp36-cp36m-win_amd64.whl

Download URL LibRecommender-1.5.2-cp36-cp36m-win_amd64.whl
Size 839.0 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
e0ac1da0f07be5c045e11607993854029b3a4da3c8cfe5d22970b0474b44197a
BLAKE2b-256 checksum
How to use checksums
ec936d4af27e21570d4061ba4931ca2df8e7a7ec81e6c2d4b9b01520406af42d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / LibRecommender-1.5.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL LibRecommender-1.5.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.1 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
43acf62a5f3afa37fbf3a69ec853165aa80c29e953f9563a1a9aafc7dffd781e
BLAKE2b-256 checksum
How to use checksums
a2b7cfd6941048c9f7d4177434b1568b08b3c51e0ac27890eace8599cf190e08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / LibRecommender-1.5.2-cp36-cp36m-macosx_10_9_x86_64.whl

Download URL LibRecommender-1.5.2-cp36-cp36m-macosx_10_9_x86_64.whl
Size 852.5 kB
Tags CPython 3.6 CPython 3.6 pymalloc macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
cde0e38c96454b5c260c488669c12d7a8915d678f0d5511833ad193a075a9373
BLAKE2b-256 checksum
How to use checksums
5f1d46b14c564a95517fda6eb57e92a44237be86435520f5b9d78a812576a033
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release history Release notifications | RSS feed

This release

1.5.2 This release

23 release files

1.5.1

19 release files

1.5.0

19 release files

1.4.0

19 release files

1.3.0

19 release files

1.2.2

19 release files

1.2.1

19 release files

1.1.1

19 release files

1.0.1

16 release files

1.0.0

16 release files

0.8.0

16 release files

0.6.8

1 release file

0.6.6

1 release file

0.6.4

1 release file

0.6.2

1 release file

0.6.0

1 release file

0.4.0

1 release file

0.2.2

1 release file

0.2.0

1 release file

0.1.0

1 release file

0.0.8

1 release file

0.0.6

1 release file

0.0.1

1 release file

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