Skip to main content

A high level dashboarding library for python visualization libraries.

Project description



A high-level app and dashboarding solution for Python

Build Status Linux/MacOS Build Status Windows Build status
Coverage codecov
Latest dev release Github tag
Latest release Github release PyPI version panel version conda-forge version defaults version
Docs gh-pages site

What is it?

Panel provides tools for easily composing widgets, plots, tables, and other viewable objects and controls into control panels, apps, and dashboards. Panel works with visualizations from Bokeh, Matplotlib, HoloViews, and other Python plotting libraries, making them instantly viewable either individually or when combined with interactive widgets that control them. Panel works equally well in Jupyter Notebooks, for creating quick data-exploration tools, or as standalone deployed apps and dashboards, and allows you to easily switch between those contexts as needed.

Panel makes it simple to make:

  • Plots with user-defined controls
  • Property sheets for editing parameters of objects in a workflow
  • Control panels for simulations or experiments
  • Custom data-exploration tools
  • Dashboards reporting key performance indicators (KPIs) and trends
  • Data-rich Python-backed web servers
  • and anything in between

Panel objects are reactive, immediately updating to reflect changes to their state, which makes it simple to compose viewable objects and link them into simple, one-off apps to do a specific exploratory task. The same objects can then be reused in more complex combinations to build more ambitious apps, while always sharing the same code that works well on its own.

Attractors
Gapminders
NYC Taxi
Glaciers
Portfolio Optimizer

Using Panel for declarative, reactive programming

Panel can also be used with the separate Param project to create interactively configurable objects with or without associated visualizations, in a fully declarative way. With this approach, you declare your configurable object using the pure-Python, zero-dependency param library, annotating your code with parameter ranges, documentation, and dependencies between parameters and your code. Using this information, you can make all of your domain-specific code be optionally configurable in a GUI, with optional visual displays and debugging information if you like, all with just a few lines of declarations. With this approach, you don't ever have to commit to whether your code will be used in a notebook, in a GUI app, or completely behind the scenes in batch processing or reports -- the same code can support all of these cases equally well, once you declare the associated parameters and constraints. This approach lets you completely separate your domain-specific code from anything to do with web browsers, GUI toolkits, or other volatile technologies that would otherwise make your hard work become obsolete as they change over time.

About HoloViz

Panel is part of the HoloViz family of tools. The HoloViz website shows how to use Panel together with other libraries to solve complex problems, with detailed tutorials and examples. For a list of examples building on this set of tools (including Panel) see examples.pyviz.org

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-0.7.0.tar.gz (936.2 kB view details)

Uploaded Source

Built Distribution

panel-0.7.0-py2.py3-none-any.whl (800.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file panel-0.7.0.tar.gz.

File metadata

  • Download URL: panel-0.7.0.tar.gz
  • Upload date:
  • Size: 936.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0.post20191101 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.7

File hashes

Hashes for panel-0.7.0.tar.gz
Algorithm Hash digest
SHA256 71d446f469b424cb190bc896e78d0415b2bbebf17c6e5b024ed1a73b4448f8f4
MD5 56d912617895ea0e5db8d79b7a184fa1
BLAKE2b-256 e64c180c98f231306d33472e2695116bb24eba2bbff90c31aaf0540307b51eeb

See more details on using hashes here.

File details

Details for the file panel-0.7.0-py2.py3-none-any.whl.

File metadata

  • Download URL: panel-0.7.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 800.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0.post20191101 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.7

File hashes

Hashes for panel-0.7.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 12d499ed981fe38e3f8d82b112372ae8724fc8760d3acd2435874b2b05b2a042
MD5 0cc334542b957d591366e6c1c384ccd0
BLAKE2b-256 618d6bad8d9e2eb0e9e3dc98a92140ae7f7e324b5f38fcd78682908e7056e7fc

See more details on using hashes here.

Supported by

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