Skip to main content

The powerful data exploration & web app framework for Python.

Project description

Panel logo -- text is white in dark theme and black in light theme

Panel: The powerful data exploration & web app framework for Python

Panel is an open-source Python library that lets you easily build powerful tools, dashboards and complex applications entirely in Python. It has a batteries-included philosophy, putting the PyData ecosystem, powerful data tables and much more at your fingertips. High-level reactive APIs and lower-level callback based APIs ensure you can quickly build exploratory applications, but you aren't limited if you build complex, multi-page apps with rich interactivity. Panel is a member of the HoloViz ecosystem, your gateway into a connected ecosystem of data exploration tools.


Enjoying Panel? Show your support with a Github star — it’s a simple click that means the world to us and helps others discover it too! ⭐️


Downloads PyPi Downloads Conda Downloads
Build Status Linux/MacOS Build Status
Coverage codecov
Latest dev release Github tag dev-site
Latest release Github release PyPI version panel version conda-forge version defaults version
Docs gh-pages site site
Notebooks dev-site
Support Discourse Discord

Home | Installation instructions | Getting Started Guide | Reference Guides | Examples | License | Support

Panel works with the tools you know and love

Panel makes it easy to combine widgets, plots, tables and other viewable Python objects into custom analysis tools, applications, and dashboards.

Panel NYC Taxi Linked Brushing


Panel works really well with the visualization tools you already know and love like Altair/ Vega, Bokeh, Datashader, Deck.gl/ pydeck, Echarts/ pyecharts, Folium, HoloViews, hvPlot, plotnine, Matplotlib, Plotly, PyVista/ VTK, Seaborn and more. Panel also works with the ipywidgets ecosystem.

Pythons DataViz works with Panel

Panel provides bi-directional communication making it possible to react to clicks, selections, hover etc. events.

Vega Selections

You can develop in Jupyter Notebooks as well as editors like VS Code, PyCharm or Spyder.

Panel provides a unique combination of deployment options. You can share your data and models as

  • a web application running on the Tornado (default), Flask, Django or Fast API web server.
  • a stand alone client side application powered by Pyodide or PyScript via panel convert.
  • an interactive Jupyter notebook component.
  • a static .html web page, a .gif video, a .png image and more.

Panel has something to offer for every one from beginner to data pro.

Panel is a member of the HoloViz ecosystem

Panel is a member of the ambitious HoloViz dataviz ecosystem and has first class support for the other members like hvPlot (simple .hvplot plotting api), HoloViews (powerful plotting api), and Datashader (big data viz).

Panel is built on top of Param. Param enables you to annotate your code with parameter ranges, documentation, and dependencies between parameters and code. With this approach,

  • you don't ever have to commit to whether your code will be used in a notebook, a data app, in batch processing, or reports.
  • you will write less code and be able to develop large, maintainable code bases!

Mini getting-started

Head over to the getting started guide for more!

Installation Instructions

Panel can be installed on Linux, Windows, or Mac with conda:

conda install panel

or with pip:

pip install panel

See the Environments section below for additional instructions for your environment.

Interactive data apps

Bring your data or model

def model(n=5):
    return "⭐"*n

Bind it to a Panel widget and lay it out.

import panel as pn

pn.extension()

slider = pn.widgets.IntSlider(value=5, start=1, end=5)

interactive_model = pn.bind(model, n=slider)

layout = pn.Column(slider, interactive_model)

Panel Notebook Example

For deployment on a web server wrap it in a nice template.

pn.template.FastListTemplate(
    site="Panel", title="Example", main=[layout],
).servable()

Start the server with

panel serve name_of_script.py --show

or

panel serve name_of_notebook.ipynb --show

Panel Example App

Examples

Panel Gallery

Panel Chat Examples

Awesome Panel Gallery

HoloViz Examples Gallery

Get started

Develop applications in your favorite notebook or editor environment, including Jupyter(Lab) notebooks, VSCode, Google Colab and many more, see our getting started guide for more details.

Support & Feedback

For more detail check out the HoloViz Community Guide.

Contributing ❤️

Check out the Contributing Guide.

License

Panel is completely free and open-source. It is licensed under the BSD 3-Clause License.

Sponsors

The Panel project is also very grateful for the sponsorship by the organizations and companies below:

Anaconda Logo Blackstone Logo NumFOCUS Logo Quansight Logo

Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

panel-1.9.0rc0.tar.gz (32.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

panel-1.9.0rc0-py3-none-any.whl (30.3 MB view details)

Uploaded Python 3

File details

Details for the file panel-1.9.0rc0.tar.gz.

File metadata

  • Download URL: panel-1.9.0rc0.tar.gz
  • Upload date:
  • Size: 32.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for panel-1.9.0rc0.tar.gz
Algorithm Hash digest
SHA256 85ffcf554358e95ed32b4a08ba73c5b3cf3138e4f25a5ad22a6a0baa8f99b8ec
MD5 2d07af08b181a53249e763fe1ce2f213
BLAKE2b-256 ea2dd9f9fc19efdd6589d0169bd11d21d0f59f81358ddeac1b0b3166f37f05cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for panel-1.9.0rc0.tar.gz:

Publisher: build.yaml on holoviz/panel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file panel-1.9.0rc0-py3-none-any.whl.

File metadata

  • Download URL: panel-1.9.0rc0-py3-none-any.whl
  • Upload date:
  • Size: 30.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for panel-1.9.0rc0-py3-none-any.whl
Algorithm Hash digest
SHA256 6aa978497dbb382aa9ef1977d9fbe355f5ba9bc8526f32f533cb94ead0c7223c
MD5 9f02cb412a91d0f4c35f891613aad021
BLAKE2b-256 15fb4e0ddc19f7be442fc8418b34bda4556eb4ee2a0b1a66d0157ca39d1ad00f

See more details on using hashes here.

Provenance

The following attestation bundles were made for panel-1.9.0rc0-py3-none-any.whl:

Publisher: build.yaml on holoviz/panel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page