{"adoption": {"forks": 299, "observed_at": "2026-08-28T04:06:06.958098+00:00", "stars": 2027}, "canonical_url": "https://ross.abutalabs.com/products/tensorflow-recommenders", "card": {"archived": false, "artifact_type": "library", "description": "TensorFlow Recommenders is a library for building recommender system models using TensorFlow.", "domain": ["machine-learning", "large-language-models"], "enriched": true, "function": ["machine-learning", "deep-learning"], "health_score": 92, "homepage": null, "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["tensorflow/recommenders"], "name": "tensorflow/recommenders", "platform": ["python"], "pushed_at": "2026-07-08T08:57:55+00:00", "repo": "tensorflow/recommenders", "stars": 2027, "tags": ["recommender-systems", "tensorflow", "keras", "collaborative-filtering", "retrieval", "ranking"], "topics": ["tensorflow-recommenders", "tensorflow", "recommender", "recommender-system"], "urls": [], "use_cases": ["build a collaborative filtering recommender with TensorFlow", "train a two-tower retrieval model for recommendations", "rank and recommend items to users with Keras", "evaluate top-K recommendation quality", "deploy a recommendation model in production", "build a factorization model on the MovieLens dataset"], "what_it_is": "TensorFlow Recommenders is a Python library for building recommender system models on top of TensorFlow and Keras. It covers the full workflow including data preparation, model formulation, training, evaluation, and deployment of recommendation models.", "when_to_avoid": ["your stack is PyTorch-based", "you need lightweight non-deep-learning recommenders like implicit ALS", "you only need simple heuristics without model training"], "when_to_choose": ["you are already using TensorFlow 2.x and Keras", "you need retrieval, ranking, or rating prediction tasks in one library", "you want a gentle learning curve for recommender systems", "you need full workflow support from data prep to deployment"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/tensorflow-recommenders", "repo": "tensorflow/recommenders", "role": "main", "score": 84}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.958098+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:59:42.377385+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3bbb48da07234d4fee78095ea20d94c32dd5c63f26966d0f000735c8b0f7c181", "fetched_at": "2026-08-28T04:06:06.958098+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tensorflow/recommenders"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.958098+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:59:42.377385+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3bbb48da07234d4fee78095ea20d94c32dd5c63f26966d0f000735c8b0f7c181", "fetched_at": "2026-08-28T04:06:06.958098+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tensorflow/recommenders"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:59:42.377385+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3bbb48da07234d4fee78095ea20d94c32dd5c63f26966d0f000735c8b0f7c181", "fetched_at": "2026-08-28T04:06:06.958098+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tensorflow/recommenders"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.958098+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.958098+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.958098+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:59:42.377385+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3bbb48da07234d4fee78095ea20d94c32dd5c63f26966d0f000735c8b0f7c181", "fetched_at": "2026-08-28T04:06:06.958098+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tensorflow/recommenders"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.958098+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.958098+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:59:42.377385+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3bbb48da07234d4fee78095ea20d94c32dd5c63f26966d0f000735c8b0f7c181", "fetched_at": "2026-08-28T04:06:06.958098+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tensorflow/recommenders"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.958098+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.958098+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.958098+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:59:42.377385+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3bbb48da07234d4fee78095ea20d94c32dd5c63f26966d0f000735c8b0f7c181", "fetched_at": "2026-08-28T04:06:06.958098+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tensorflow/recommenders"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.958098+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.958098+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:59:42.377385+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3bbb48da07234d4fee78095ea20d94c32dd5c63f26966d0f000735c8b0f7c181", "fetched_at": "2026-08-28T04:06:06.958098+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tensorflow/recommenders"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:59:42.377385+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3bbb48da07234d4fee78095ea20d94c32dd5c63f26966d0f000735c8b0f7c181", "fetched_at": "2026-08-28T04:06:06.958098+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tensorflow/recommenders"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:59:42.377385+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3bbb48da07234d4fee78095ea20d94c32dd5c63f26966d0f000735c8b0f7c181", "fetched_at": "2026-08-28T04:06:06.958098+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tensorflow/recommenders"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:59:42.377385+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3bbb48da07234d4fee78095ea20d94c32dd5c63f26966d0f000735c8b0f7c181", "fetched_at": "2026-08-28T04:06:06.958098+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tensorflow/recommenders"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 91, "longevity": 100, "rhythm": 67}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2259, "days_push": 56, "days_rel": 223, "gap_med": 15, "n_releases_24m": 4}, "score": 84, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}