Skip to main content

Cornac

Cornac is a comparative framework for multimodal recommender systems. It focuses on making it convenient to work with models leveraging auxiliary data (e.g., item descriptive text and image, social network, etc). Cornac enables fast experiments and straightforward implementations of new models. It is highly compatible with existing machine learning libraries (e.g., TensorFlow, PyTorch).

Cornac is one of the frameworks recommended by ACM RecSys 2023 for the evaluation and reproducibility of recommendation algorithms. In addition, the implementation of BPR model in Cornac has been recommended as trustworthy baseline for RecSys comparison by independent research.

Website | Documentation | Tutorials | Examples | Models | Datasets | Paper | Preferred.AI

Conda Azure Pipelines .github/workflows/python-package.yml CircleCI Docs Codecov
Release PyPI Conda Forge Conda Recipe PyPI - Downloads Pepy Total Downloads
Python Conda Platforms GitHub License

Installation

Currently, we are supporting Python 3. There are several ways to install Cornac:

  • From PyPI (recommended):

    pip3 install cornac
    
  • From Anaconda:

    conda install cornac -c conda-forge
    
  • From the GitHub source (for latest updates):

    pip3 install git+https://github.com/PreferredAI/cornac.git
    

Note:

Additional dependencies required by models are listed here.

Some algorithm implementations use OpenMP to support multi-threading. For Mac OS users, in order to run those algorithms efficiently, you might need to install gcc from Homebrew to have an OpenMP compiler:

brew install gcc && brew link gcc

Getting started: your first Cornac experiment

Flow of an Experiment in Cornac

import cornac
from cornac.eval_methods import RatioSplit
from cornac.models import MF, PMF, BPR
from cornac.metrics import MAE, RMSE, Precision, Recall, NDCG, AUC, MAP

# load the built-in MovieLens 100K and split the data based on ratio
ml_100k = cornac.datasets.movielens.load_feedback()
rs = RatioSplit(data=ml_100k, test_size=0.2, rating_threshold=4.0, seed=123)

# initialize models, here we are comparing: Biased MF, PMF, and BPR
mf = MF(k=10, max_iter=25, learning_rate=0.01, lambda_reg=0.02, use_bias=True, seed=123)
pmf = PMF(k=10, max_iter=100, learning_rate=0.001, lambda_reg=0.001, seed=123)
bpr = BPR(k=10, max_iter=200, learning_rate=0.001, lambda_reg=0.01, seed=123)
models = [mf, pmf, bpr]

# define metrics to evaluate the models
metrics = [MAE(), RMSE(), Precision(k=10), Recall(k=10), NDCG(k=10), AUC(), MAP()]

# put it together in an experiment, voilà!
cornac.Experiment(eval_method=rs, models=models, metrics=metrics, user_based=True).run()

Output:

MAE RMSE AUC MAP NDCG@10 Precision@10 Recall@10 Train (s) Test (s)
MF 0.7430 0.8998 0.7445 0.0548 0.0761 0.0675 0.0463 0.13 1.57
PMF 0.7534 0.9138 0.7744 0.0671 0.0969 0.0813 0.0639 2.18 1.64
BPR N/A N/A 0.8695 0.1042 0.1500 0.1110 0.1195 3.74 1.49

Model serving

Here, we provide a simple way to serve a Cornac model by launching a standalone web service with Flask. It is very handy for testing or creating a demo application. First, we install the dependency:

$ pip3 install Flask

Supposed that we want to serve the trained BPR model from previous example, we need to save it:

bpr.save("save_dir", save_trainset=True)

After that, the model can be deployed easily by running Cornac serving app as follows:

$ MODEL_PATH='save_dir/BPR' \
  MODEL_CLASS='cornac.models.BPR' \
  flask --app cornac.serving.app run --host localhost --port 8080  # requires Flask>=2.2 (older Flask: FLASK_APP='cornac.serving.app' flask run ...)

