quickboard


Namequickboard JSON
Version 0.4.1 PyPI version JSON
download
home_pagehttps://github.com/rickymagner/quickboard
Summary"A simple Python package for creating quick, modular dashboards."
upload_time2025-08-14 18:23:05
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/rickymagner/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@bu.edu",
    "download_url": "https://files.pythonhosted.org/packages/09/a3/f9e92f02c7d12e668a194da55ea3b3a5e24486eb270bb4ed02cd09683564/quickboard-0.4.1.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.1",
    "project_urls": {
        "Download": "https://github.com/rickymagner/quickboard",
        "Homepage": "https://github.com/rickymagner/quickboard"
    },
    "split_keywords": [
        "dash",
        " dashboard",
        " interactive",
        " plot",
        " graph"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f0fa9399de9e5a127306e8f8e8fe6ef59b19834517afdc00ae0233025dab6a71",
                "md5": "eb6c3ac309921f5693bcb1fedf1e7fbd",
                "sha256": "81eee604ea111a7d052c5f7ea1054824d80e4c6fac0abc0575d632618d59d630"
            },
            "downloads": -1,
            "filename": "quickboard-0.4.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "eb6c3ac309921f5693bcb1fedf1e7fbd",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 33912,
            "upload_time": "2025-08-14T18:23:04",
            "upload_time_iso_8601": "2025-08-14T18:23:04.429665Z",
            "url": "https://files.pythonhosted.org/packages/f0/fa/9399de9e5a127306e8f8e8fe6ef59b19834517afdc00ae0233025dab6a71/quickboard-0.4.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "09a3f9e92f02c7d12e668a194da55ea3b3a5e24486eb270bb4ed02cd09683564",
                "md5": "45aaa809d0324e21c690f69d9157d189",
                "sha256": "9e7246fec56455eecab0bc271abc9b90d5dda0978e763436dc746d09eb04d77a"
            },
            "downloads": -1,
            "filename": "quickboard-0.4.1.tar.gz",
            "has_sig": false,
            "md5_digest": "45aaa809d0324e21c690f69d9157d189",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 19523,
            "upload_time": "2025-08-14T18:23:05",
            "upload_time_iso_8601": "2025-08-14T18:23:05.303466Z",
            "url": "https://files.pythonhosted.org/packages/09/a3/f9e92f02c7d12e668a194da55ea3b3a5e24486eb270bb4ed02cd09683564/quickboard-0.4.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-14 18:23:05",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "rickymagner",
    "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.49993s