{"adoption": {"forks": 82, "observed_at": "2026-08-28T04:03:46.823303+00:00", "stars": 1152}, "canonical_url": "https://ross.abutalabs.com/products/gridify", "card": {"archived": false, "artifact_type": "library", "description": "Easy and optimized way to apply Filtering, Sorting, and Pagination using text-based data.", "domain": ["backend", "web-development", "apis", "databases"], "enriched": true, "function": ["parser", "orm", "search-engine", "developer-tools"], "health_score": 96, "homepage": "https://alirezanet.github.io/Gridify/", "language": "C#", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["alirezanet/Gridify"], "name": "alirezanet/Gridify", "platform": ["dotnet", "c", "cross-platform"], "pushed_at": "2026-08-04T11:06:26+00:00", "repo": "alirezanet/Gridify", "stars": 1152, "tags": ["dynamic-linq", "query-builder", "entity-framework-core", "odata-alternative", "filtering", "sorting", "pagination", "linq"], "topics": ["csharp", "filtering", "ordering", "sorting", "pagination", "dynamic-queries", "entity-framework-core", "gridify", "vbnet", "dotnet", "entity-framework", "odata", "dynamic-linq", "linq", "linq-to-sql", "linq-to-objects", "query", "query-builder"], "urls": [], "use_cases": ["apply filtering sorting and pagination from query strings in a .NET API", "convert string filters to LINQ expressions with Entity Framework Core", "let frontend clients dynamically filter and page API resources", "build dynamic grid queries in ASP.NET Core", "replace OData or System.Linq.Dynamic with a faster dynamic LINQ library", "query nested collections and sub-collections from text-based input"], "what_it_is": "Gridify is a .NET dynamic LINQ library that converts text-based query strings into LINQ expressions for filtering, sorting, and pagination. It serves as a simpler, faster alternative to GraphQL/OData and integrates with Entity Framework and other ORMs.", "when_to_avoid": ["your project is not on .NET/.NET Core", "you need full GraphQL-style schema, subscriptions, or type-safe client generation", "you only need static, compile-time-checked queries"], "when_to_choose": ["you need string-to-LINQ query conversion in a .NET project with high performance", "you want clients to filter, sort, and paginate resources via query parameters", "you use Entity Framework Core and need dynamic queries that translate to SQL", "you want a lightweight alternative to OData or GraphQL for list endpoints"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gridify", "repo": "alirezanet/Gridify", "role": "main", "score": 92}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.823303+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:33:31.773684+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ce12f651becb61184247cdb5d4a61c45099e0ad456219b37364f25ac9450ba1", "fetched_at": "2026-08-28T04:03:46.823303+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alirezanet/Gridify"}, {"content_hash": "62670c0fff42be6fadfdc0d213493979ce4c501531f5ee8a574b1d6adf6b834a", "fetched_at": "2026-08-29T12:38:09.455959+00:00", "kind": "homepage", "missing": false, "url": "https://alirezanet.github.io/Gridify/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.823303+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:33:31.773684+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ce12f651becb61184247cdb5d4a61c45099e0ad456219b37364f25ac9450ba1", "fetched_at": "2026-08-28T04:03:46.823303+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alirezanet/Gridify"}, {"content_hash": "62670c0fff42be6fadfdc0d213493979ce4c501531f5ee8a574b1d6adf6b834a", "fetched_at": "2026-08-29T12:38:09.455959+00:00", "kind": "homepage", "missing": false, "url": "https://alirezanet.github.io/Gridify/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:33:31.773684+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ce12f651becb61184247cdb5d4a61c45099e0ad456219b37364f25ac9450ba1", "fetched_at": "2026-08-28T04:03:46.823303+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alirezanet/Gridify"}, {"content_hash": "62670c0fff42be6fadfdc0d213493979ce4c501531f5ee8a574b1d6adf6b834a", "fetched_at": "2026-08-29T12:38:09.455959+00:00", "kind": "homepage", "missing": false, "url": "https://alirezanet.github.io/Gridify/"}], "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:46.823303+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.823303+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.823303+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:33:31.773684+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ce12f651becb61184247cdb5d4a61c45099e0ad456219b37364f25ac9450ba1", "fetched_at": "2026-08-28T04:03:46.823303+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alirezanet/Gridify"}, {"content_hash": "62670c0fff42be6fadfdc0d213493979ce4c501531f5ee8a574b1d6adf6b834a", "fetched_at": "2026-08-29T12:38:09.455959+00:00", "kind": "homepage", "missing": false, "url": "https://alirezanet.github.io/Gridify/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.823303+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.823303+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:33:31.773684+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ce12f651becb61184247cdb5d4a61c45099e0ad456219b37364f25ac9450ba1", "fetched_at": "2026-08-28T04:03:46.823303+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alirezanet/Gridify"}, {"content_hash": "62670c0fff42be6fadfdc0d213493979ce4c501531f5ee8a574b1d6adf6b834a", "fetched_at": "2026-08-29T12:38:09.455959+00:00", "kind": "homepage", "missing": false, "url": "https://alirezanet.github.io/Gridify/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.823303+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.823303+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.823303+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:33:31.773684+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ce12f651becb61184247cdb5d4a61c45099e0ad456219b37364f25ac9450ba1", "fetched_at": "2026-08-28T04:03:46.823303+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alirezanet/Gridify"}, {"content_hash": "62670c0fff42be6fadfdc0d213493979ce4c501531f5ee8a574b1d6adf6b834a", "fetched_at": "2026-08-29T12:38:09.455959+00:00", "kind": "homepage", "missing": false, "url": "https://alirezanet.github.io/Gridify/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.823303+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:46.823303+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:33:31.773684+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ce12f651becb61184247cdb5d4a61c45099e0ad456219b37364f25ac9450ba1", "fetched_at": "2026-08-28T04:03:46.823303+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alirezanet/Gridify"}, {"content_hash": "62670c0fff42be6fadfdc0d213493979ce4c501531f5ee8a574b1d6adf6b834a", "fetched_at": "2026-08-29T12:38:09.455959+00:00", "kind": "homepage", "missing": false, "url": "https://alirezanet.github.io/Gridify/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:33:31.773684+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ce12f651becb61184247cdb5d4a61c45099e0ad456219b37364f25ac9450ba1", "fetched_at": "2026-08-28T04:03:46.823303+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alirezanet/Gridify"}, {"content_hash": "62670c0fff42be6fadfdc0d213493979ce4c501531f5ee8a574b1d6adf6b834a", "fetched_at": "2026-08-29T12:38:09.455959+00:00", "kind": "homepage", "missing": false, "url": "https://alirezanet.github.io/Gridify/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:33:31.773684+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ce12f651becb61184247cdb5d4a61c45099e0ad456219b37364f25ac9450ba1", "fetched_at": "2026-08-28T04:03:46.823303+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alirezanet/Gridify"}, {"content_hash": "62670c0fff42be6fadfdc0d213493979ce4c501531f5ee8a574b1d6adf6b834a", "fetched_at": "2026-08-29T12:38:09.455959+00:00", "kind": "homepage", "missing": false, "url": "https://alirezanet.github.io/Gridify/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:33:31.773684+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ce12f651becb61184247cdb5d4a61c45099e0ad456219b37364f25ac9450ba1", "fetched_at": "2026-08-28T04:03:46.823303+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alirezanet/Gridify"}, {"content_hash": "62670c0fff42be6fadfdc0d213493979ce4c501531f5ee8a574b1d6adf6b834a", "fetched_at": "2026-08-29T12:38:09.455959+00:00", "kind": "homepage", "missing": false, "url": "https://alirezanet.github.io/Gridify/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 96, "longevity": 100, "rhythm": 81}, "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": 2254, "days_push": 29, "days_rel": 125, "gap_med": 30, "n_releases_24m": 14}, "score": 92, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}