# Running on http://localhost:8080

Here we go, our model service is now ready. Let's get top-5 item recommendations for the user "63":

$ curl -X GET "http://localhost:8080/recommend?uid=63&k=5&remove_seen=false"

# Response: {"recommendations": ["50", "181", "100", "258", "286"], "query": {"uid": "63", "k": 5, "remove_seen": false}}

If we want to remove seen items during training, we need to provide TRAIN_SET which has been saved with the model earlier, when starting the serving app. We can also leverage WSGI server for model deployment in production. Please refer to this guide for more details.

Model A/B testing

Cornac-AB is an extension of Cornac using the Cornac Serving API. Easily create and manage A/B testing experiments to further understand your model performance with online users.

User Interaction Solution Recommendations Dashboard Feedback Dashboard
demo recommendations feedback

One important aspect of deploying recommender model is efficient retrieval via Approximate Nearest Neighbor (ANN) search in vector space. Cornac integrates several vector similarity search frameworks for the ease of deployment. This example demonstrates how ANN search will work seamlessly with any recommender models supporting it (e.g., matrix factorization).

Supported Framework Cornac Wrapper Example
spotify/annoy AnnoyANN quick-start, deep-dive
meta/faiss FaissANN quick-start, deep-dive
nmslib/hnswlib HNSWLibANN quick-start, hnsw-lib, deep-dive
google/scann ScaNNANN quick-start, deep-dive

Models

The table below lists the recommendation models/algorithms featured in Cornac. Examples are provided as quick-start showcasing an easy to run script, or as deep-dive explaining the math and intuition behind each model. Why don't you join us to lengthen the list?

