Seaborn

A Python statistical data visualization library built on matplotlib, for attractive charts with minimal code

Library
PyPI
v0.13.2
14,046 stars
BSD 3-Clause License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
72 /100 Good
Development Activity 48
Maintenance 56
Community 84
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
81 /100 Excellent
Architecture 82
Code Quality 85
Innovation 80
Learning Curve 78

Seaborn is a high-level Python data visualization library built on top of matplotlib, designed to make statistical graphics easy to produce. It provides a declarative API that works directly with pandas DataFrames, automatically handling aggregation, estimation, and mapping of variables to visual attributes like color, size, and style.

With built-in themes, color palettes, and support for complex multi-plot grids (facets), seaborn lets data scientists and analysts go from a raw DataFrame to a publication-quality statistical chart in a single function call, while still allowing fine-grained customization via the underlying matplotlib objects.

What You Get

  • High-level plotting functions for relational, categorical, and distributional data (scatter, line, bar, box, violin, histogram, KDE)
  • Automatic statistical estimation with confidence intervals for regression and aggregate plots
  • Built-in, colorblind-friendly color palettes and figure themes for consistent, attractive styling
  • Multi-plot grid objects (FacetGrid, PairGrid, JointGrid) for exploring relationships across subsets of data
  • A newer declarative objects interface for composing custom plots from smaller building blocks
  • Tight integration with pandas DataFrames and numpy arrays as first-class data inputs

Common Use Cases

  • Exploratory data analysis - quickly visualize distributions, correlations, and relationships in a new dataset
  • Statistical reporting - generate regression plots, box/violin plots, and confidence intervals for research papers or dashboards
  • Multi-variable comparison - use facet grids to compare a metric across categories, time, or experimental conditions
  • Publication-quality figures - produce polished, theme-consistent charts for papers, presentations, and notebooks with minimal styling code

Under The Hood

Architecture - Seaborn is organized around two layers: a set of high-level “figure-level” functions (relplot, catplot, displot, pairplot) that manage figure creation and faceting, and lower-level “axes-level” functions (scatterplot, boxplot, histplot) that draw onto a single matplotlib Axes. Internally, the _core subpackage (seaborn/_core/) implements a semantic mapping layer (scales.py, subplots.py, rules.py) that translates DataFrame columns into visual properties (color, size, style) and manages subplot layout, while _base.py and _statistics.py handle variable grouping and statistical estimation shared across plot types.

Tech Stack - Built in pure Python (99.97% of the codebase) targeting Python 3.10+, with hard dependencies on numpy (>=2.0), pandas (>=2.2), and matplotlib (>=3.9); optional stats extras pull in scipy and statsmodels for advanced estimators. The build uses flit_core as its backend and uv for dependency management in development.

Code Quality - The tests/ directory mirrors the library’s module structure with dedicated files per plot family (test_relational.py, test_categorical.py, test_distributions.py, etc.) plus a tests/_core/ suite for the internal scaling/layout engine, run via pytest with coverage reporting (pytest-cov) and parallelized via pytest-xdist. Code style is enforced with ruff and a ty type checker, and pre-commit hooks are provided for contributors, indicating a mature, actively maintained quality process.

API Design - The library favors a small number of consistent, keyword-driven entry points (data=, x=, y=, hue=) shared across nearly every plotting function, so patterns learned on one plot type transfer directly to others. The newer objects module offers a more composable, Grammar-of-Graphics-style API for users who outgrow the convenience functions, while extensive docstrings and an example gallery keep the learning curve manageable despite the breadth of statistical options.

Used by 6 apps in this directory

Python
92%
Apache 2.0

ART

AI Development

10,779

Give your LLM agents on-the-job training—ART lets you apply GRPO reinforcement learning to any multi-step agentic workflow with minimal code changes.

View details
85
Repo Health
82
Technical
73
Dependency
Built with
Python 92%
Updated 5 days ago
TypeScript
72%
MIT

Claude Context

AI Code Assistants · Mcp

12,573

An MCP server and VS Code extension by Zilliz that turns your entire codebase into semantically searchable context for Claude Code, Cursor, and Gemini CLI, using vector embeddings and Merkle-tree change detection.

View details
46
Repo Health
71
Technical
71
Dependency
Built with
TypeScript 72%
Python 13%
JavaScript 11%
Updated 2 months ago
Python
100%
Apache 2.0

ClearML

Automation · Devops

6,892

Auto-magical MLOps platform that tracks experiments, versions data, orchestrates pipelines, and serves models with just two lines of code.

View details
94
Repo Health
79
Technical
68
Dependency
Built with
Python 100%
Updated 1 weeks ago
TypeScript
84%
Apache 2.0

Continue

AI Code Assistants · AI Development · Automation

36,049

Open-source coding agent for VS Code, JetBrains, and CLI with support for 30+ LLM providers.

View details
73
Repo Health
88
Technical
62
Dependency
Built with
TypeScript 84%
Updated 5 days ago
TypeScript
59%
MIT

oh-my-claudecode

AI Agents

39,383

Multi-agent orchestration for Claude Code with zero learning curve — install as a plugin or npm CLI and coordinate parallel Claude Code agents through pre-built workflows instead of managing them by hand.

View details
85
Repo Health
70
Technical
76
Dependency
Built with
TypeScript 59%
JavaScript 40%
Updated 4 days ago
Python
94%
BSD 3

skrub

Developer Tools

1,653

Turn messy real-world dataframes into machine learning features — no manual wrangling required.

View details
86
Repo Health
84
Technical
80
Dependency
Built with
Python 94%
Updated 1 weeks ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers