{"adoption": {"forks": 114, "observed_at": "2026-08-28T04:03:38.505614+00:00", "stars": 1116}, "canonical_url": "https://ross.abutalabs.com/products/restease", "card": {"archived": false, "artifact_type": "library", "description": "Easy-to-use typesafe REST API client library for .NET Standard 1.1 and .NET Framework 4.5 and higher, which is simple and customisable. Inspired by Refit", "domain": ["web-development", "apis", "developer-tools"], "enriched": true, "function": ["http-client", "api-framework", "serialization"], "health_score": 20, "homepage": null, "language": "C#", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["canton7/RestEase"], "name": "canton7/RestEase", "platform": ["dotnet", "cross-platform"], "pushed_at": "2023-12-10T14:55:20+00:00", "repo": "canton7/RestEase", "stars": 1116, "tags": ["rest-client", "typesafe", "refit-inspired", "source-generator", "httpclient"], "topics": [], "urls": [], "use_cases": ["call a REST API from C# with type-safe interface methods", "generate an HTTP client from an interface definition in .NET", "consume third-party REST endpoints without writing boilerplate HttpClient code", "customize serialization and request building for a .NET API client", "use a REST client on platforms without runtime code generation like iOS or .NET Native"], "what_it_is": "RestEase is a type-safe REST API client library for .NET, where you define an interface describing the remote endpoints and RestEase generates the implementation. It is built on HttpClient, highly customizable, and inspired by Refit.", "when_to_avoid": ["you need a client for non-REST protocols like gRPC or GraphQL", "you prefer writing HttpClient calls directly with full manual control", "your project is not on the .NET platform"], "when_to_choose": ["you want a Refit-style declarative REST client in .NET", "you need fine-grained control and customization over requests while keeping type safety", "you target .NET Framework 4.5.2+ or .NET Standard 1.1+", "you need source-generation support for AOT platforms"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/restease", "repo": "canton7/RestEase", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.505614+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:41:57.604231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "10c03c5c08cd008470bf80c4a180f65cdcc1c3e1b27938ecf05cb9b6ddb2bbf3", "fetched_at": "2026-08-28T04:03:38.505614+00:00", "kind": "readme", "missing": false, "url": "https://github.com/canton7/RestEase"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.505614+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:41:57.604231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "10c03c5c08cd008470bf80c4a180f65cdcc1c3e1b27938ecf05cb9b6ddb2bbf3", "fetched_at": "2026-08-28T04:03:38.505614+00:00", "kind": "readme", "missing": false, "url": "https://github.com/canton7/RestEase"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:41:57.604231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "10c03c5c08cd008470bf80c4a180f65cdcc1c3e1b27938ecf05cb9b6ddb2bbf3", "fetched_at": "2026-08-28T04:03:38.505614+00:00", "kind": "readme", "missing": false, "url": "https://github.com/canton7/RestEase"}], "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:03:38.505614+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.505614+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.505614+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:41:57.604231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "10c03c5c08cd008470bf80c4a180f65cdcc1c3e1b27938ecf05cb9b6ddb2bbf3", "fetched_at": "2026-08-28T04:03:38.505614+00:00", "kind": "readme", "missing": false, "url": "https://github.com/canton7/RestEase"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.505614+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.505614+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:41:57.604231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "10c03c5c08cd008470bf80c4a180f65cdcc1c3e1b27938ecf05cb9b6ddb2bbf3", "fetched_at": "2026-08-28T04:03:38.505614+00:00", "kind": "readme", "missing": false, "url": "https://github.com/canton7/RestEase"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.505614+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.505614+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.505614+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:41:57.604231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "10c03c5c08cd008470bf80c4a180f65cdcc1c3e1b27938ecf05cb9b6ddb2bbf3", "fetched_at": "2026-08-28T04:03:38.505614+00:00", "kind": "readme", "missing": false, "url": "https://github.com/canton7/RestEase"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.505614+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:38.505614+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:41:57.604231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "10c03c5c08cd008470bf80c4a180f65cdcc1c3e1b27938ecf05cb9b6ddb2bbf3", "fetched_at": "2026-08-28T04:03:38.505614+00:00", "kind": "readme", "missing": false, "url": "https://github.com/canton7/RestEase"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:41:57.604231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "10c03c5c08cd008470bf80c4a180f65cdcc1c3e1b27938ecf05cb9b6ddb2bbf3", "fetched_at": "2026-08-28T04:03:38.505614+00:00", "kind": "readme", "missing": false, "url": "https://github.com/canton7/RestEase"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:41:57.604231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "10c03c5c08cd008470bf80c4a180f65cdcc1c3e1b27938ecf05cb9b6ddb2bbf3", "fetched_at": "2026-08-28T04:03:38.505614+00:00", "kind": "readme", "missing": false, "url": "https://github.com/canton7/RestEase"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:41:57.604231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "10c03c5c08cd008470bf80c4a180f65cdcc1c3e1b27938ecf05cb9b6ddb2bbf3", "fetched_at": "2026-08-28T04:03:38.505614+00:00", "kind": "readme", "missing": false, "url": "https://github.com/canton7/RestEase"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4137, "days_push": 997, "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}}