{"adoption": {"forks": 19810, "observed_at": "2026-08-28T04:12:20.815173+00:00", "stars": 67154}, "canonical_url": "https://ross.abutalabs.com/products/echarts", "card": {"archived": false, "artifact_type": "library", "description": "Apache ECharts is a powerful, interactive charting and data visualization library for browser", "domain": ["data-visualization", "frontend", "web-development", "analytics"], "enriched": true, "function": ["data-visualization", "charts", "frontend-framework", "ui-components", "accessibility"], "health_score": 97, "homepage": "https://echarts.apache.org", "language": "TypeScript", "license": "Apache-2.0", "license_family": "permissive", "maturity": "stable", "member_repos": ["apache/echarts"], "name": "apache/echarts", "platform": ["browser", "cross-platform"], "pushed_at": "2026-08-04T09:07:09+00:00", "repo": "apache/echarts", "stars": 67154, "tags": ["charting-library", "canvas", "svg", "typescript", "interactive-charts", "apache-project", "big-data-rendering", "nodejs", "mobile"], "topics": ["echarts", "data-visualization", "charts", "charting-library", "visualization", "apache", "data-viz", "canvas", "svg"], "urls": [], "use_cases": ["add interactive charts to a web dashboard", "render line, bar, and pie charts from a dataset", "visualize millions of data points in the browser", "create heatmaps, treemaps, and geographic map visualizations", "build responsive charts that work on mobile and desktop", "make accessible charts with automatic descriptions", "combine multiple chart types in one visualization"], "what_it_is": "Apache ECharts is a free, open-source JavaScript charting and data visualization library for the browser, built on the ZRender canvas engine. It offers 20+ interactive chart types, Canvas/SVG rendering, dataset-based data transforms, and accessibility features, and is highly customizable for commercial products.", "when_to_avoid": ["you need server-side static chart images only", "you want a minimal lightweight chart library with a tiny bundle", "you are building native mobile apps without a web view", "you prefer a declarative grammar-based visualization system like Vega-Lite"], "when_to_choose": ["you need a mature, feature-rich charting library with many chart types out of the box", "you must render very large datasets with progressive rendering", "you want Canvas and SVG rendering with a switchable engine", "you need a permissive Apache-2.0 license for commercial products", "you want built-in accessibility for charts"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/echarts", "repo": "apache/echarts", "role": "main", "score": 81}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:12:20.815173+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:16:24.769553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "30f067821fc4e2baed63c2674fa7ab12d765efe6e28fcb6ca884cb2e0caaaa2b", "fetched_at": "2026-08-28T04:12:20.815173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/echarts"}, {"content_hash": "292f6d86718a8abf4ee3574b3f007615b82301d5f2b8339c91db28c48ae5648c", "fetched_at": "2026-08-28T17:52:34.391875+00:00", "kind": "homepage", "missing": false, "url": "https://echarts.apache.org"}, {"content_hash": "370cf71390ff09d63c68edfe9bb21c400e3752cdd156b595e2b6ab79af5393a9", "fetched_at": "2026-08-28T17:52:34.411345+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/echarts"}, {"content_hash": "752d27ca9a325105f175b970460c6a097be0a1432417f360fa63d0c6bd97abe8", "fetched_at": "2026-08-28T17:52:34.401093+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/feature.html"}, {"content_hash": "15197d519a65f5eeebc2d490e37ca8e31b75d131614a0102c207c286bc812081", "fetched_at": "2026-08-28T17:52:34.404304+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/changelog.html"}, {"content_hash": "4d54943cb0436814e95a67191b75c3e40b2ced3190815d2b58198194c38022fd", "fetched_at": "2026-08-28T17:52:34.409440+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/faq.html"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:12:20.815173+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:16:24.769553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "30f067821fc4e2baed63c2674fa7ab12d765efe6e28fcb6ca884cb2e0caaaa2b", "fetched_at": "2026-08-28T04:12:20.815173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/echarts"}, {"content_hash": "292f6d86718a8abf4ee3574b3f007615b82301d5f2b8339c91db28c48ae5648c", "fetched_at": "2026-08-28T17:52:34.391875+00:00", "kind": "homepage", "missing": false, "url": "https://echarts.apache.org"}, {"content_hash": "370cf71390ff09d63c68edfe9bb21c400e3752cdd156b595e2b6ab79af5393a9", "fetched_at": "2026-08-28T17:52:34.411345+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/echarts"}, {"content_hash": "752d27ca9a325105f175b970460c6a097be0a1432417f360fa63d0c6bd97abe8", "fetched_at": "2026-08-28T17:52:34.401093+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/feature.html"}, {"content_hash": "15197d519a65f5eeebc2d490e37ca8e31b75d131614a0102c207c286bc812081", "fetched_at": "2026-08-28T17:52:34.404304+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/changelog.html"}, {"content_hash": "4d54943cb0436814e95a67191b75c3e40b2ced3190815d2b58198194c38022fd", "fetched_at": "2026-08-28T17:52:34.409440+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/faq.html"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:16:24.769553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "30f067821fc4e2baed63c2674fa7ab12d765efe6e28fcb6ca884cb2e0caaaa2b", "fetched_at": "2026-08-28T04:12:20.815173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/echarts"}, {"content_hash": "292f6d86718a8abf4ee3574b3f007615b82301d5f2b8339c91db28c48ae5648c", "fetched_at": "2026-08-28T17:52:34.391875+00:00", "kind": "homepage", "missing": false, "url": "https://echarts.apache.org"}, {"content_hash": "370cf71390ff09d63c68edfe9bb21c400e3752cdd156b595e2b6ab79af5393a9", "fetched_at": "2026-08-28T17:52:34.411345+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/echarts"}, {"content_hash": "752d27ca9a325105f175b970460c6a097be0a1432417f360fa63d0c6bd97abe8", "fetched_at": "2026-08-28T17:52:34.401093+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/feature.html"}, {"content_hash": "15197d519a65f5eeebc2d490e37ca8e31b75d131614a0102c207c286bc812081", "fetched_at": "2026-08-28T17:52:34.404304+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/changelog.html"}, {"content_hash": "4d54943cb0436814e95a67191b75c3e40b2ced3190815d2b58198194c38022fd", "fetched_at": "2026-08-28T17:52:34.409440+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/faq.html"}], "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:12:20.815173+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:12:20.815173+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:12:20.815173+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:16:24.769553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "30f067821fc4e2baed63c2674fa7ab12d765efe6e28fcb6ca884cb2e0caaaa2b", "fetched_at": "2026-08-28T04:12:20.815173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/echarts"}, {"content_hash": "292f6d86718a8abf4ee3574b3f007615b82301d5f2b8339c91db28c48ae5648c", "fetched_at": "2026-08-28T17:52:34.391875+00:00", "kind": "homepage", "missing": false, "url": "https://echarts.apache.org"}, {"content_hash": "370cf71390ff09d63c68edfe9bb21c400e3752cdd156b595e2b6ab79af5393a9", "fetched_at": "2026-08-28T17:52:34.411345+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/echarts"}, {"content_hash": "752d27ca9a325105f175b970460c6a097be0a1432417f360fa63d0c6bd97abe8", "fetched_at": "2026-08-28T17:52:34.401093+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/feature.html"}, {"content_hash": "15197d519a65f5eeebc2d490e37ca8e31b75d131614a0102c207c286bc812081", "fetched_at": "2026-08-28T17:52:34.404304+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/changelog.html"}, {"content_hash": "4d54943cb0436814e95a67191b75c3e40b2ced3190815d2b58198194c38022fd", "fetched_at": "2026-08-28T17:52:34.409440+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/faq.html"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:12:20.815173+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:12:20.815173+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:16:24.769553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "30f067821fc4e2baed63c2674fa7ab12d765efe6e28fcb6ca884cb2e0caaaa2b", "fetched_at": "2026-08-28T04:12:20.815173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/echarts"}, {"content_hash": "292f6d86718a8abf4ee3574b3f007615b82301d5f2b8339c91db28c48ae5648c", "fetched_at": "2026-08-28T17:52:34.391875+00:00", "kind": "homepage", "missing": false, "url": "https://echarts.apache.org"}, {"content_hash": "370cf71390ff09d63c68edfe9bb21c400e3752cdd156b595e2b6ab79af5393a9", "fetched_at": "2026-08-28T17:52:34.411345+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/echarts"}, {"content_hash": "752d27ca9a325105f175b970460c6a097be0a1432417f360fa63d0c6bd97abe8", "fetched_at": "2026-08-28T17:52:34.401093+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/feature.html"}, {"content_hash": "15197d519a65f5eeebc2d490e37ca8e31b75d131614a0102c207c286bc812081", "fetched_at": "2026-08-28T17:52:34.404304+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/changelog.html"}, {"content_hash": "4d54943cb0436814e95a67191b75c3e40b2ced3190815d2b58198194c38022fd", "fetched_at": "2026-08-28T17:52:34.409440+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/faq.html"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:12:20.815173+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:12:20.815173+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:12:20.815173+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:16:24.769553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "30f067821fc4e2baed63c2674fa7ab12d765efe6e28fcb6ca884cb2e0caaaa2b", "fetched_at": "2026-08-28T04:12:20.815173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/echarts"}, {"content_hash": "292f6d86718a8abf4ee3574b3f007615b82301d5f2b8339c91db28c48ae5648c", "fetched_at": "2026-08-28T17:52:34.391875+00:00", "kind": "homepage", "missing": false, "url": "https://echarts.apache.org"}, {"content_hash": "370cf71390ff09d63c68edfe9bb21c400e3752cdd156b595e2b6ab79af5393a9", "fetched_at": "2026-08-28T17:52:34.411345+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/echarts"}, {"content_hash": "752d27ca9a325105f175b970460c6a097be0a1432417f360fa63d0c6bd97abe8", "fetched_at": "2026-08-28T17:52:34.401093+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/feature.html"}, {"content_hash": "15197d519a65f5eeebc2d490e37ca8e31b75d131614a0102c207c286bc812081", "fetched_at": "2026-08-28T17:52:34.404304+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/changelog.html"}, {"content_hash": "4d54943cb0436814e95a67191b75c3e40b2ced3190815d2b58198194c38022fd", "fetched_at": "2026-08-28T17:52:34.409440+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/faq.html"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:12:20.815173+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:12:20.815173+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:16:24.769553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "30f067821fc4e2baed63c2674fa7ab12d765efe6e28fcb6ca884cb2e0caaaa2b", "fetched_at": "2026-08-28T04:12:20.815173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/echarts"}, {"content_hash": "292f6d86718a8abf4ee3574b3f007615b82301d5f2b8339c91db28c48ae5648c", "fetched_at": "2026-08-28T17:52:34.391875+00:00", "kind": "homepage", "missing": false, "url": "https://echarts.apache.org"}, {"content_hash": "370cf71390ff09d63c68edfe9bb21c400e3752cdd156b595e2b6ab79af5393a9", "fetched_at": "2026-08-28T17:52:34.411345+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/echarts"}, {"content_hash": "752d27ca9a325105f175b970460c6a097be0a1432417f360fa63d0c6bd97abe8", "fetched_at": "2026-08-28T17:52:34.401093+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/feature.html"}, {"content_hash": "15197d519a65f5eeebc2d490e37ca8e31b75d131614a0102c207c286bc812081", "fetched_at": "2026-08-28T17:52:34.404304+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/changelog.html"}, {"content_hash": "4d54943cb0436814e95a67191b75c3e40b2ced3190815d2b58198194c38022fd", "fetched_at": "2026-08-28T17:52:34.409440+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/faq.html"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:16:24.769553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "30f067821fc4e2baed63c2674fa7ab12d765efe6e28fcb6ca884cb2e0caaaa2b", "fetched_at": "2026-08-28T04:12:20.815173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/echarts"}, {"content_hash": "292f6d86718a8abf4ee3574b3f007615b82301d5f2b8339c91db28c48ae5648c", "fetched_at": "2026-08-28T17:52:34.391875+00:00", "kind": "homepage", "missing": false, "url": "https://echarts.apache.org"}, {"content_hash": "370cf71390ff09d63c68edfe9bb21c400e3752cdd156b595e2b6ab79af5393a9", "fetched_at": "2026-08-28T17:52:34.411345+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/echarts"}, {"content_hash": "752d27ca9a325105f175b970460c6a097be0a1432417f360fa63d0c6bd97abe8", "fetched_at": "2026-08-28T17:52:34.401093+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/feature.html"}, {"content_hash": "15197d519a65f5eeebc2d490e37ca8e31b75d131614a0102c207c286bc812081", "fetched_at": "2026-08-28T17:52:34.404304+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/changelog.html"}, {"content_hash": "4d54943cb0436814e95a67191b75c3e40b2ced3190815d2b58198194c38022fd", "fetched_at": "2026-08-28T17:52:34.409440+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/faq.html"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:16:24.769553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "30f067821fc4e2baed63c2674fa7ab12d765efe6e28fcb6ca884cb2e0caaaa2b", "fetched_at": "2026-08-28T04:12:20.815173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/echarts"}, {"content_hash": "292f6d86718a8abf4ee3574b3f007615b82301d5f2b8339c91db28c48ae5648c", "fetched_at": "2026-08-28T17:52:34.391875+00:00", "kind": "homepage", "missing": false, "url": "https://echarts.apache.org"}, {"content_hash": "370cf71390ff09d63c68edfe9bb21c400e3752cdd156b595e2b6ab79af5393a9", "fetched_at": "2026-08-28T17:52:34.411345+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/echarts"}, {"content_hash": "752d27ca9a325105f175b970460c6a097be0a1432417f360fa63d0c6bd97abe8", "fetched_at": "2026-08-28T17:52:34.401093+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/feature.html"}, {"content_hash": "15197d519a65f5eeebc2d490e37ca8e31b75d131614a0102c207c286bc812081", "fetched_at": "2026-08-28T17:52:34.404304+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/changelog.html"}, {"content_hash": "4d54943cb0436814e95a67191b75c3e40b2ced3190815d2b58198194c38022fd", "fetched_at": "2026-08-28T17:52:34.409440+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/faq.html"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:16:24.769553+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "30f067821fc4e2baed63c2674fa7ab12d765efe6e28fcb6ca884cb2e0caaaa2b", "fetched_at": "2026-08-28T04:12:20.815173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/echarts"}, {"content_hash": "292f6d86718a8abf4ee3574b3f007615b82301d5f2b8339c91db28c48ae5648c", "fetched_at": "2026-08-28T17:52:34.391875+00:00", "kind": "homepage", "missing": false, "url": "https://echarts.apache.org"}, {"content_hash": "370cf71390ff09d63c68edfe9bb21c400e3752cdd156b595e2b6ab79af5393a9", "fetched_at": "2026-08-28T17:52:34.411345+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/echarts"}, {"content_hash": "752d27ca9a325105f175b970460c6a097be0a1432417f360fa63d0c6bd97abe8", "fetched_at": "2026-08-28T17:52:34.401093+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/feature.html"}, {"content_hash": "15197d519a65f5eeebc2d490e37ca8e31b75d131614a0102c207c286bc812081", "fetched_at": "2026-08-28T17:52:34.404304+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/changelog.html"}, {"content_hash": "4d54943cb0436814e95a67191b75c3e40b2ced3190815d2b58198194c38022fd", "fetched_at": "2026-08-28T17:52:34.409440+00:00", "kind": "site_page", "missing": false, "url": "https://echarts.apache.org/en/faq.html"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 96, "longevity": 100, "rhythm": 52}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4900, "days_push": 29, "days_rel": 106, "gap_med": 253.0, "n_releases_24m": 3}, "score": 81, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}