Year Model and Paper Type Environment Example
2025 Generating Long Semantic IDs in Parallel for Recommendation (RPG), docs, paper Next-Item / Content-Based requirements, CPU / GPU quick-start
Diffusion-based Generative Recommendation Model (DiffGRM), docs, paper Next-Item / Content-Based requirements, CPU / GPU quick-start
2024 Comparative Aspects and Opinions Ranking for Recommendation Explanations (Companion), docs, paper Hybrid / Sentiment / Explainable CPU quick-start
Hypergraphs with Attention on Reviews (HypAR), docs, paper Hybrid / Sentiment / Explainable requirements, CPU / GPU quick-start
Learnable Item Tokenization for Generative Recommendation (LETTER), docs, paper Next-Item / Content-Based requirements, CPU / GPU quick-start
2023 Recommender Systems with Generative Retrieval (TIGER), docs, paper Next-Item / Content-Based requirements, CPU / GPU quick-start
Scalable Approximate NonSymmetric Autoencoder (SANSA), docs, paper Collaborative Filtering requirements, CPU quick-start, 150k-items
2022 Disentangled Multimodal Representation Learning for Recommendation (DMRL), docs, paper Content-Based / Text & Image requirements, CPU / GPU quick-start
2021 Bilateral Variational Autoencoder for Collaborative Filtering (BiVAECF), docs, paper Collaborative Filtering / Content-Based requirements, CPU / GPU quick-start, deep-dive
Transformers4Rec-style Unified Transformer Recommender (TransformerRec), docs, paper Next-Item requirements, CPU / GPU quick-start
Causal Inference for Visual Debiasing in Visually-Aware Recommendation (CausalRec), docs, paper Content-Based / Image requirements, CPU / GPU quick-start
Explainable Recommendation with Comparative Constraints on Product Aspects (ComparER), docs, paper Explainable CPU quick-start
2020 Adversarial Multimedia Recommendation (AMR), docs, paper Content-Based / Image requirements, CPU / GPU quick-start
Hybrid Deep Representation Learning of Ratings and Reviews (HRDR), docs, paper Content-Based / Text requirements, CPU / GPU quick-start
LightGCN: Simplifying and Powering Graph Convolution Network, docs, paper Collaborative Filtering requirements, CPU / GPU quick-start
Predicting Temporal Sets with Deep Neural Networks (DNNTSP), docs, paper Next-Basket requirements, CPU / GPU quick-start
Recency Aware Collaborative Filtering (UPCF), docs, paper Next-Basket requirements, CPU quick-start
Temporal-Item-Frequency-based User-KNN (TIFUKNN), docs, paper Next-Basket CPU quick-start
Variational Autoencoder for Top-N Recommendations (RecVAE), docs, paper Collaborative Filtering requirements, CPU / GPU quick-start
2019 Correlation-Sensitive Next-Basket Recommendation (Beacon), docs, paper Next-Basket requirements, CPU / GPU quick-start
BERT4Rec: Sequential Recommendation with Bidirectional Encoder Representations from Transformer (BERT4Rec), docs, paper Next-Item requirements, CPU / GPU quick-start
Embarrassingly Shallow Autoencoders for Sparse Data (EASEᴿ), docs, paper Collaborative Filtering CPU quick-start
Neural Graph Collaborative Filtering (NGCF), docs, paper Collaborative Filtering requirements, CPU / GPU quick-start
Sampler Design for Bayesian Personalized Ranking by Leveraging View Data (VEBPR), paper Collaborative Filtering CPU quick-start
2018 Collaborative Context Poisson Factorization (C2PF), docs, paper Content-Based / Graph CPU quick-start
Self-Attentive Sequential Recommendation (SASRec), docs, paper Next-Item requirements, CPU / GPU quick-start
Graph Convolutional Matrix Completion (GCMC), docs, paper Collaborative Filtering requirements, CPU / GPU quick-start
Multi-Task Explainable Recommendation (MTER), docs, paper Explainable CPU quick-start, deep-dive
Neural Attention Rating Regression with Review-level Explanations (NARRE), docs, paper Explainable / Content-Based requirements, CPU / GPU quick-start
Probabilistic Collaborative Representation Learning (PCRL), docs, paper Content-Based / Graph requirements, CPU / GPU quick-start
Variational Autoencoder for Collaborative Filtering (VAECF), docs, paper Collaborative Filtering requirements, CPU / GPU quick-start, param-search, deep-dive
2017 Collaborative Variational Autoencoder (CVAE), docs, paper Content-Based / Text requirements, CPU / GPU quick-start
Conditional Variational Autoencoder for Collaborative Filtering (CVAECF), docs, paper Content-Based / Text requirements, CPU / GPU quick-start
Generalized Matrix Factorization (GMF), docs, paper Collaborative Filtering requirements, CPU / GPU quick-start, deep-dive
Indexable Bayesian Personalized Ranking (IBPR), docs, paper Collaborative Filtering requirements, CPU / GPU quick-start, deep-dive
Matrix Co-Factorization (MCF), docs, paper Content-Based / Graph CPU quick-start, cross-modality
Multi-Layer Perceptron (MLP), docs, paper Collaborative Filtering requirements, CPU / GPU quick-start, deep-dive
Neural Matrix Factorization (NeuMF) / Neural Collaborative Filtering (NCF), docs, paper Collaborative Filtering requirements, CPU / GPU quick-start, deep-dive
Online Indexable Bayesian Personalized Ranking (Online IBPR), docs, paper Collaborative Filtering requirements, CPU / GPU quick-start, deep-dive
Visual Matrix Factorization (VMF), docs, paper Content-Based / Image requirements, CPU / GPU quick-start
2016 Collaborative Deep Ranking (CDR), docs, paper Content-Based / Text requirements, CPU / GPU quick-start
Collaborative Ordinal Embedding (COE), docs, paper Collaborative Filtering requirements, CPU / GPU
Convolutional Matrix Factorization (ConvMF), docs, paper Content-Based / Text requirements, CPU / GPU quick-start, deep-dive
Learning to Rank Features for Recommendation over Multiple Categories (LRPPM), docs, paper Explainable CPU quick-start
Session-based Recommendations With Recurrent Neural Networks (GRU4Rec), docs, paper Next-Item requirements, CPU / GPU quick-start
Spherical K-means (SKM), docs, paper Collaborative Filtering CPU quick-start
Visual Bayesian Personalized Ranking (VBPR), docs, paper Content-Based / Image requirements, CPU / GPU quick-start, cross-modality, deep-dive
2015 Collaborative Deep Learning (CDL), docs, paper Content-Based / Text requirements, CPU / GPU quick-start, deep-dive
Hierarchical Poisson Factorization (HPF), docs, paper Collaborative Filtering CPU quick-start
TriRank: Review-aware Explainable Recommendation by Modeling Aspects, docs, paper Explainable CPU quick-start
2014 Explicit Factor Model (EFM), docs, paper Explainable CPU quick-start, deep-dive
Social Bayesian Personalized Ranking (SBPR), docs, paper Content-Based / Social CPU quick-start
2013 Hidden Factors and Hidden Topics (HFT), docs, paper Content-Based / Text CPU quick-start
2012 Weighted Bayesian Personalized Ranking (WBPR), docs, paper Collaborative Filtering CPU quick-start
2011 Collaborative Topic Regression (CTR), docs, paper Content-Based / Text CPU quick-start, deep-dive
2010 Factorizing Personalized Markov Chains (FPMC), docs, paper Next-Item requirements, CPU / GPU quick-start
Earlier Baseline Only, docs, paper Baseline CPU quick-start
Bayesian Personalized Ranking (BPR), docs paper Collaborative Filtering CPU quick-start, deep-dive
Factorization Machines (FM), docs, paper Collaborative Filtering / Content-Based Linux, CPU quick-start, deep-dive
Global Average (GlobalAvg), docs, paper Baseline CPU quick-start
Global Personalized Top Frequent (GPTop), paper Next-Basket CPU quick-start
Item K-Nearest-Neighbors (ItemKNN), docs, paper Neighborhood-Based CPU quick-start, deep-dive
Matrix Factorization (MF), docs, paper Collaborative Filtering CPU / GPU quick-start, pre-split-data, deep-dive
Maximum Margin Matrix Factorization (MMMF), docs, paper Collaborative Filtering CPU quick-start
Most Popular (MostPop), docs, paper Baseline CPU quick-start
Non-negative Matrix Factorization (NMF), docs, paper Collaborative Filtering CPU quick-start, deep-dive
Probabilistic Matrix Factorization (PMF), docs, paper Collaborative Filtering CPU quick-start
Session Popular (SPop), docs, paper Next-Item / Baseline CPU quick-start
Singular Value Decomposition (SVD), docs, paper Collaborative Filtering CPU quick-start, deep-dive
Social Recommendation using PMF (SoRec), docs, paper Content-Based / Social CPU quick-start, deep-dive
User K-Nearest-Neighbors (UserKNN), docs, paper Neighborhood-Based CPU quick-start, deep-dive
Weighted Matrix Factorization (WMF), docs, paper Collaborative Filtering requirements, CPU / GPU quick-start, deep-dive

