skillfed

kaleido

Plotly graph export library

kaleido v1.3.0 11.5M downloads/30d#1,384 on PyPI495
License unclear The MIT License (MIT) Copyright (c) Plotly, Inc Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to… (full text in the JSON record) Active released

What it is and what it does

Kaleido is a cross-platform library that converts figures into static image files in formats like PNG, SVG, and PDF. It is primarily designed to work with Plotly.py but can also be used directly in Python code. The library uses Chrome as its rendering engine, which must be installed separately on the system; Kaleido provides tooling to obtain a compatible Chrome version if needed.

The package offers both async and synchronous APIs for image generation. You can create a Kaleido instance to manage multiple concurrent exports with configurable process counts and timeouts, or use shortcut functions for simpler one-off exports. Image options such as scale, format, width, and height can be customized, and error handling can be configured to either halt on the first failure or collect errors and continue processing.

Use it for:

  • Export dashboards and visualizations to static images for reports, presentations, or archival.
  • Batch-convert multiple figures to PNG or PDF in parallel using the async API with configurable worker processes.
  • Generate publication-ready charts in SVG or PDF format with custom dimensions and scaling for documents.
  • Automate static image export in CI/CD pipelines or server-side applications.
  • Create static snapshots of visualizations for embedding in web pages or email.

Worth the install?

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

Kaleido generates static images (PNG, SVG, PDF, etc.) from figures, primarily for use with Plotly.py. It requires Chrome to be installed on the system.

Yes. Kaleido is actively maintained, has low install friction, carries no security vulnerabilities, and is widely used (top_5000 tier). It solves a specific, well-defined problem—exporting figures to static images—with a straightforward API. The main prerequisite is Chrome installation, which is clearly documented and can be automated. Install it if you need to export visualizations to static formats.

Install

kaleido on PyPI

pip

pip install kaleido

uv

uv add kaleido

poetry

poetry add kaleido

Installing kaleido

Before you install

Low install friction with a pure-Python wheel. Maintenance is active with recent releases. The main runtime requirement is Chrome, which must be installed separately; Kaleido provides a command-line tool and Python function to install a compatible version if needed.

License in practice

Licensed under the MIT License, which permits free use, modification, and redistribution with minimal restrictions. No notable licensing constraints for typical use.

Quickstart

import asyncio
import kaleido

async def export():
  async with kaleido.Kaleido(n=4, timeout=90) as k:
    await k.write_fig(fig, path="./", opts={"format":"jpg"})

asyncio.run(export())

Chrome must be installed on the system. If not present, run `kaleido_get_chrome` or call `kaleido.get_chrome_sync()` in Python to install a compatible version.

Verify before relying

  • Whether the four runtime dependencies (choreographer, logistro, orjson, packaging) are internal utilities or external packages with their own maintenance status.
  • Performance characteristics when processing large batches of figures or high-resolution exports.
  • Compatibility with headless environments or containerized deployments beyond the Chrome requirement.

Package facts

License The MIT License (MIT) Copyright (c) Plotly, Inc Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to… (full text in the JSON record) (unclear)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies 4 — choreographer, logistro, orjson, packaging
Maintenance actively maintained — 102 days since the last release
Last repo commit
First released
Downloads 11,538,259/month — #1,384 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: kaleido-1.3.0-py3-none-any.whl

Tags

static image exportconvert figures to png pdf svgfigure renderinggenerate static chartsgraph exportimage generation
image-exportasync-rendering

More Graphics packages