Skip to main content

Rancero to Inherit Development of Vizly

· 3 min read

We're excited to announce that Rancero is inheriting development and future support for Vizly, a fully themable, low-boilerplate Python charting library built on Apache ECharts.

Vizly lets you ship production-quality charts in a few lines of Python code - just pass a DataFrame to vz.line(), vz.bar(), or any of the 39 registered chart types and export with to_html() or to_option(). No nested option builders, no configuration headaches.

Why Vizly matters

Data visualization is critical for every modern application - whether you're building dashboards, monitoring infrastructure, analyzing financial markets, or embedding charts into customer-facing products. Vizly makes this trivially easy without sacrificing power or performance.

  • 39 chart types - Cartesian (line, bar, area, scatter), statistical (boxplot, heatmap, parallel), financial (candlestick, kline), geo (map, geo), relational (graph, sankey, tree), hierarchical (sunburst, treemap), 3D (bar3d, line3d, scatter3d, surface3d), and compose (page, tab, timeline, grid).
  • Easy to use - Set a theme, call vz.bar(df, x='region', y='sales', title='Sales'), done.
  • Highly performant - Vendored JS by default; GL and plugins load only when needed.
  • Native framework integrations - Streamlit, FastAPI, Flask, Django, HTMX, and Jupyter.
  • 8 built-in themes - default, light, dark, corporate, minimal, contrast, plus ops-inspired themes (ops_grafana, ops_cloudwatch, ops_kibana).
  • Worldwide maps by default - Bundled world atlas plus USA states.

Framework compatibility

Vizly ships with first-class integrations for the Python web ecosystem:

  • Streamlit - Single-chart st_vizly() and multi-chart st_dashboard() with a single ECharts iframe.
  • FastAPI - html_response(), json_response(), and dashboard_response() for endpoints.
  • Flask - chart_html() fragments and dashboard_response() for Jinja templates.
  • Django - Template tags {% vizly_chart %}, {% vizly_assets %}, and {% vizly_dashboard %}.
  • HTMX - Fragment swapping with htmx_chart_fragment() and smart full-page fallback.
  • Jupyter - Native _repr_html_() rendering in notebooks.

Critical use cases

DomainVizly chart typesExample
Ops monitoringline, area, gauge, heatmap, mapCPU/memory dashboards, request latency tracking
Financial analysiscandlestick, kline, combo, waterfallPrice action, P&L bridges, ARR waterfalls
Sales analyticsbar, pie, donut, funnel, mapRevenue by region, pipeline stages, segment mix
Data sciencescatter, boxplot, parallel, radarDistribution analysis, feature comparison
Hierarchical datasunburst, treemap, tree, sankeyProduct trees, budget allocation, user flow
Geographicmap, geoStore locations, demand heat maps
Dashboardspage, tab, timeline, gridMulti-chart views with one ECharts load

"Charts in a DataFrame in, HTML or JSON out. No nested option builders."

Vizly will be included in the Rancero platform natively, and we're committed to supporting and developing the library with community contributions.

For full documentation, visit our Vizly documentation.

Try it out: The package is published on PyPI as vizly. Imports use vz (e.g. import vizly as vz).

pip install vizly

With framework extras:

pip install vizly[streamlit,fastapi,flask,django]