vl-convert-python
Convert Vega-Lite chart specifications to SVG, PNG, or Vega
Decision gist · record as of 2026-08-14
Yes, if you need to export Vega-Lite or Altair charts to static images without a browser or Node.js dependency. The package is dependency-free at runtime, has no known vulnerabilities, and works on common platforms. Install friction is moderate due to compiled wheels, but pre-built binaries are available. Maintenance is aging (205 days since last release, minimal repository activity), so expect slower response to issues, but the core functionality is stable.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python >=3.7; compiled wheels available for macOS (x86_64, ARM64), Linux (x86_64, ARM64), and Windows (x64) — other platforms may require building from source.
- Medium install friction due to compiled Rust bindings; wheels are available for common platforms (macOS x86_64 and ARM, Linux x86_64 and ARM64, Windows x64).
- Last release was 205 days ago; repository shows minimal activity (1 star, aging maintenance status).
License · maintenance · safety
BSD-3-Clause (permissive) — BSD-3-Clause is permissive; you can use, modify, and distribute this package freely in commercial and private projects provided you include the license notice.
last release 2026-01-21 (205 days) · last repo commit 2025-01-17 · 1 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,389,181 downloads/mo, #3,969 on PyPI
Alternatives
Verify before relying
pip install vl-convert-python
import vl_convert
vl_spec = '{"$schema": "https://vega.github.io/schema/vega-lite/v5.json", "mark": "circle"}'
svg_str = vl_convert.vegalite_to_svg(vl_spec=vl_spec)
png_data = vl_convert.vegalite_to_png(vl_spec=vl_spec)- Performance characteristics (conversion speed, memory usage) for large or complex charts
- Supported Vega-Lite schema versions and any known compatibility limits
- Quality and fidelity of PNG output at different scale factors
What it is and what it does
vl-convert-python is a Python wrapper around a Rust library that converts Vega-Lite visualization specifications into static images (SVG or PNG) or into lower-level Vega specifications. It runs Vega-Lite and Vega JavaScript libraries inside a v8 runtime, then handles font metrics and SVG-to-PNG conversion. The package is self-contained—it needs no external web browser, Node.js, or system dependencies beyond what the wheels provide.
You can use it to export charts from Altair (which generates Vega-Lite JSON) or from raw Vega-Lite specifications. The main functions convert a specification string and optional parameters like scale for PNG resolution or vl_version to target a specific Vega-Lite schema version.
Use it for
- Export Altair charts to PNG or SVG for embedding in reports, dashboards, or web pages without a live rendering engine
- Convert Vega-Lite JSON specifications to static images in batch processing or server-side workflows
- Generate chart images programmatically for automated document generation or email delivery
- Inspect the low-level Vega specification that Vega-Lite compiles to for debugging or further manipulation
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to export Vega-Lite or Altair charts to static images without a browser or Node.js dependency.
The package is dependency-free at runtime, has no known vulnerabilities, and works on common platforms. Install friction is moderate due to compiled wheels, but pre-built binaries are available. Maintenance is aging (205 days since last release, minimal repository activity), so expect slower response to issues, but the core functionality is stable.
Install
vl-convert-python on PyPI
Before you install
Medium install friction due to compiled Rust bindings; wheels are available for common platforms (macOS x86_64 and ARM, Linux x86_64 and ARM64, Windows x64). Last release was 205 days ago; repository shows minimal activity (1 star, aging maintenance status).
Requires Python >=3.7; compiled wheels available for macOS (x86_64, ARM64), Linux (x86_64, ARM64), and Windows (x64) — other platforms may require building from source.
License in practice
BSD-3-Clause is permissive; you can use, modify, and distribute this package freely in commercial and private projects provided you include the license notice.
Quickstart
pip install vl-convert-python
import vl_convert
vl_spec = '{"$schema": "https://vega.github.io/schema/vega-lite/v5.json", "mark": "circle"}'
svg_str = vl_convert.vegalite_to_svg(vl_spec=vl_spec)
png_data = vl_convert.vegalite_to_png(vl_spec=vl_spec)
Verify before relying
- Performance characteristics (conversion speed, memory usage) for large or complex charts
- Supported Vega-Lite schema versions and any known compatibility limits
- Quality and fidelity of PNG output at different scale factors
Package facts
| License | BSD-3-Clause permissive |
| Python support | Supports the current Python release >=3.7 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Aging 205 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,389,181 / month, #3,969 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Rust |
Evidence: vl_convert_python-1.9.0.post1-cp37-abi3-macosx_10_12_x86_64.whl; vl_convert_python-1.9.0.post1-cp37-abi3-macosx_11_0_arm64.whl; vl_convert_python-1.9.0.post1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; vl_convert_python-1.9.0.post1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; vl_convert_python-1.9.0.post1-cp37-abi3-win_amd64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “vega-lite to svg png conversion”
- vl-convert-pythonConverts Vega-Lite chart specifications to static SVG or PNG images,…
- altairAltair is a declarative Python library for creating interactive…
- CairoSVGCairoSVG converts SVG files to PDF, EPS, PS, and PNG formats using…
Give your agent the search over MCP, or paste the wish link into any chat.
More Graphics packages
Pillow adds image processing capabilities to Python, providing file format support, efficient pixel data handling, and image manipulation operations.
Install it if you need to work with images in Python—it is the de facto standard for this task.
fonttools manipulates font files in multiple formats (TrueType, OpenType, AFM, Type 1, Mac-specific) and includes TTX, a tool to convert fonts to and from XML text format.
Install it if you need to read, write, or manipulate fonts programmatically or via the TTX command-line tool.
Enables matplotlib figures to display inline directly within Jupyter notebooks and IPython environments instead of in separate windows.
PyMuPDF extracts, renders, converts, and manipulates PDF and other document formats (XPS, EPUB, images, Office files via Pro) with high performance, providing text, tables, images, and metadata with precise layout information.
The AGPL license requires careful review if you are building proprietary software—commercial licensing is available from Artifex.
pypdfium2 is a Python binding to PDFium that enables PDF rendering, inspection, manipulation, and creation through a ctypes interface to Google's PDFium library.
Install it if you need PDF rendering, inspection, or manipulation in Python; the medium install friction is offset by comprehensive platform support.
Altair is a declarative Python library for creating interactive statistical visualizations by writing simple, readable code that compiles to Vega-Lite specifications.
See also vtracer · vegafusion · vega-datasets · dvc-render · resvg_py · quickchart.io · altex · leather · CairoSVG