altair
Vega-Altair: A declarative statistical visualization library for Python.
Decision gist · record as of 2026-08-14
Yes. Altair is a mature, actively maintained library with no security issues, low install friction, and a permissive license. It is well-suited for anyone doing exploratory data analysis or building interactive visualizations in Python, especially in Jupyter environments. The declarative API is more readable and less error-prone than imperative plotting libraries for most statistical graphics tasks.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low install friction with a pure-Python wheel distribution.
- The package is actively maintained with a recent release and has been in production use since 2016.
- All five runtime dependencies are lightweight and widely used.
License · maintenance · safety
permissive license (permissive) — BSD 3-Clause permissive license allows commercial and private use with minimal restrictions; you must retain copyright and license notices in redistributions.
last release 2026-06-23 (52 days) · last repo commit 2026-08-13 · 10,451 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 54,458,936 downloads/mo, #543 on PyPI
Alternatives
Verify before relying
import altair as alt
from altair.datasets import data
cars = data.cars()
alt.Chart(cars).mark_point().encode(
x='Horsepower',
y='Miles_per_Gallon',
color='Origin'
)- Whether narwhals integration enables lazy evaluation or other dataframe-agnostic features beyond what the description states.
- Specific performance characteristics when rendering large datasets or complex interactive specifications.
What it is and what it does
Altair is a Python wrapper around the Vega-Lite declarative visualization grammar, letting you build interactive statistical charts by describing what you want to see rather than how to draw it. You write simple, readable Python code that specifies data encodings (which columns map to which visual properties), marks (points, bars, lines), and interactions (selections, filters, linked views), and Altair compiles your specification into JSON that Vega-Lite renders in Jupyter notebooks, VS Code, GitHub, and browsers.
The library depends on jinja2 for templating, jsonschema for validation, packaging for version handling, typing-extensions for type hints, and narwhals for dataframe abstraction. It supports modern Python versions (3.10 through 3.14) and is actively maintained with no known security vulnerabilities. The API is designed to be intuitive and consistent, making it accessible for exploratory data analysis while remaining powerful enough for publication-quality visualizations.
Use it for
- Build interactive scatter plots, histograms, and bar charts in Jupyter notebooks for exploratory data analysis without writing rendering code.
- Create linked visualizations where selections in one chart filter or highlight data in another, enabling interactive drill-down exploration.
- Export statistical graphics as PNG, SVG, or standalone HTML for reports, presentations, or web embedding.
- Prototype data-driven dashboards and interactive applications that run in notebooks or web environments.
- Serialize visualization specifications as JSON for programmatic manipulation or sharing with non-Python tools.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Altair is a mature, actively maintained library with no security issues, low install friction, and a permissive license. It is well-suited for anyone doing exploratory data analysis or building interactive visualizations in Python, especially in Jupyter environments. The declarative API is more readable and less error-prone than imperative plotting libraries for most statistical graphics tasks.
Install
altair on PyPI
Before you install
Low install friction with a pure-Python wheel distribution. The package is actively maintained with a recent release and has been in production use since 2016. All five runtime dependencies are lightweight and widely used.
License in practice
BSD 3-Clause permissive license allows commercial and private use with minimal restrictions; you must retain copyright and license notices in redistributions.
Quickstart
import altair as alt
from altair.datasets import data
cars = data.cars()
alt.Chart(cars).mark_point().encode(
x='Horsepower',
y='Miles_per_Gallon',
color='Origin'
)
Verify before relying
- Whether narwhals integration enables lazy evaluation or other dataframe-agnostic features beyond what the description states.
- Specific performance characteristics when rendering large datasets or complex interactive specifications.
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 5 packagesjinja2jsonschemanarwhalspackagingtyping-extensions |
| Maintenance | Actively maintained 52 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 54,458,936 / month, #543 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: Science/ResearchLicense :: OSI Approved :: BSD LicenseNatural Language :: EnglishProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Typing :: Typed |
Evidence: altair-6.2.2-py3-none-any.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 › “declarative visualization python”
- altairAltair is a declarative Python library for creating interactive…
- ggplotggplot is a Python implementation of the grammar of graphics that…
- bqscalesbqscales implements a grammar-of-graphics layer for creating…
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.
ImageIO reads and writes images and video in over 295 formats, including animated images, volumetric data, and scientific formats, with a simple unified API backed by NumPy and Pillow.
Install it if you need to read or write images and video in your Python application—the unified API and format support will save you from wrestling with multiple…
See also vegafusion · vl-convert-python · altex · dvc-render · vega-datasets · ggplot · plotly · bqscales · bqplot · plotnine