{ "info": { "author": "PyViz developers", "author_email": "developers@pyviz.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Scientific/Engineering", "Topic :: Software Development :: Libraries" ], "description": "
\n\n-----------------\n\n# A high-level app and dashboarding solution for Python\n\n| | |\n| --- | --- |\n| Build Status | [![Linux/MacOS Build Status](https://travis-ci.org/pyviz/panel.svg?branch=master)](https://travis-ci.org/pyviz/panel) [![Windows Build status](https://img.shields.io/appveyor/ci/pyviz/panel/master.svg)](https://ci.appveyor.com/project/pyviz/panel/branch/master) |\n| Coverage | [![codecov](https://codecov.io/gh/pyviz/panel/branch/master/graph/badge.svg)](https://codecov.io/gh/pyviz/panel) |\n| Latest dev release | [![Github tag](https://img.shields.io/github/tag/pyviz/panel.svg?label=tag&colorB=11ccbb)](https://github.com/pyviz/panel/tags) |\n| Latest release | [![Github release](https://img.shields.io/github/release/pyviz/panel.svg?label=tag&colorB=11ccbb)](https://github.com/pyviz/panel/releases) [![PyPI version](https://img.shields.io/pypi/v/panel.svg?colorB=cc77dd)](https://pypi.python.org/pypi/panel) [![panel version](https://img.shields.io/conda/v/pyviz/panel.svg?colorB=4488ff&style=flat)](https://anaconda.org/pyviz/panel) [![conda-forge version](https://img.shields.io/conda/v/conda-forge/panel.svg?label=conda%7Cconda-forge&colorB=4488ff)](https://anaconda.org/conda-forge/panel) [![defaults version](https://img.shields.io/conda/v/anaconda/panel.svg?label=conda%7Cdefaults&style=flat&colorB=4488ff)](https://anaconda.org/anaconda/panel) |\n| Docs | [![gh-pages](https://img.shields.io/github/last-commit/pyviz/panel/gh-pages.svg)](https://github.com/pyviz/panel/tree/gh-pages) [![site](https://img.shields.io/website-up-down-green-red/http/panel.pyviz.org.svg)](https://panel.pyviz.org) |\n\n\n## What is it?\n\nPanel 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](https://bokeh.pydata.org), [Matplotlib](matplotlib.org), [HoloViews](https://holoviews.org), 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](http://jupyter.org), for creating quick data-exploration tools, or as standalone deployed apps and dashboards, and allows you to easily switch between those contexts as needed.\n\nPanel makes it simple to make:\n\n- Plots with user-defined controls\n- Property sheets for editing parameters of objects in a workflow\n- Control panels for simulations or experiments\n- Custom data-exploration tools\n- Dashboards reporting key performance indicators (KPIs) and trends\n- Data-rich Python-backed web servers\n- and anything in between\n\nPanel 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.\n\n \n \n \n \n \n \n \n
Interact
Gapminders
NYC Taxi
Glaciers
\n\n## Using Panel for declarative, reactive programming\n\nPanel can also be used with the separate [Param](https://param.pyviz.org) 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.\n\n## About PyViz\n\nPanel is part of the PyViz initiative for making Python-based visualization tools work well together.\nSee [pyviz.org](https://pyviz.org) for related packages that you can use with Panel and\n[status.pyviz.org](https://status.pyviz.org) for the current status of each PyViz project.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pyviz.org", "keywords": "", "license": "BSD", "maintainer": "PyViz", "maintainer_email": "developers@pyviz.org", "name": "panel", "package_url": "https://pypi.org/project/panel/", "platform": "Windows", "project_url": "https://pypi.org/project/panel/", "project_urls": { "Homepage": "http://pyviz.org" }, "release_url": "https://pypi.org/project/panel/0.6.4/", "requires_dist": [ "bokeh (>=1.3.0)", "param (>=1.9.0)", "pyviz-comms (>=0.7.2)", "markdown", "pyct (>=0.4.4)", "altair ; extra == 'all'", "codecov ; extra == 'all'", "coveralls ; extra == 'all'", "datashader ; extra == 'all'", "flake8 ; extra == 'all'", "holoviews (>=1.12.0) ; extra == 'all'", "hvplot ; extra == 'all'", "lxml ; extra == 'all'", "matplotlib ; extra == 'all'", "nbsite (>=0.6.1) ; extra == 'all'", "nbsmoke (>=0.2.0) ; extra == 'all'", "nose ; extra == 'all'", "notebook (>=5.4) ; extra == 'all'", "parameterized ; extra == 'all'", "phantomjs ; extra == 'all'", "pillow ; extra == 'all'", "plotly ; extra == 'all'", "pytest ; extra == 'all'", "pytest-cov (==2.5.1) ; extra == 'all'", "scikit-learn ; extra == 'all'", "scipy ; extra == 'all'", "selenium ; extra == 'all'", "sphinx (<2) ; extra == 'all'", "sphinx-ioam-theme ; extra == 'all'", "vega-datasets ; extra == 'all'", "vtk (==8.1.1) ; extra == 'all'", "param (>=1.9.0) ; extra == 'build'", "pyct (>=0.4.4) ; extra == 'build'", "setuptools (>=30.3.0) ; extra == 'build'", "bokeh (>=1.1.0) ; extra == 'build'", "pyviz-comms (>=0.6.0) ; extra == 'build'", "nodejs (>=9.11.1) ; extra == 'build'", "notebook (>=5.4) ; extra == 'doc'", "holoviews (>=1.12.0) ; extra == 'doc'", "matplotlib ; extra == 'doc'", "pillow ; extra == 'doc'", "plotly ; extra == 'doc'", "nbsite (>=0.6.1) ; extra == 'doc'", "sphinx-ioam-theme ; extra == 'doc'", "sphinx (<2) ; extra == 'doc'", "selenium ; extra == 'doc'", "phantomjs ; extra == 'doc'", "lxml ; extra == 'doc'", "notebook (>=5.4) ; extra == 'recommended'", "holoviews (>=1.12.0) ; extra == 'recommended'", "matplotlib ; extra == 'recommended'", "pillow ; extra == 'recommended'", "plotly ; extra == 'recommended'", "coveralls ; extra == 'tests'", "nose ; extra == 'tests'", "flake8 ; extra == 'tests'", "parameterized ; extra == 'tests'", "pytest ; extra == 'tests'", "scipy ; extra == 'tests'", "nbsmoke (>=0.2.0) ; extra == 'tests'", "pytest-cov (==2.5.1) ; extra == 'tests'", "codecov ; extra == 'tests'", "hvplot ; extra == 'tests'", "plotly ; extra == 'tests'", "altair ; extra == 'tests'", "vega-datasets ; extra == 'tests'", "vtk (==8.1.1) ; extra == 'tests'", "scikit-learn ; extra == 'tests'", "datashader ; extra == 'tests'" ], "requires_python": ">=2.7", "summary": "A high level dashboarding library for python visualization libraries.", "version": "0.6.4" }, "last_serial": 5946099, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "88b20b5021687d84579a96f6718cd454", "sha256": "a6e5136990aee93479f2a204b83f281b92789249376169b3c6fc86282a733c14" }, "downloads": -1, "filename": "panel-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "88b20b5021687d84579a96f6718cd454", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 2479, "upload_time": "2018-08-24T12:16:38", "url": "https://files.pythonhosted.org/packages/08/5f/3411ee22f9f10d76389607184346d6214848e5e9af2b7d60b49ffe5c4fd8/panel-0.0.1-py3-none-any.whl" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "6278b4c984366e2fd6759434c135d50e", "sha256": "bb8a38dfd712786dccd21247003e015cccbae4b101ba5a1e0a5e53b804ac87ca" }, "downloads": -1, "filename": "panel-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6278b4c984366e2fd6759434c135d50e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 132118, "upload_time": "2018-12-05T02:37:17", "url": "https://files.pythonhosted.org/packages/37/50/f82907848de617d3fa282ccd080e64ffa15d2dfb6320c31fa79fae807850/panel-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "929857d2862bb51eb5ef9cdbbaf592cb", "sha256": "03ba48ab7a3ac0d0a3e4407c206e9425c74582c1ad3e8e61004145f84ca8ffde" }, "downloads": -1, "filename": "panel-0.3.0.tar.gz", "has_sig": false, "md5_digest": "929857d2862bb51eb5ef9cdbbaf592cb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 115932, "upload_time": "2018-12-05T02:37:19", "url": "https://files.pythonhosted.org/packages/1a/68/74b51b8bc1581c912de45900d92fcc3703f2bb86195c959211965ab7e5eb/panel-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "84c07edac5a1f80b0ad92f36c06a3321", "sha256": "bf47258ca70c83b834b83081f639089fb1618907b2f20a0df79cb5153d6784e8" }, "downloads": -1, "filename": "panel-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "84c07edac5a1f80b0ad92f36c06a3321", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 159209, "upload_time": "2018-12-05T23:13:05", "url": "https://files.pythonhosted.org/packages/ff/b8/a89739de363ef4f1a5c9df73dbff2f6d2a296b010369a2dc3db88fe250bc/panel-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "693b3bcf757fc2a3192732edbe568a4d", "sha256": "576802d2bdc54f9d4ad98e255b819cbeb4cb2dfc804de7107bccd4514d868a6d" }, "downloads": -1, "filename": "panel-0.3.1.tar.gz", "has_sig": false, "md5_digest": "693b3bcf757fc2a3192732edbe568a4d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 168792, "upload_time": "2018-12-05T23:13:07", "url": "https://files.pythonhosted.org/packages/7c/69/46f6d6d8ed370215b0497d91c471ee74745c04cdd515f6f684a910cd4d4d/panel-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "57d6d988178be7dd6ac47e104f73e445", "sha256": "43b58ef188e85ba0a514a0c6126217041173c077e9ad83beeb6fd388f9833e72" }, "downloads": -1, "filename": "panel-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "57d6d988178be7dd6ac47e104f73e445", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 183469, "upload_time": "2019-01-28T18:27:02", "url": "https://files.pythonhosted.org/packages/95/de/ff325fe4c26ec325cbc5c81dcaa9cc96bd33323070d8d87df83eb24c3ae1/panel-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "31aa3d01cb8c589631169f292c102804", "sha256": "21fc6729909dba4ba8c9a84b7fadd293322cc2594d15ac73b0f66a5ceffd1f98" }, "downloads": -1, "filename": "panel-0.4.0.tar.gz", "has_sig": false, "md5_digest": "31aa3d01cb8c589631169f292c102804", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 196109, "upload_time": "2019-01-28T18:27:04", "url": "https://files.pythonhosted.org/packages/91/75/e651c850278006523833cb6089f0791fde087cf3c4da6094a4ed4fccaf13/panel-0.4.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "6f2d2db892df9a16e177548dd7ac0a16", "sha256": "0271f9decaa692e3d33a8c2be2f6013e874de9d2c5aee29cac21630dd503448e" }, "downloads": -1, "filename": "panel-0.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6f2d2db892df9a16e177548dd7ac0a16", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 391654, "upload_time": "2019-04-11T17:30:44", "url": "https://files.pythonhosted.org/packages/ed/94/ecb3392534902df23ab321e6c5a751a31019dfede1ed1d1abdc8f6996108/panel-0.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c763b3d7e5fdcb0f69965c910e998322", "sha256": "3f59c1b5c469487f399978014f6b3be978683b723595a3a9432a723a43e693d0" }, "downloads": -1, "filename": "panel-0.5.1.tar.gz", "has_sig": false, "md5_digest": "c763b3d7e5fdcb0f69965c910e998322", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 438776, "upload_time": "2019-04-11T17:30:46", "url": "https://files.pythonhosted.org/packages/60/c7/b35983c0cab8560d9a5af9c4fc77e16f46ec66394866ff038248b63d4eea/panel-0.5.1.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "4449e235a65213542212311f59d6d1f0", "sha256": "dd65347051bfbc0aac0ef627d41eec3abb22061f02ee315883ca1390a4618304" }, "downloads": -1, "filename": "panel-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4449e235a65213542212311f59d6d1f0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 465197, "upload_time": "2019-06-02T18:46:19", "url": "https://files.pythonhosted.org/packages/73/33/1a17dd5c477a1208928d79e76e9649c45f1db97ca0b0f66a18b264cb34bd/panel-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f2d84fee6722d2a53a956501975ad24a", "sha256": "1da6ccbb96e833a74111010535ce0ff1c8a627d7919b271ee2cf8237c48b3878" }, "downloads": -1, "filename": "panel-0.6.0.tar.gz", "has_sig": false, "md5_digest": "f2d84fee6722d2a53a956501975ad24a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 498968, "upload_time": "2019-06-02T18:46:21", "url": "https://files.pythonhosted.org/packages/ea/f4/1b737f33e49e9d4a5191db6827304a4d711b07e7984c864395eae863dff7/panel-0.6.0.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "1a5e478db4b3d1ed0a506fcd0a183935", "sha256": "42ff166ae05d204a86f37ab95fd4144d4297a08d2aa9424b4cefc54ad5bcbd15" }, "downloads": -1, "filename": "panel-0.6.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1a5e478db4b3d1ed0a506fcd0a183935", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 469846, "upload_time": "2019-08-08T15:52:24", "url": "https://files.pythonhosted.org/packages/22/c1/26dba76a3b2019fd6ab78553791046575775e98309ae6caf19eb5a3ac7f8/panel-0.6.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c073cafa48928955dc852fa373777c88", "sha256": "80701e58d2933288ec90d994733d6eadd6c43e838a29db099ae3fbe3a8948813" }, "downloads": -1, "filename": "panel-0.6.2.tar.gz", "has_sig": false, "md5_digest": "c073cafa48928955dc852fa373777c88", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 503869, "upload_time": "2019-08-08T15:52:26", "url": "https://files.pythonhosted.org/packages/0f/e5/af0a875ebee2d718deff8f1c906f49f5d6b01f577e259b114ee74006f354/panel-0.6.2.tar.gz" } ], "0.6.3": [ { "comment_text": "", "digests": { "md5": "44c64a40e593274fddc8afd44785a7de", "sha256": "56d5ea5e78b4037222ffbae077bb3f9c869fe21164f54f952a4d7693ac58db4d" }, "downloads": -1, "filename": "panel-0.6.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "44c64a40e593274fddc8afd44785a7de", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 476810, "upload_time": "2019-09-19T11:13:43", "url": "https://files.pythonhosted.org/packages/a1/c7/0e41f062d122d8d8e817e1ee8f3411dec976fb4ade1aa635f8227fd891c9/panel-0.6.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "82a94cd61798b3a39a786b70d02ede7f", "sha256": "8ef8ff428730cdee787d36ec55ba3e18f7c10373946682d3c09eb9737b235337" }, "downloads": -1, "filename": "panel-0.6.3.tar.gz", "has_sig": false, "md5_digest": "82a94cd61798b3a39a786b70d02ede7f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 512100, "upload_time": "2019-09-19T11:13:46", "url": "https://files.pythonhosted.org/packages/1b/72/b0a09f3102b42f7689460fd3e062830458d43960380416ec6bfe059257cb/panel-0.6.3.tar.gz" } ], "0.6.4": [ { "comment_text": "", "digests": { "md5": "0842d18125466e11343e8867056b5008", "sha256": "d4a3ceb438e588536fb467ed33ee10241bba02fe2df6be7c344d5dda2d0c2420" }, "downloads": -1, "filename": "panel-0.6.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0842d18125466e11343e8867056b5008", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 479793, "upload_time": "2019-10-08T18:36:49", "url": "https://files.pythonhosted.org/packages/ff/15/6fe698aa7319db94a80fbd8ac2968b1727b759d32a1057e3544ae62a7fa2/panel-0.6.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dba66a44f0cac2a79b420af48ddb9449", "sha256": "9b86a827f24dcfd1b6d821836e691fca7aab21b79a293031297f83cf2f8d6cef" }, "downloads": -1, "filename": "panel-0.6.4.tar.gz", "has_sig": false, "md5_digest": "dba66a44f0cac2a79b420af48ddb9449", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 514711, "upload_time": "2019-10-08T18:36:51", "url": "https://files.pythonhosted.org/packages/53/c4/beb04d8bc9679be098519c8fc52e112a6480eb566d283328b37f82b26bed/panel-0.6.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0842d18125466e11343e8867056b5008", "sha256": "d4a3ceb438e588536fb467ed33ee10241bba02fe2df6be7c344d5dda2d0c2420" }, "downloads": -1, "filename": "panel-0.6.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0842d18125466e11343e8867056b5008", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 479793, "upload_time": "2019-10-08T18:36:49", "url": "https://files.pythonhosted.org/packages/ff/15/6fe698aa7319db94a80fbd8ac2968b1727b759d32a1057e3544ae62a7fa2/panel-0.6.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dba66a44f0cac2a79b420af48ddb9449", "sha256": "9b86a827f24dcfd1b6d821836e691fca7aab21b79a293031297f83cf2f8d6cef" }, "downloads": -1, "filename": "panel-0.6.4.tar.gz", "has_sig": false, "md5_digest": "dba66a44f0cac2a79b420af48ddb9449", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 514711, "upload_time": "2019-10-08T18:36:51", "url": "https://files.pythonhosted.org/packages/53/c4/beb04d8bc9679be098519c8fc52e112a6480eb566d283328b37f82b26bed/panel-0.6.4.tar.gz" } ] }