{"adoption": {"forks": 222, "observed_at": "2026-08-28T04:09:09.148324+00:00", "stars": 5056}, "canonical_url": "https://ross.abutalabs.com/products/danfojs", "card": {"archived": false, "artifact_type": "library", "description": "Danfo.js is an open source, JavaScript library providing high performance, intuitive, and easy to use data structures for manipulating and processing structured data.", "domain": ["data-science", "analytics", "data-visualization"], "enriched": true, "function": ["data-science", "etl", "data-visualization", "streaming"], "health_score": 78, "homepage": "https://danfo.jsdata.org/", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["javascriptdata/danfojs"], "name": "javascriptdata/danfojs", "platform": ["browser", "cross-platform"], "pushed_at": "2026-04-15T03:16:31+00:00", "repo": "javascriptdata/danfojs", "stars": 5056, "tags": ["dataframe", "pandas-like", "tensorflowjs", "typescript", "data-manipulation", "groupby", "tabular-data", "data-engineering", "nodejs", "javascript"], "topics": ["data-analytics", "data-science", "pandas", "data-manipulation", "tensors", "dataframe", "javascript", "data-analysis", "danfojs", "stream-data", "stream-processing", "tensorflow", "table", "plotting-charts"], "urls": [], "use_cases": ["manipulate tabular data in javascript like pandas", "clean and transform csv data in nodejs", "convert  arrays into dataframes for analysis", "groupby and aggregate datasets in the browser", "convert dataframes to tensorflow.js tensors for machine learning", "merge and join datasets in javascript", "handle missing NaN values in javascript data analysis"], "what_it_is": "Danfo.js is a JavaScript library providing high-performance, intuitive data structures (Series and DataFrame) for manipulating and processing structured data, heavily inspired by and API-compatible with Python's pandas. It integrates with TensorFlow.js tensors and supports browser and Node.js environments.", "when_to_avoid": ["you work primarily in Python where pandas is more mature", "you need very large datasets beyond memory where Spark/DuckDB fit better", "you need advanced statistical or plotting features available in pandas ecosystem"], "when_to_choose": ["you need pandas-like dataframes in JavaScript or TypeScript", "you are building browser-based or Node.js data analysis pipelines", "you want to feed tabular data into TensorFlow.js models", "your team knows pandas and wants a similar API in JS"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/danfojs", "repo": "javascriptdata/danfojs", "role": "main", "score": 57}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.148324+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:17:19.734521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "884963f5377048e58244ab4ae99ef9081272daa7bcceaf5299184052f4139557", "fetched_at": "2026-08-28T04:09:09.148324+00:00", "kind": "readme", "missing": false, "url": "https://github.com/javascriptdata/danfojs"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.148324+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:17:19.734521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "884963f5377048e58244ab4ae99ef9081272daa7bcceaf5299184052f4139557", "fetched_at": "2026-08-28T04:09:09.148324+00:00", "kind": "readme", "missing": false, "url": "https://github.com/javascriptdata/danfojs"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:17:19.734521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "884963f5377048e58244ab4ae99ef9081272daa7bcceaf5299184052f4139557", "fetched_at": "2026-08-28T04:09:09.148324+00:00", "kind": "readme", "missing": false, "url": "https://github.com/javascriptdata/danfojs"}], "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:09:09.148324+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.148324+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.148324+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:17:19.734521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "884963f5377048e58244ab4ae99ef9081272daa7bcceaf5299184052f4139557", "fetched_at": "2026-08-28T04:09:09.148324+00:00", "kind": "readme", "missing": false, "url": "https://github.com/javascriptdata/danfojs"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.148324+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.148324+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:17:19.734521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "884963f5377048e58244ab4ae99ef9081272daa7bcceaf5299184052f4139557", "fetched_at": "2026-08-28T04:09:09.148324+00:00", "kind": "readme", "missing": false, "url": "https://github.com/javascriptdata/danfojs"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.148324+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.148324+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.148324+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:17:19.734521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "884963f5377048e58244ab4ae99ef9081272daa7bcceaf5299184052f4139557", "fetched_at": "2026-08-28T04:09:09.148324+00:00", "kind": "readme", "missing": false, "url": "https://github.com/javascriptdata/danfojs"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.148324+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.148324+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:17:19.734521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "884963f5377048e58244ab4ae99ef9081272daa7bcceaf5299184052f4139557", "fetched_at": "2026-08-28T04:09:09.148324+00:00", "kind": "readme", "missing": false, "url": "https://github.com/javascriptdata/danfojs"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:17:19.734521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "884963f5377048e58244ab4ae99ef9081272daa7bcceaf5299184052f4139557", "fetched_at": "2026-08-28T04:09:09.148324+00:00", "kind": "readme", "missing": false, "url": "https://github.com/javascriptdata/danfojs"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:17:19.734521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "884963f5377048e58244ab4ae99ef9081272daa7bcceaf5299184052f4139557", "fetched_at": "2026-08-28T04:09:09.148324+00:00", "kind": "readme", "missing": false, "url": "https://github.com/javascriptdata/danfojs"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:17:19.734521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "884963f5377048e58244ab4ae99ef9081272daa7bcceaf5299184052f4139557", "fetched_at": "2026-08-28T04:09:09.148324+00:00", "kind": "readme", "missing": false, "url": "https://github.com/javascriptdata/danfojs"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 77, "longevity": 100, "rhythm": 8}, "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": 2303, "days_push": 140, "days_rel": 517, "gap_med": null, "n_releases_24m": 1}, "score": 57, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}