{"adoption": {"forks": 117, "observed_at": "2026-09-03T02:15:17.158524+00:00", "stars": 1036}, "canonical_url": "https://ross.abutalabs.com/products/tensordict", "card": {"archived": false, "artifact_type": "library", "description": "TensorDict is a pytorch dedicated tensor container.", "domain": ["machine-learning", "deep-learning", "data-science", "reinforcement-learning"], "enriched": true, "function": ["machine-learning", "deep-learning", "data-science", "serialization"], "health_score": 100, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["pytorch/tensordict"], "name": "pytorch/tensordict", "platform": ["python", "cross-platform"], "pushed_at": "2026-09-02T18:22:24+00:00", "repo": "pytorch/tensordict", "stars": 1036, "tags": ["pytorch", "tensor-container", "batched-dictionary", "rl"], "topics": [], "urls": [], "use_cases": ["manage batches of heterogeneous tensors in pytorch", "store reinforcement learning rollouts with nested observations", "slice and move nested tensor structures to gpu in one call", "stack and reshape batches of tensor dictionaries", "serialize and save collections of tensors with a shared batch size"], "what_it_is": "TensorDict is a PyTorch library providing a batched, nested dict-like tensor container where operations like slicing, stacking, and arithmetic propagate to every tensor leaf. It keeps a shared batch_size across nested structures, making it easy to handle heterogeneous tensor data such as RL rollouts or model batches.", "when_to_avoid": ["your project does not use PyTorch", "you only need plain tensors or simple homogeneous batches", "you need a framework-agnostic container"], "when_to_choose": ["you work in PyTorch with nested or heterogeneous tensor data like RL transitions", "you want dictionary flexibility with tensor-like batch operations", "you need consistent batch_size enforcement across nested structures"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/tensordict", "repo": "pytorch/tensordict", "role": "main", "score": 99}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-03T02:15:17.158524+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:05:10.025821+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "af56b5eb5251827e09d18cab3c17a85e4964e9a8106de990f6712a1ffbccb293", "fetched_at": "2026-09-03T02:15:17.158524+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pytorch/tensordict"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-03T02:15:17.158524+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:05:10.025821+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "af56b5eb5251827e09d18cab3c17a85e4964e9a8106de990f6712a1ffbccb293", "fetched_at": "2026-09-03T02:15:17.158524+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pytorch/tensordict"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:05:10.025821+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "af56b5eb5251827e09d18cab3c17a85e4964e9a8106de990f6712a1ffbccb293", "fetched_at": "2026-09-03T02:15:17.158524+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pytorch/tensordict"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-09-03T02:15:17.158524+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-03T02:15:17.158524+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-03T02:15:17.158524+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:05:10.025821+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "af56b5eb5251827e09d18cab3c17a85e4964e9a8106de990f6712a1ffbccb293", "fetched_at": "2026-09-03T02:15:17.158524+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pytorch/tensordict"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-03T02:15:17.158524+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-03T02:15:17.158524+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:05:10.025821+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "af56b5eb5251827e09d18cab3c17a85e4964e9a8106de990f6712a1ffbccb293", "fetched_at": "2026-09-03T02:15:17.158524+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pytorch/tensordict"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-03T02:15:17.158524+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-03T02:15:17.158524+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-03T02:15:17.158524+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:05:10.025821+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "af56b5eb5251827e09d18cab3c17a85e4964e9a8106de990f6712a1ffbccb293", "fetched_at": "2026-09-03T02:15:17.158524+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pytorch/tensordict"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-03T02:15:17.158524+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-03T02:15:17.158524+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:05:10.025821+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "af56b5eb5251827e09d18cab3c17a85e4964e9a8106de990f6712a1ffbccb293", "fetched_at": "2026-09-03T02:15:17.158524+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pytorch/tensordict"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:05:10.025821+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "af56b5eb5251827e09d18cab3c17a85e4964e9a8106de990f6712a1ffbccb293", "fetched_at": "2026-09-03T02:15:17.158524+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pytorch/tensordict"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:05:10.025821+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "af56b5eb5251827e09d18cab3c17a85e4964e9a8106de990f6712a1ffbccb293", "fetched_at": "2026-09-03T02:15:17.158524+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pytorch/tensordict"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:05:10.025821+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "af56b5eb5251827e09d18cab3c17a85e4964e9a8106de990f6712a1ffbccb293", "fetched_at": "2026-09-03T02:15:17.158524+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pytorch/tensordict"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 100, "longevity": 100, "rhythm": 98}, "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": 1414, "days_push": 0, "days_rel": 19, "gap_med": 12.5, "n_releases_24m": 21}, "score": 99, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 3, "stale_scrape": false}}