{"adoption": {"forks": 891, "observed_at": "2026-08-28T04:07:48.526860+00:00", "stars": 3202}, "canonical_url": "https://ross.abutalabs.com/products/dotnet-extensions", "card": {"archived": false, "artifact_type": "library", "description": "This repository contains a suite of libraries that provide facilities commonly needed when creating production-ready applications.", "domain": ["backend", "developer-tools", "apis", "large-language-models", "monitoring"], "enriched": true, "function": ["logging", "tracing", "monitoring", "middleware", "testing", "configuration-management", "error-handling", "llm-inference"], "health_score": 100, "homepage": null, "language": "C#", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["dotnet/extensions"], "name": "dotnet/extensions", "platform": ["dotnet", "cross-platform"], "pushed_at": "2026-08-26T17:14:38+00:00", "repo": "dotnet/extensions", "stars": 3202, "tags": ["resilience", "polly", "telemetry", "aspnetcore", "diagnostics", "options-pattern", "microsoft", "web-server"], "topics": ["dotnet"], "urls": [], "use_cases": ["add resilience and retry pipelines to .NET services", "enhance logging, metering, and tracing in ASP.NET Core apps", "redact sensitive data from telemetry for privacy compliance", "unit test code that depends on ILogger or TimeProvider", "integrate generative AI models via abstractions and middleware", "run production experiments with contextual options"], "what_it_is": "A suite of .NET libraries from Microsoft providing production-ready capabilities such as resilience pipelines, telemetry, diagnostics, compliance, and AI abstractions. Originally built to support high-scale services like Microsoft Teams, it is now a core part of the .NET ecosystem.", "when_to_avoid": ["working outside the .NET ecosystem", "you only need a tiny single-purpose utility rather than a broad library suite", "your project targets legacy .NET Framework versions"], "when_to_choose": ["building production-grade .NET or ASP.NET Core services needing robustness and observability", "you want Microsoft-supported, MIT-licensed extensions built on Polly", "you need standardized AI abstractions in .NET"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dotnet-extensions", "repo": "dotnet/extensions", "role": "main", "score": 98}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.526860+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:24:48.193189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4023e233cb2b3cfeb79360c6216f9293b0e25e2056f7f1f1460e7bec0eaee2a4", "fetched_at": "2026-08-28T04:07:48.526860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnet/extensions"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.526860+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:24:48.193189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4023e233cb2b3cfeb79360c6216f9293b0e25e2056f7f1f1460e7bec0eaee2a4", "fetched_at": "2026-08-28T04:07:48.526860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnet/extensions"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:24:48.193189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4023e233cb2b3cfeb79360c6216f9293b0e25e2056f7f1f1460e7bec0eaee2a4", "fetched_at": "2026-08-28T04:07:48.526860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnet/extensions"}], "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:48.526860+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.526860+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.526860+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:24:48.193189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4023e233cb2b3cfeb79360c6216f9293b0e25e2056f7f1f1460e7bec0eaee2a4", "fetched_at": "2026-08-28T04:07:48.526860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnet/extensions"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.526860+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.526860+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:24:48.193189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4023e233cb2b3cfeb79360c6216f9293b0e25e2056f7f1f1460e7bec0eaee2a4", "fetched_at": "2026-08-28T04:07:48.526860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnet/extensions"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.526860+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.526860+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.526860+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:24:48.193189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4023e233cb2b3cfeb79360c6216f9293b0e25e2056f7f1f1460e7bec0eaee2a4", "fetched_at": "2026-08-28T04:07:48.526860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnet/extensions"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.526860+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.526860+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:24:48.193189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4023e233cb2b3cfeb79360c6216f9293b0e25e2056f7f1f1460e7bec0eaee2a4", "fetched_at": "2026-08-28T04:07:48.526860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnet/extensions"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:24:48.193189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4023e233cb2b3cfeb79360c6216f9293b0e25e2056f7f1f1460e7bec0eaee2a4", "fetched_at": "2026-08-28T04:07:48.526860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnet/extensions"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:24:48.193189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4023e233cb2b3cfeb79360c6216f9293b0e25e2056f7f1f1460e7bec0eaee2a4", "fetched_at": "2026-08-28T04:07:48.526860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnet/extensions"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:24:48.193189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4023e233cb2b3cfeb79360c6216f9293b0e25e2056f7f1f1460e7bec0eaee2a4", "fetched_at": "2026-08-28T04:07:48.526860+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnet/extensions"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 97}, "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": 4215, "days_push": 7, "days_rel": 21, "gap_med": 27.0, "n_releases_24m": 33}, "score": 98, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}