skillfed

streamlit-echarts

A Streamlit component to display ECharts.

streamlit-echarts v0.7.0 257.6K downloads/30d#8,440 on PyPI630
Permissive license MIT Active released

What it is and what it does

streamlit-echarts wraps the Apache ECharts JavaScript library as a Streamlit component, letting you embed rich, interactive charts directly into Streamlit apps. It accepts ECharts option dictionaries and renders them with support for theming, custom event handlers, and user interactions like point selection and canvas brushing. The package also provides a convenience wrapper for PyECharts chart instances, letting you convert existing PyECharts code to Streamlit with minimal changes.

The component is designed for developers building data dashboards and analytical apps who want chart interactivity beyond Streamlit's built-in plotting functions. It requires Python >= 3.10 and depends only on streamlit itself. You can optionally install the pyecharts extra to use the st_pyecharts wrapper, or work directly with ECharts option dictionaries for full control.

Use it for:

  • Build interactive dashboards with bar, line, scatter, and map visualizations that respond to user clicks and selections.
  • Render PyECharts chart instances directly in Streamlit without manual JSON conversion.
  • Add custom JavaScript event handlers to charts for advanced interactions like dynamic filtering or drill-down behavior.
  • Display geographic data using GeoJSON maps registered with the Map() helper.
  • Create responsive charts that adapt to different screen sizes and CSS dimensions.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Renders interactive ECharts visualizations in Streamlit apps, with support for custom themes, event handling, selection interactions, and optional PyECharts integration.

Yes. Low install friction, active maintenance, MIT license, no known vulnerabilities, and a single clean dependency make this a safe choice. Install it if you need ECharts interactivity in Streamlit; the API is straightforward and the component is stable enough for production dashboards.

Install

streamlit-echarts on PyPI

pip

pip install streamlit-echarts

uv

uv add streamlit-echarts

poetry

poetry add streamlit-echarts

Installing streamlit-echarts

Before you install

Low friction: pure Python wheel with a single runtime dependency on streamlit. Actively maintained with a recent release 67 days ago and steady commit activity.

License in practice

MIT license permits unrestricted use, modification, and distribution in both open-source and commercial projects with minimal obligations.

Quickstart

pip install streamlit-echarts

import streamlit as st
from streamlit_echarts import st_echarts

options = {
    "xAxis": {"type": "category", "data": ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]},
    "yAxis": {"type": "value"},
    "series": [{"data": [820, 932, 901, 934, 1290, 1330, 1320], "type": "bar"}],
}
st_echarts(options=options, height="400px")

Requires Python >= 3.10 and a working Streamlit environment.

Verify before relying

  • Whether the component handles large datasets without performance degradation.
  • Browser compatibility matrix and minimum supported browser versions.
  • Whether custom event handlers have access to the full ECharts API surface.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 1 — streamlit
Maintenance actively maintained — 67 days since the last release
Last repo commit
First released
Downloads 257,602/month — #8,440 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: streamlit_echarts-0.7.0-py3-none-any.whl

Development Status :: 4 - BetaEnvironment :: Web EnvironmentIntended Audience :: DevelopersProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Topic :: Scientific/Engineering :: Visualization

Tags

echarts streamlit componentinteractive charts streamlitdata visualization streamlitecharts python wrapperstreamlit charting libraryresponsive web chartsdashboard visualization
data-visualizationstreamlit-componentinteractive-charts

More Visualization packages