Skip to main content

Compresso Recsys

PyPI Python License Docs

compresso-recsys is the recommender-system companion package for Compresso. It provides dataset loaders, checkpoint builders, checkpoint read/write helpers, and retrieval metrics for sparse representation learning experiments.

The package distribution name is compresso-recsys; the Python import is:

import compresso_recsys as cr

Install

Install from PyPI:

pip install compresso-recsys

Install optional dataset export support:

pip install "compresso-recsys[datasets]"

Install the optional scikit-learn dependency for KNN models:

pip install "compresso-recsys[knn]"

For local development:

pip install -e ../compresso
pip install -e ".[dev,datasets,test]"

Quickstart

Build a MovieLens 1M checkpoint from Python:

import compresso_recsys as cr

checkpoint_path = cr.build_recsys_checkpoint(
    dataset="ml1m",
    checkpoint_path="artifacts/ml1m/exp001.zip",
    annotation_source="genres",
)

with cr.read_checkpoint(checkpoint_path) as root:
    split = cr.load_recsys_split(root)

print(split["x_train"].shape)

Build the same kind of checkpoint from the command line:

compresso-recsys-build-checkpoint \
  --dataset ml1m \
  --checkpoint_path artifacts/ml1m/exp001.zip \
  --annotation_source genres

Amazon Reviews 2023 checkpoints can use item metadata for cold-item retrieval experiments:

compresso-recsys-build-checkpoint \
  --dataset amazon2023 \
  --amazon_category Toys_and_Games \
  --checkpoint_path artifacts/amazon_toys/temporal_exp001.zip \
  --split_mode temporal \
  --temporal_period_hours 8136 \
  --metadata_text_fields title,features,description,categories \
  --min_entity_text_words 30 \
  --annotation_source none

Temporal checkpoints use expanding histories and cumulative mixed warm/cold catalogs. Their train, validation, and test matrices are aligned by the corresponding train_item_ids, val_item_ids, and test_item_ids arrays.

What Is Included

Steam supports game metadata for item cold-start and review dates for sequential and temporal checkpoints:

checkpoint_path = cr.build_recsys_checkpoint(
    dataset="steam",
    split_mode="leave_last_out",  # Or "item_split" / "temporal".
    checkpoint_path="artifacts/steam/llo.zip",
)

The first run downloads about 1.2 GB of reviews plus game metadata; later runs reuse the local archive and parsed cache. See the dataset guide for metadata, feature availability, cold-start examples, and defaults.

  • Dataset utilities for GoodBooks, MovieLens 1M, MovieLens 20M, Amazon Reviews 2023, Steam, Netflix Prize, MSD Taste Profile, Gowalla, DBbook, and Last.fm-2K.
  • Optional pretrained multimodal features for ML-1M, DBbook, and Last.fm-2K, stored with item IDs, availability masks, and encoder provenance. See the dataset guide. Other datasets can use the same feature format for user-computed embeddings, including Amazon text/images.
  • ZIP checkpoint format for source/target splits, embeddings, sparse embeddings, metrics, and Compresso cluster-graph stages.
  • Calibrated Recall and nDCG defaults, with optional standard Recall, Precision, Hit Rate, MRR, and MAP at configurable cutoffs.
  • Batched EASE, ADMM and gradient-trained TEASER cold-start models, a content-similarity cold-start baseline, dense ELSA, and lottery-ticket compressed ELSA with streaming evaluation.
  • Random and popularity baselines, normalized user-user and item-item cosine KNN, and multinomial denoising and variational autoencoders (MultDAE and MultVAE).
  • Sequential recommenders over chronological histories: SimpleRNN, a recurrent next-item baseline; SimpleGPT, a causal transformer with a tied head; SASRec, a modernized variant of the published self-attentive architecture trained against sampled negatives; and SimpleBidirectionalTransformer, a sequence-to-set encoder that can train on the target matrices produced by temporal splits. They are built from replaceable parts — an ItemTokenizer owning the vocabulary and a SequenceBatcher owning the context window — so bringing your own vocabulary or context length does not mean forking a trainer.
  • One evaluation path for both model shapes. A sequential and a matrix model are compared through the same evaluate_recommender and compare_models calls, because a recommender is anything implementing predict_on_batch.
  • One production recommendation path through model.recommend(histories, k=...). Histories and optional allow/block filters use stable item IDs; ranked item IDs and scores come back in a batch-shaped Recommendations result. Rows with fewer than k valid candidates truncate without weakening the filters.
  • Unified fitted-model persistence through model.save(path) and ModelClass.load(path), using versioned ZIP archives that carry model state, configuration, and the vocabulary or candidate catalog needed for serving.
  • A checkpoint-building console command: compresso-recsys-build-checkpoint.

Documentation

Release documentation is available at:

https://zombak79.github.io/compresso-recsys/

The full CLI parameter table, checkpoint split schema, and supported Amazon Reviews 2023 categories are maintained in the Checkpoint CLI Reference. Academic references and copy-ready BibTeX for EASE, TEASER, ELSA, large-scale ELSA, compressed ELSA, neighborhood models, Mult-DAE, and Mult-VAE are available in the citation guide. The implementing a recommender tutorial builds a complete Top Popular model with validation, stable-ID recommendation, persistence, evaluation, and executable contract checks.

Build the docs locally:

pip install -e ".[docs]"
sphinx-build -b html docs/source docs/build/html

License

Apache License 2.0. See LICENSE.

Metadata

Release files for compresso-recsys 0.3.5

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

Source distribution (sdist)

Source distribution for compresso-recsys 0.3.5
File Size Uploaded
compresso_recsys-0.3.5.tar.gz 363.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for compresso-recsys 0.3.5
File Interpreter ABI Platform
compresso_recsys-0.3.5-py3-none-any.whl Python 3 none any Details

Total release size: 608.3 kB

Release files / compresso_recsys-0.3.5.tar.gz

Download URL compresso_recsys-0.3.5.tar.gz
Size 363.4 kB
Tags Source
SHA-256 checksum
How to use checksums
8561409557ca30056ffe3c9182f99d6b919edc452a70f489a13deea3f98e500e
BLAKE2b-256 checksum
How to use checksums
d5e2d1f491c9ba2f4a28f0906ab0e5503bc0d3437f22017c34337e59337efdc8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.

Transparency log

Release files / compresso_recsys-0.3.5-py3-none-any.whl

Download URL compresso_recsys-0.3.5-py3-none-any.whl
Size 244.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
22b3615151c45dacb70a337bd139df2a6d279e348a08027b96eccdaaa7e78381
BLAKE2b-256 checksum
How to use checksums
1f4d5da456445ac574abfca2f515ad69d7ce1fa2907c22dedb05bf6851514eb4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.7

2 release files

0.3.6

2 release files

This release

0.3.5 This release

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

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