{"adoption": {"forks": 75, "observed_at": "2026-08-28T04:04:36.079538+00:00", "stars": 1392}, "canonical_url": "https://ross.abutalabs.com/products/data-forge-ts", "card": {"archived": false, "artifact_type": "library", "description": "The JavaScript data transformation and analysis toolkit inspired by Pandas and LINQ.", "domain": ["data-science", "analytics", "developer-tools"], "enriched": true, "function": ["data-science", "etl", "csv", "data-visualization"], "health_score": 69, "homepage": null, "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["data-forge/data-forge-ts"], "name": "data-forge/data-forge-ts", "platform": ["browser", "cross-platform"], "pushed_at": "2026-05-09T03:43:19+00:00", "repo": "data-forge/data-forge-ts", "stars": 1392, "tags": ["dataframe", "pandas-inspired", "linq", "data-wrangling", "data-cleaning", "data-manipulation", "data-engineering", "nodejs", "javascript", "typescript"], "topics": ["data-wrangling", "data-forge", "data", "data-analysis", "javascript", "nodejs", "linq", "pandas", "visualization", "data-visualization", "data-management", "data-manipulation", "data-munging", "data-cleaning", "data-cleansing", "csv", "json"], "urls": [], "use_cases": ["parse and clean csv data in nodejs", "transform  datasets with a pandas-like api", "filter sort and aggregate tabular data in javascript", "data wrangling for visualization pipelines", "munge and reshape data before analysis", "load csv files and convert column types", "explore and analyze datasets in a node script"], "what_it_is": "Data-Forge is a TypeScript data transformation and analysis toolkit for JavaScript, inspired by Pandas and LINQ. It provides a DataFrame/Series API for loading, parsing, filtering, transforming, aggregating, and exporting datasets such as CSV and JSON.", "when_to_avoid": ["you need heavy-duty distributed big data processing beyond in-memory datasets", "you are doing numerical/scientific computing that needs NumPy-level performance", "you need built-in plotting - visualization requires separate libraries"], "when_to_choose": ["you want a pandas-like dataframe library in JavaScript or TypeScript", "you need to clean, transform, and aggregate CSV/JSON data in Node.js or the browser", "you prefer a LINQ-style fluent API for data manipulation"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/data-forge-ts", "repo": "data-forge/data-forge-ts", "role": "main", "score": 69}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:36.079538+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:39:32.170611+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c213871ce0be8b1c4d16da592061aa43b6018a2b3aff6c6e66ff720cc6f7454", "fetched_at": "2026-08-28T04:04:36.079538+00:00", "kind": "readme", "missing": false, "url": "https://github.com/data-forge/data-forge-ts"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:36.079538+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:39:32.170611+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c213871ce0be8b1c4d16da592061aa43b6018a2b3aff6c6e66ff720cc6f7454", "fetched_at": "2026-08-28T04:04:36.079538+00:00", "kind": "readme", "missing": false, "url": "https://github.com/data-forge/data-forge-ts"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:39:32.170611+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c213871ce0be8b1c4d16da592061aa43b6018a2b3aff6c6e66ff720cc6f7454", "fetched_at": "2026-08-28T04:04:36.079538+00:00", "kind": "readme", "missing": false, "url": "https://github.com/data-forge/data-forge-ts"}], "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:04:36.079538+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:36.079538+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:36.079538+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:39:32.170611+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c213871ce0be8b1c4d16da592061aa43b6018a2b3aff6c6e66ff720cc6f7454", "fetched_at": "2026-08-28T04:04:36.079538+00:00", "kind": "readme", "missing": false, "url": "https://github.com/data-forge/data-forge-ts"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:36.079538+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:36.079538+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:39:32.170611+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c213871ce0be8b1c4d16da592061aa43b6018a2b3aff6c6e66ff720cc6f7454", "fetched_at": "2026-08-28T04:04:36.079538+00:00", "kind": "readme", "missing": false, "url": "https://github.com/data-forge/data-forge-ts"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:36.079538+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:36.079538+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:36.079538+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:39:32.170611+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c213871ce0be8b1c4d16da592061aa43b6018a2b3aff6c6e66ff720cc6f7454", "fetched_at": "2026-08-28T04:04:36.079538+00:00", "kind": "readme", "missing": false, "url": "https://github.com/data-forge/data-forge-ts"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:36.079538+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:36.079538+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:39:32.170611+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c213871ce0be8b1c4d16da592061aa43b6018a2b3aff6c6e66ff720cc6f7454", "fetched_at": "2026-08-28T04:04:36.079538+00:00", "kind": "readme", "missing": false, "url": "https://github.com/data-forge/data-forge-ts"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:39:32.170611+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c213871ce0be8b1c4d16da592061aa43b6018a2b3aff6c6e66ff720cc6f7454", "fetched_at": "2026-08-28T04:04:36.079538+00:00", "kind": "readme", "missing": false, "url": "https://github.com/data-forge/data-forge-ts"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:39:32.170611+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c213871ce0be8b1c4d16da592061aa43b6018a2b3aff6c6e66ff720cc6f7454", "fetched_at": "2026-08-28T04:04:36.079538+00:00", "kind": "readme", "missing": false, "url": "https://github.com/data-forge/data-forge-ts"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:39:32.170611+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c213871ce0be8b1c4d16da592061aa43b6018a2b3aff6c6e66ff720cc6f7454", "fetched_at": "2026-08-28T04:04:36.079538+00:00", "kind": "readme", "missing": false, "url": "https://github.com/data-forge/data-forge-ts"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 81, "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": 3201, "days_push": 116, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 69, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}