Resources

Contributing

This project welcomes contributions and suggestions. Before contributing, please see our contribution guidelines.

Citation

If you use Cornac in a scientific publication, we would appreciate citations to the following papers:

Cornac: A Comparative Framework for Multimodal Recommender Systems, Salah et al., Journal of Machine Learning Research, 21(95):1–5, 2020.
@article{salah2020cornac,
  title={Cornac: A Comparative Framework for Multimodal Recommender Systems},
  author={Salah, Aghiles and Truong, Quoc-Tuan and Lauw, Hady W},
  journal={Journal of Machine Learning Research},
  volume={21},
  number={95},
  pages={1--5},
  year={2020}
}
Exploring Cross-Modality Utilization in Recommender Systems, Truong et al., IEEE Internet Computing, 25(4):50–57, 2021.
@article{truong2021exploring,
  title={Exploring Cross-Modality Utilization in Recommender Systems},
  author={Truong, Quoc-Tuan and Salah, Aghiles and Tran, Thanh-Binh and Guo, Jingyao and Lauw, Hady W},
  journal={IEEE Internet Computing},
  year={2021},
  publisher={IEEE}
}
Multi-Modal Recommender Systems: Hands-On Exploration, Truong et al., ACM Conference on Recommender Systems, 2021.
@inproceedings{truong2021multi,
  title={Multi-modal recommender systems: Hands-on exploration},
  author={Truong, Quoc-Tuan and Salah, Aghiles and Lauw, Hady},
  booktitle={Fifteenth ACM Conference on Recommender Systems},
  pages={834--837},
  year={2021}
}

