quickboard


Namequickboard JSON
Version 0.4.0 PyPI version JSON
download
home_pagehttps://github.com/broadinstitute/quickboard
Summary"A simple Python package for creating quick, modular dashboards."
upload_time2024-03-22 16:24:30
maintainerNone
docs_urlNone
authorRicky Magner
requires_pythonNone
licenseNone
keywords dash dashboard interactive plot graph
VCS
bugtrack_url
requirements blinker certifi charset-normalizer click dash dash-bootstrap-components dash-core-components dash-html-components dash-table Flask idna importlib_metadata itsdangerous Jinja2 MarkupSafe nest-asyncio numpy packaging pandas plotly python-dateutil pytz quickboard requests retrying six tenacity typing_extensions tzdata urllib3 Werkzeug zipp
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Quickboard

#### *A simple Python package for creating quick, modular dashboards*


## Overview

Quickboard is a collection of Python classes and utilities for making scalable dashboards. Built on top of 
[Dash](https://github.com/plotly/dash) and [Plotly](https://github.com/plotly/plotly.py), Quickboard provides an assortment of tools and pre-made components to mix and match, 
achieving a balance between ease-of-use and customizability.

All visible Quickboard components are instances of `dash.html` objects, so you can fully customize them using knowledge 
of the `dash` package. As `plotly` has `plotly.express`, this package can be thought of an (unofficial) incarnation of 
an "express" version of `dash`, allowing you to quickly prototype a dashboard, while allowing for full customization 
using the usual `dash` API.

The following example was made using Quickboard.

![An example screenshot](https://github.com/broadinstitute/quickboard/raw/main/docs/images/README_example.jpg "All tabs are automatically scrollable!")

The Quickboard package contains three subpackages of interest for developing dashboards:
* base - the core components used to make the backbone of the dashboard,
* plugins - highly customizable add-ons to augment your other components,
* (DEPRECATED) textboxes - components for having dynamically updated text (to be removed in future version).

More details on using these can be found [below](#usage).

## Install Guide

To install, simply run
```
pip install quickboard
```
in your virtual environment.

## Usage

Once you have some datasets you'd like to visualize and present with a dashboard, you can start making
Quickboard components to achieve this purpose. Check out the [Component Gallery](docs/component_gallery.md) to see what
you can create with just a few lines of code.

Once you have a few components you'd like to put together into a larger app, or to take advantage of using tab-level
plugin interactions, you can use a few of the other Quickboard classes to achieve this. The general layout of a full 
Quickboard consists of:
* a **Quickboard** object to hold everything together;
* a (n optional) list of **BaseTab** objects to organize visuals into tabs;
* a **Sidebar** calibrated to hold different **plugins** based on the current tab.

Within each tab, we have
* various **ContentGrid** objects to display other components in a grid, with customizable column wrapping length;
* different **DynamicPanel** objects, materialized in the form of a **PlotPanel** or **DataPanel**, which house the
primary data displays, updatable via the sidebar plugins and other panel specific **ControlPlugin** objects.

Understanding how to compose and mix these components will allow for a huge variety in producible dashboards. For more
info on how to use them, check out the docstrings (e.g. `help(ContentGrid)`) or see the 
[Guided Example](https://github.com/broadinstitute/quickboard/blob/main/docs/beginner_example.md).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/broadinstitute/quickboard",
    "name": "quickboard",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "dash, dashboard, interactive, plot, graph",
    "author": "Ricky Magner",
    "author_email": "rmagner@broadinstitute.org",
    "download_url": "https://files.pythonhosted.org/packages/ba/c8/4653cacbec60afe1bd4aa9abab7b02a16df1cd417d82d7eaeb2daed7f7f6/quickboard-0.4.0.tar.gz",
    "platform": null,
    "description": "# Quickboard\n\n#### *A simple Python package for creating quick, modular dashboards*\n\n\n## Overview\n\nQuickboard is a collection of Python classes and utilities for making scalable dashboards. Built on top of \n[Dash](https://github.com/plotly/dash) and [Plotly](https://github.com/plotly/plotly.py), Quickboard provides an assortment of tools and pre-made components to mix and match, \nachieving a balance between ease-of-use and customizability.\n\nAll visible Quickboard components are instances of `dash.html` objects, so you can fully customize them using knowledge \nof the `dash` package. As `plotly` has `plotly.express`, this package can be thought of an (unofficial) incarnation of \nan \"express\" version of `dash`, allowing you to quickly prototype a dashboard, while allowing for full customization \nusing the usual `dash` API.\n\nThe following example was made using Quickboard.\n\n![An example screenshot](https://github.com/broadinstitute/quickboard/raw/main/docs/images/README_example.jpg \"All tabs are automatically scrollable!\")\n\nThe Quickboard package contains three subpackages of interest for developing dashboards:\n* base - the core components used to make the backbone of the dashboard,\n* plugins - highly customizable add-ons to augment your other components,\n* (DEPRECATED) textboxes - components for having dynamically updated text (to be removed in future version).\n\nMore details on using these can be found [below](#usage).\n\n## Install Guide\n\nTo install, simply run\n```\npip install quickboard\n```\nin your virtual environment.\n\n## Usage\n\nOnce you have some datasets you'd like to visualize and present with a dashboard, you can start making\nQuickboard components to achieve this purpose. Check out the [Component Gallery](docs/component_gallery.md) to see what\nyou can create with just a few lines of code.\n\nOnce you have a few components you'd like to put together into a larger app, or to take advantage of using tab-level\nplugin interactions, you can use a few of the other Quickboard classes to achieve this. The general layout of a full \nQuickboard consists of:\n* a **Quickboard** object to hold everything together;\n* a (n optional) list of **BaseTab** objects to organize visuals into tabs;\n* a **Sidebar** calibrated to hold different **plugins** based on the current tab.\n\nWithin each tab, we have\n* various **ContentGrid** objects to display other components in a grid, with customizable column wrapping length;\n* different **DynamicPanel** objects, materialized in the form of a **PlotPanel** or **DataPanel**, which house the\nprimary data displays, updatable via the sidebar plugins and other panel specific **ControlPlugin** objects.\n\nUnderstanding how to compose and mix these components will allow for a huge variety in producible dashboards. For more\ninfo on how to use them, check out the docstrings (e.g. `help(ContentGrid)`) or see the \n[Guided Example](https://github.com/broadinstitute/quickboard/blob/main/docs/beginner_example.md).\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "\"A simple Python package for creating quick, modular dashboards.\"",
    "version": "0.4.0",
    "project_urls": {
        "Download": "https://github.com/broadinstitute/quickboard",
        "Homepage": "https://github.com/broadinstitute/quickboard"
    },
    "split_keywords": [
        "dash",
        " dashboard",
        " interactive",
        " plot",
        " graph"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d029f44c56134bed26458068db56b28bd473d8fd555021612f8dedccb3d92fb5",
                "md5": "cf54355bcf3384b32d0cd3effe5411d5",
                "sha256": "e856fb6aca894e1f9276bd0c95626281632e5d55f1d190fae9d0c8b73e08cce5"
            },
            "downloads": -1,
            "filename": "quickboard-0.4.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "cf54355bcf3384b32d0cd3effe5411d5",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 33867,
            "upload_time": "2024-03-22T16:24:28",
            "upload_time_iso_8601": "2024-03-22T16:24:28.791306Z",
            "url": "https://files.pythonhosted.org/packages/d0/29/f44c56134bed26458068db56b28bd473d8fd555021612f8dedccb3d92fb5/quickboard-0.4.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bac84653cacbec60afe1bd4aa9abab7b02a16df1cd417d82d7eaeb2daed7f7f6",
                "md5": "041d621c64983d764aae5fbda168fd1e",
                "sha256": "2ba6aa2674c5a686c95ac836d50907d8097dac0879f2ff59719b916c0284fcc5"
            },
            "downloads": -1,
            "filename": "quickboard-0.4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "041d621c64983d764aae5fbda168fd1e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 19484,
            "upload_time": "2024-03-22T16:24:30",
            "upload_time_iso_8601": "2024-03-22T16:24:30.622746Z",
            "url": "https://files.pythonhosted.org/packages/ba/c8/4653cacbec60afe1bd4aa9abab7b02a16df1cd417d82d7eaeb2daed7f7f6/quickboard-0.4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-22 16:24:30",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "broadinstitute",
    "github_project": "quickboard",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "blinker",
            "specs": [
                [
                    "==",
                    "1.7.0"
                ]
            ]
        },
        {
            "name": "certifi",
            "specs": [
                [
                    "==",
                    "2024.2.2"
                ]
            ]
        },
        {
            "name": "charset-normalizer",
            "specs": [
                [
                    "==",
                    "3.3.2"
                ]
            ]
        },
        {
            "name": "click",
            "specs": [
                [
                    "==",
                    "8.1.7"
                ]
            ]
        },
        {
            "name": "dash",
            "specs": [
                [
                    "==",
                    "2.16.1"
                ]
            ]
        },
        {
            "name": "dash-bootstrap-components",
            "specs": [
                [
                    "==",
                    "1.5.0"
                ]
            ]
        },
        {
            "name": "dash-core-components",
            "specs": [
                [
                    "==",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "dash-html-components",
            "specs": [
                [
                    "==",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "dash-table",
            "specs": [
                [
                    "==",
                    "5.0.0"
                ]
            ]
        },
        {
            "name": "Flask",
            "specs": [
                [
                    "==",
                    "3.0.2"
                ]
            ]
        },
        {
            "name": "idna",
            "specs": [
                [
                    "==",
                    "3.6"
                ]
            ]
        },
        {
            "name": "importlib_metadata",
            "specs": [
                [
                    "==",
                    "7.0.2"
                ]
            ]
        },
        {
            "name": "itsdangerous",
            "specs": [
                [
                    "==",
                    "2.1.2"
                ]
            ]
        },
        {
            "name": "Jinja2",
            "specs": [
                [
                    "==",
                    "3.1.3"
                ]
            ]
        },
        {
            "name": "MarkupSafe",
            "specs": [
                [
                    "==",
                    "2.1.5"
                ]
            ]
        },
        {
            "name": "nest-asyncio",
            "specs": [
                [
                    "==",
                    "1.6.0"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    "==",
                    "1.26.4"
                ]
            ]
        },
        {
            "name": "packaging",
            "specs": [
                [
                    "==",
                    "24.0"
                ]
            ]
        },
        {
            "name": "pandas",
            "specs": [
                [
                    "==",
                    "2.2.1"
                ]
            ]
        },
        {
            "name": "plotly",
            "specs": [
                [
                    "==",
                    "5.20.0"
                ]
            ]
        },
        {
            "name": "python-dateutil",
            "specs": [
                [
                    "==",
                    "2.9.0.post0"
                ]
            ]
        },
        {
            "name": "pytz",
            "specs": [
                [
                    "==",
                    "2024.1"
                ]
            ]
        },
        {
            "name": "quickboard",
            "specs": [
                [
                    "==",
                    "0.4.0.dev0"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    "==",
                    "2.31.0"
                ]
            ]
        },
        {
            "name": "retrying",
            "specs": [
                [
                    "==",
                    "1.3.4"
                ]
            ]
        },
        {
            "name": "six",
            "specs": [
                [
                    "==",
                    "1.16.0"
                ]
            ]
        },
        {
            "name": "tenacity",
            "specs": [
                [
                    "==",
                    "8.2.3"
                ]
            ]
        },
        {
            "name": "typing_extensions",
            "specs": [
                [
                    "==",
                    "4.10.0"
                ]
            ]
        },
        {
            "name": "tzdata",
            "specs": [
                [
                    "==",
                    "2024.1"
                ]
            ]
        },
        {
            "name": "urllib3",
            "specs": [
                [
                    "==",
                    "2.2.1"
                ]
            ]
        },
        {
            "name": "Werkzeug",
            "specs": [
                [
                    "==",
                    "3.0.1"
                ]
            ]
        },
        {
            "name": "zipp",
            "specs": [
                [
                    "==",
                    "3.18.1"
                ]
            ]
        }
    ],
    "lcname": "quickboard"
}
        
Elapsed time: 1.01088s