# Panel

> Open-source Python library for building interactive dashboards, data apps, and web applications entirely in Python.

Panel is an open-source Python library from the HoloViz ecosystem for building dashboards, data tools, and web apps in Python. Widgets, plots, and layouts are ordinary Python objects connected to data and models. The current release is version 1.9.4, and the project is licensed under BSD 3-Clause.

## What It Is

Panel is a data exploration and web app framework. Developers create controls, define plots or functions, connect them with reactive bindings such as `pn.bind`, and arrange the result in layouts and templates. The same code renders in a notebook cell and serves as an app with `panel serve app.py`. According to the README, when a control changes, Panel runs only the code connected to it rather than rerunning an entire script.

## Components and Plotting Support

The README describes more than 130 components, including Tabulator tables, chat interfaces, a terminal, and Perspective pivot tables. Panes display output from Matplotlib, Plotly, Bokeh, hvPlot and HoloViews, Altair and Vega, ECharts, Deck.gl, Vizzu, VTK, Folium, and ipywidgets. Layouts, indicators, and templates help assemble polished apps.

## Structuring Apps as They Grow

Simple apps can bind functions to widgets, while larger ones can use reusable components built on Param with declared parameters and dependencies. Custom components can be written in React, Vue, or JavaScript, as well as through AnyWidget and ESM components.

## From Notebook to Deployment

Apps can be developed in Jupyter, JupyterLab, VS Code, Colab, marimo, or an editor with `panel serve app.py --dev` for reload. For production, the docs cover authentication (OAuth, basic, PAM), caching, threading, load balancing, Dask scaling, and integration with FastAPI, Flask, and Django. Compatible apps can run entirely in the browser via WebAssembly using `panel convert`. Deployment guides cover AWS, Azure, GCP, Hugging Face, Heroku, and others.

## AI-Related Tooling

The README points to HoloViz skills that give coding assistants guidance for building, reviewing, debugging, and testing Panel apps, and to Lumen, which adds a chat assistant that adjusts an app's filters and views through plain-language requests.

## Features
- Reactive APIs with pn.bind and reactive expressions
- Declarative component API built on Param
- 130+ widgets, panes, layouts, indicators and templates
- Tabulator tables and Perspective pivot tables
- Chat interface components
- Custom components in React, Vue, JavaScript, AnyWidget and ESM
- Live data streaming and async callbacks
- Authentication with OAuth, basic and PAM
- Caching, threading and Dask scaling
- Run apps in the browser with WebAssembly
- Notebook and editor development with hot reload
- Export and embedding of apps

## Integrations
Matplotlib, Plotly, Bokeh, HoloViews, hvPlot, Altair, Vega, ECharts, Deck.gl, VTK, Folium, ipywidgets, FastAPI, Flask, Django, Jupyter, JupyterLab, VS Code, Google Colab, marimo, Dask, Lumen, Hugging Face, Pyodide, PyScript

## Platforms
LINUX, WEB, API, VSC_EXTENSION, JETBRAINS_PLUGIN, DEVELOPER_SDK, CLI

## Pricing
Open Source

## Version
1.9.4

## Links
- Website: https://panel.holoviz.org
- Documentation: https://panel.holoviz.org/getting_started/index.html
- Repository: https://github.com/holoviz/panel
- EveryDev.ai: https://www.everydev.ai/tools/panel
