{"adoption": {"forks": 701, "observed_at": "2026-08-28T04:07:44.314154+00:00", "stars": 3123}, "canonical_url": "https://ross.abutalabs.com/products/pygat", "card": {"archived": false, "artifact_type": "library", "description": "Pytorch implementation of the Graph Attention Network model by Veličković et. al (2017, https://arxiv.org/abs/1710.10903)", "domain": ["machine-learning", "deep-learning"], "enriched": true, "function": ["machine-learning", "deep-learning"], "health_score": 20, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["diegoantognini/pyGAT"], "name": "diegoantognini/pyGAT", "platform": ["python"], "pushed_at": "2023-07-06T21:23:03+00:00", "repo": "diegoantognini/pyGAT", "stars": 3123, "tags": ["graph-neural-networks", "graph-attention-networks", "pytorch", "attention-mechanism", "self-attention", "node-classification", "cora", "algorithms", "gpu"], "topics": ["graph-attention-networks", "attention-mechanism", "self-attention", "pytorch", "neural-networks", "python"], "urls": [], "use_cases": ["implement graph attention networks in pytorch", "reproduce GAT paper results on Cora", "run node classification on citation graphs", "learn how attention works in graph neural networks", "benchmark sparse vs dense graph attention layers"], "what_it_is": "A PyTorch implementation of the Graph Attention Network (GAT) model from Veličković et al. (2017), including a sparse-matrix variant. It reproduces the paper's transductive learning results on the Cora citation dataset.", "when_to_avoid": ["you need a maintained library with modern PyTorch support (it targets PyTorch 0.4.1)", "you need production graph learning at scale rather than a research demo", "you want a general-purpose GNN framework with many model types"], "when_to_choose": ["you want a faithful PyTorch port of the original GAT paper", "you need a reference implementation for research or citation", "you want to experiment with attention-based graph neural networks"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pygat", "repo": "diegoantognini/pyGAT", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.314154+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:26:33.025313+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80370d9924341f7557874fca9afad0910beef65df410b9699cda48278503d59f", "fetched_at": "2026-08-28T04:07:44.314154+00:00", "kind": "readme", "missing": false, "url": "https://github.com/diegoantognini/pyGAT"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.314154+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:26:33.025313+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80370d9924341f7557874fca9afad0910beef65df410b9699cda48278503d59f", "fetched_at": "2026-08-28T04:07:44.314154+00:00", "kind": "readme", "missing": false, "url": "https://github.com/diegoantognini/pyGAT"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:26:33.025313+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80370d9924341f7557874fca9afad0910beef65df410b9699cda48278503d59f", "fetched_at": "2026-08-28T04:07:44.314154+00:00", "kind": "readme", "missing": false, "url": "https://github.com/diegoantognini/pyGAT"}], "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:07:44.314154+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.314154+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.314154+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:26:33.025313+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80370d9924341f7557874fca9afad0910beef65df410b9699cda48278503d59f", "fetched_at": "2026-08-28T04:07:44.314154+00:00", "kind": "readme", "missing": false, "url": "https://github.com/diegoantognini/pyGAT"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.314154+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.314154+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:26:33.025313+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80370d9924341f7557874fca9afad0910beef65df410b9699cda48278503d59f", "fetched_at": "2026-08-28T04:07:44.314154+00:00", "kind": "readme", "missing": false, "url": "https://github.com/diegoantognini/pyGAT"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.314154+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.314154+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.314154+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:26:33.025313+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80370d9924341f7557874fca9afad0910beef65df410b9699cda48278503d59f", "fetched_at": "2026-08-28T04:07:44.314154+00:00", "kind": "readme", "missing": false, "url": "https://github.com/diegoantognini/pyGAT"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.314154+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.314154+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:26:33.025313+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80370d9924341f7557874fca9afad0910beef65df410b9699cda48278503d59f", "fetched_at": "2026-08-28T04:07:44.314154+00:00", "kind": "readme", "missing": false, "url": "https://github.com/diegoantognini/pyGAT"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:26:33.025313+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80370d9924341f7557874fca9afad0910beef65df410b9699cda48278503d59f", "fetched_at": "2026-08-28T04:07:44.314154+00:00", "kind": "readme", "missing": false, "url": "https://github.com/diegoantognini/pyGAT"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:26:33.025313+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80370d9924341f7557874fca9afad0910beef65df410b9699cda48278503d59f", "fetched_at": "2026-08-28T04:07:44.314154+00:00", "kind": "readme", "missing": false, "url": "https://github.com/diegoantognini/pyGAT"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:26:33.025313+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80370d9924341f7557874fca9afad0910beef65df410b9699cda48278503d59f", "fetched_at": "2026-08-28T04:07:44.314154+00:00", "kind": "readme", "missing": false, "url": "https://github.com/diegoantognini/pyGAT"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3106, "days_push": 1154, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}