License

Apache License 2.0

Metadata

Release files for cornac 3.1.0

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

Source distribution (sdist)

Source distribution for cornac 3.1.0
File Size Uploaded Provenance Actions
cornac-3.1.0.tar.gz 6.0 MB Without provenance Details for cornac-3.1.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for cornac 3.1.0
File Actions
cornac-3.1.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for cornac-3.1.0-cp314-cp314-win_amd64.whl
cornac-3.1.0-cp314-cp314-manylinux1_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.5+ x86-64 Details for cornac-3.1.0-cp314-cp314-manylinux1_x86_64.whl
cornac-3.1.0-cp314-cp314-macosx_12_0_universal2.whl CPython 3.14 CPython 3.14 macOS 12.0+ universal2 (ARM64, x86-64) Details for cornac-3.1.0-cp314-cp314-macosx_12_0_universal2.whl
cornac-3.1.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for cornac-3.1.0-cp313-cp313-win_amd64.whl
cornac-3.1.0-cp313-cp313-manylinux1_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.5+ x86-64 Details for cornac-3.1.0-cp313-cp313-manylinux1_x86_64.whl
cornac-3.1.0-cp313-cp313-macosx_12_0_universal2.whl CPython 3.13 CPython 3.13 macOS 12.0+ universal2 (ARM64, x86-64) Details for cornac-3.1.0-cp313-cp313-macosx_12_0_universal2.whl
cornac-3.1.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for cornac-3.1.0-cp312-cp312-win_amd64.whl
cornac-3.1.0-cp312-cp312-manylinux1_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.5+ x86-64 Details for cornac-3.1.0-cp312-cp312-manylinux1_x86_64.whl
cornac-3.1.0-cp312-cp312-macosx_12_0_universal2.whl CPython 3.12 CPython 3.12 macOS 12.0+ universal2 (ARM64, x86-64) Details for cornac-3.1.0-cp312-cp312-macosx_12_0_universal2.whl
cornac-3.1.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for cornac-3.1.0-cp311-cp311-win_amd64.whl
cornac-3.1.0-cp311-cp311-manylinux1_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.5+ x86-64 Details for cornac-3.1.0-cp311-cp311-manylinux1_x86_64.whl
cornac-3.1.0-cp311-cp311-macosx_12_0_universal2.whl CPython 3.11 CPython 3.11 macOS 12.0+ universal2 (ARM64, x86-64) Details for cornac-3.1.0-cp311-cp311-macosx_12_0_universal2.whl
cornac-3.1.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for cornac-3.1.0-cp310-cp310-win_amd64.whl
cornac-3.1.0-cp310-cp310-manylinux1_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.5+ x86-64 Details for cornac-3.1.0-cp310-cp310-manylinux1_x86_64.whl
cornac-3.1.0-cp310-cp310-macosx_12_0_universal2.whl CPython 3.10 CPython 3.10 macOS 12.0+ universal2 (ARM64, x86-64) Details for cornac-3.1.0-cp310-cp310-macosx_12_0_universal2.whl

Total release size: 263.1 MB

Release files / cornac-3.1.0.tar.gz

