Rancero to Inherit Development of Vizly
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-chartst_dashboard()with a single ECharts iframe. - FastAPI -
html_response(),json_response(), anddashboard_response()for endpoints. - Flask -
chart_html()fragments anddashboard_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
| Domain | Vizly chart types | Example |
|---|---|---|
| Ops monitoring | line, area, gauge, heatmap, map | CPU/memory dashboards, request latency tracking |
| Financial analysis | candlestick, kline, combo, waterfall | Price action, P&L bridges, ARR waterfalls |
| Sales analytics | bar, pie, donut, funnel, map | Revenue by region, pipeline stages, segment mix |
| Data science | scatter, boxplot, parallel, radar | Distribution analysis, feature comparison |
| Hierarchical data | sunburst, treemap, tree, sankey | Product trees, budget allocation, user flow |
| Geographic | map, geo | Store locations, demand heat maps |
| Dashboards | page, tab, timeline, grid | Multi-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]
