{"adoption": {"forks": 357, "observed_at": "2026-08-28T04:04:15.109730+00:00", "stars": 1288}, "canonical_url": "https://ross.abutalabs.com/products/gem", "card": {"archived": false, "artifact_type": "library", "description": null, "domain": ["machine-learning", "data-science"], "enriched": true, "function": ["machine-learning", "benchmarking", "data-visualization"], "health_score": 20, "homepage": null, "language": "Python", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["palash1992/GEM"], "name": "palash1992/GEM", "platform": ["python", "cross-platform"], "pushed_at": "2023-11-05T22:04:24+00:00", "repo": "palash1992/GEM", "stars": 1288, "tags": ["graph-embedding", "network-embedding", "node2vec", "link-prediction", "node-classification", "graph-reconstruction", "graph-representation-learning", "static-graphs", "research-library", "algorithms"], "topics": ["graph-embedding", "graph-embeddings", "network-embedding", "network-visualization", "link-prediction"], "urls": [], "use_cases": ["learn low-dimensional node embeddings for a network", "compare graph embedding algorithms under a common framework", "predict missing links in a graph", "visualize a network in 2D via its embeddings", "classify nodes using embedding features", "reconstruct graph edges from learned embeddings"], "what_it_is": "GEM is a Python library offering a unified framework for static graph embedding algorithms, including node2vec, HOPE, SDNE, Graph Factorization, Laplacian Eigenmaps, and Locally Linear Embedding. It ships evaluation utilities for link prediction, graph reconstruction, node classification, and visualization, with a C++/Boost backend for faster execution.", "when_to_avoid": ["You need dynamic or evolving graph embeddings (use the companion DynamicGEM library instead)", "You need a large-scale, GPU-accelerated or production-grade graph learning stack (PyTorch Geometric, DGL)", "You require knowledge-graph embeddings with entity/relation features (TransE-style) or attributed graph methods", "You need a library with frequent recent updates and long-term maintenance guarantees"], "when_to_choose": ["You want to run and benchmark multiple classic static graph embedding methods through one consistent Python API", "You need built-in evaluation tasks such as link prediction, node classification, and graph reconstruction to judge embedding quality", "You are doing research or a survey on graph/network embedding techniques and want an extensible framework for adding new methods"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gem", "repo": "palash1992/GEM", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:15.109730+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:55:49.294513+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1a924561f2ecb6f5094c0a8790e7d3996487784150a6e525e6a89d93fbb1704", "fetched_at": "2026-08-28T04:04:15.109730+00:00", "kind": "readme", "missing": false, "url": "https://github.com/palash1992/GEM"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:15.109730+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:55:49.294513+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1a924561f2ecb6f5094c0a8790e7d3996487784150a6e525e6a89d93fbb1704", "fetched_at": "2026-08-28T04:04:15.109730+00:00", "kind": "readme", "missing": false, "url": "https://github.com/palash1992/GEM"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:55:49.294513+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1a924561f2ecb6f5094c0a8790e7d3996487784150a6e525e6a89d93fbb1704", "fetched_at": "2026-08-28T04:04:15.109730+00:00", "kind": "readme", "missing": false, "url": "https://github.com/palash1992/GEM"}], "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:04:15.109730+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:15.109730+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:15.109730+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:55:49.294513+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1a924561f2ecb6f5094c0a8790e7d3996487784150a6e525e6a89d93fbb1704", "fetched_at": "2026-08-28T04:04:15.109730+00:00", "kind": "readme", "missing": false, "url": "https://github.com/palash1992/GEM"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:15.109730+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:15.109730+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:55:49.294513+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1a924561f2ecb6f5094c0a8790e7d3996487784150a6e525e6a89d93fbb1704", "fetched_at": "2026-08-28T04:04:15.109730+00:00", "kind": "readme", "missing": false, "url": "https://github.com/palash1992/GEM"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:15.109730+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:15.109730+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:15.109730+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:55:49.294513+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1a924561f2ecb6f5094c0a8790e7d3996487784150a6e525e6a89d93fbb1704", "fetched_at": "2026-08-28T04:04:15.109730+00:00", "kind": "readme", "missing": false, "url": "https://github.com/palash1992/GEM"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:15.109730+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:15.109730+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:55:49.294513+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1a924561f2ecb6f5094c0a8790e7d3996487784150a6e525e6a89d93fbb1704", "fetched_at": "2026-08-28T04:04:15.109730+00:00", "kind": "readme", "missing": false, "url": "https://github.com/palash1992/GEM"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:55:49.294513+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1a924561f2ecb6f5094c0a8790e7d3996487784150a6e525e6a89d93fbb1704", "fetched_at": "2026-08-28T04:04:15.109730+00:00", "kind": "readme", "missing": false, "url": "https://github.com/palash1992/GEM"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:55:49.294513+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1a924561f2ecb6f5094c0a8790e7d3996487784150a6e525e6a89d93fbb1704", "fetched_at": "2026-08-28T04:04:15.109730+00:00", "kind": "readme", "missing": false, "url": "https://github.com/palash1992/GEM"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:55:49.294513+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e1a924561f2ecb6f5094c0a8790e7d3996487784150a6e525e6a89d93fbb1704", "fetched_at": "2026-08-28T04:04:15.109730+00:00", "kind": "readme", "missing": false, "url": "https://github.com/palash1992/GEM"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "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": 3404, "days_push": 1032, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}