Download URL cornac-3.1.0.tar.gz
Size 6.0 MB
Tags Source
SHA-256 checksum
How to use checksums
12d95b4616f446a67f737ea2eaf7c37a90f77270a41229181e818bfd2e777792
BLAKE2b-256 checksum
How to use checksums
1a09fe6929716bb93ad899e32ea92ea5f6cc49309636d38f7041809f3b7faead
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / cornac-3.1.0-cp314-cp314-win_amd64.whl

Download URL cornac-3.1.0-cp314-cp314-win_amd64.whl
Size 10.1 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
3572637fefe3aac5b2648b705631809e4721ddaae1042a28568f6cc300034b5b
BLAKE2b-256 checksum
How to use checksums
d8370d7a974bbc648a85f8cca502133a5e8db911e279b1a49d3bc1fb81e641d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / cornac-3.1.0-cp314-cp314-manylinux1_x86_64.whl

Download URL cornac-3.1.0-cp314-cp314-manylinux1_x86_64.whl
Size 30.8 MB
Tags CPython 3.14 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
2222d879f195e2a0fb7c35700fe382797531eadfa8d891c499755c6c479bc59a
BLAKE2b-256 checksum
How to use checksums
f261dfd7c9876b21c07b71fd79e20d1ad55c42a6ecae731ae1c1b4f7961041a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / cornac-3.1.0-cp314-cp314-macosx_12_0_universal2.whl

Download URL cornac-3.1.0-cp314-cp314-macosx_12_0_universal2.whl
Size 10.3 MB
Tags CPython 3.14 macOS 12.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
d04e25f3b898411ad30a18f9e9ac00c8585da0aa37dcbf73e313fab08698f9c1
BLAKE2b-256 checksum
How to use checksums
29bf6e846b50acd01dfe70da902735657faf0032f68c91dfd72f4d556c24ff90
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / cornac-3.1.0-cp313-cp313-win_amd64.whl

Download URL cornac-3.1.0-cp313-cp313-win_amd64.whl
Size 10.0 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
c2f61cf4ada7931d9ee5c5cb48e71a49c7d2b645fa089b98e545e539be56ae96
BLAKE2b-256 checksum
How to use checksums
3ade8da132889f0b91543511000250979144f1a055479848fc1ed66c5f718bf3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / cornac-3.1.0-cp313-cp313-manylinux1_x86_64.whl

Download URL cornac-3.1.0-cp313-cp313-manylinux1_x86_64.whl
Size 31.0 MB
Tags CPython 3.13 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
63cc7e33dda2e253dc966678bf1c0d56ef432fe4072e6874be93d12a0813f9fd
BLAKE2b-256 checksum
How to use checksums
fea27636d854b31267e629d780c062215f98d8171dd1ae2d643b029fc8aa4b9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / cornac-3.1.0-cp313-cp313-macosx_12_0_universal2.whl

Download URL cornac-3.1.0-cp313-cp313-macosx_12_0_universal2.whl
Size 10.3 MB
Tags CPython 3.13 macOS 12.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
d88538212e6b0ca278a74b3a014dbea55c18cee3e3b7b6739ccbb4c45d6624ae
BLAKE2b-256 checksum
How to use checksums
a3de8dbced5e513ce5dd57eb49017141fb3c555b5f9aaafb7f79655b26568d07
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / cornac-3.1.0-cp312-cp312-win_amd64.whl

Download URL cornac-3.1.0-cp312-cp312-win_amd64.whl
Size 10.0 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
634d30964c964c65165ebc3d5b0639a6d6bc0db44dcfbc1298c23942d83fd428
BLAKE2b-256 checksum
How to use checksums
5589247d483d218b69e520f2afa635026290f88993468d3f4963aeec9e38ced2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / cornac-3.1.0-cp312-cp312-manylinux1_x86_64.whl

Download URL cornac-3.1.0-cp312-cp312-manylinux1_x86_64.whl
Size 31.0 MB
Tags CPython 3.12 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
91badf2e76f67174b0fd46b015a624c1b21c609d2cfb3b3b7d493040660f480f
BLAKE2b-256 checksum
How to use checksums
1ca97b496a0bb91ca622e65e66508bcd7a5d29923444ffe524b8425175f71e3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / cornac-3.1.0-cp312-cp312-macosx_12_0_universal2.whl

Download URL cornac-3.1.0-cp312-cp312-macosx_12_0_universal2.whl
Size 10.3 MB
Tags CPython 3.12 macOS 12.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
8ac3d3c17c86db9e96f0952bc180d1de51388d041304103b82679ea2de15a29c
BLAKE2b-256 checksum
How to use checksums
7fccd248b36d50df55bb13dce876d8143560c636959c7c4b55d585a679a4739f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / cornac-3.1.0-cp311-cp311-win_amd64.whl

Download URL cornac-3.1.0-cp311-cp311-win_amd64.whl
Size 10.1 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
68c36f2523edb2a87c40c6fb38915805aaa7280402e769cd6d21c32688afebcb
BLAKE2b-256 checksum
How to use checksums
42780264a5ba60b36bd9a482020b0794c97abf27ba48bb71c2dd6de06af49346
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / cornac-3.1.0-cp311-cp311-manylinux1_x86_64.whl

Download URL cornac-3.1.0-cp311-cp311-manylinux1_x86_64.whl
Size 31.7 MB
Tags CPython 3.11 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
d49db332368a7592014beec2d39c4b6f52d48106bf655b3da9da7a247fe0406b
BLAKE2b-256 checksum
How to use checksums
82251c138216e50cc990e24e11a5dadb274af5ffdbb2e1cb6470853742fcf79a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / cornac-3.1.0-cp311-cp311-macosx_12_0_universal2.whl

Download URL cornac-3.1.0-cp311-cp311-macosx_12_0_universal2.whl
Size 10.3 MB
Tags CPython 3.11 macOS 12.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
7c8f6ce31ab4ad412f8559045d6f89809ea154f53c51dde130d4ff573bb58671
BLAKE2b-256 checksum
How to use checksums
93f1743f658ef2c0da2c09a0536f07a733da5eeb47823b65900d7d43a1a0918d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / cornac-3.1.0-cp310-cp310-win_amd64.whl

Download URL cornac-3.1.0-cp310-cp310-win_amd64.whl
Size 10.1 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
cc6f411e8043bab9f1ac411d041fe2274b1fbb318da478c688716567134a0e00
BLAKE2b-256 checksum
How to use checksums
06a1a9e384e2f01c6d9ea7f25cc5e5fb72ceb1bd105ab347c34bf0cb3add7663
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / cornac-3.1.0-cp310-cp310-manylinux1_x86_64.whl

Download URL cornac-3.1.0-cp310-cp310-manylinux1_x86_64.whl
Size 30.7 MB
Tags CPython 3.10 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
f3567935acebcb36c0221dc451dca2c78fe09e42137e67889860d08839314663
BLAKE2b-256 checksum
How to use checksums
c9156ac83cdb5ad0a6dfad7742b8cef1f82a2275906042b50e65f765ad9e4a76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / cornac-3.1.0-cp310-cp310-macosx_12_0_universal2.whl

Download URL cornac-3.1.0-cp310-cp310-macosx_12_0_universal2.whl
Size 10.3 MB
Tags CPython 3.10 macOS 12.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
4aae4bd6400c68282733969751ed65c02e0c250c3d070500ff1007cfa9152c70
BLAKE2b-256 checksum
How to use checksums
08151cf57b75fae56a8278d5fab3b658c47fca5285bbafb41bd817cf848cf91a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for cornac 3.1.0

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.

Release history Release notifications | RSS feed

This release

3.1.0 This release

16 release files No provenance

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