Skip to main content

This package supports the Awesome Panel Project and provides highly experimental features!

Project description

Awesome Panel Package

This package supports the Awesome Panel Project and provides features that are not yet and maybe never will be provided by the Panel package.

This package is currently highly experimental and

  • The api might change dramatically and often!
    • If the Panel package starts providing the functionality, then it should be removed from this package.
  • If you find a version that works for you, then please pin the version number!
    • An example of pinning the version number is awesome-panel==20191014.2.

You can install it using

pip install awesome-panel

The express module contains improved widgets and extensions like fontawesome and bootstrap as well as the Bootstrap Dashboard Template used by awesome-panel.org. It should be imported as pnx.

import awesome_panel.experiments as pnx

For example the code below is used to configure the Bootstrap Dashboard App in the Gallery at awesome-panel.org.

"""# BootstrapDashboard App.

Creates a Bootstrap Dashboard App

- inspired by the [GetBoostrap Dashboard Template]
(https://getbootstrap.com/docs/4.4/examples/dashboard/)
- implemented using the `awesome_panel' python package and in particular the
`awesome_panel.express.templates.BootstrapDashboardTemplate`
- Start the app by using `panel serve` on this file.
"""
import panel as pn

import awesome_panel.express as pnx
import gallery.bootstrap_dashboard.components as components

PAGES = [
    components.About(),
    components.dashboard_view(),
    components.plotly_view(),
    components.holoviews_view(),
    components.dataframe_view(),
    components.Limitations(),
]
MENU_BUTTON_CSS_CLASSES = [
    ["navigation", "pas", "pa-home"],
    ["navigation", "pas", "pa-chart-line"],
    ["navigation", "pas", "pa-chart-bar"],
    ["navigation", "pas", "pa-chart-pie"],
    ["navigation", "pas", "pa-table"],
    ["navigation", "pas", "pa-bug"],
]


def main() -> pn.Pane:
    """## Bootstrap Dashboard App

    Creates a Bootstrap Dashboard App

    - inspired by the [GetBoostrap Dashboard Template]
    (https://getbootstrap.com/docs/4.4/examples/dashboard/)
    - implemented using the `awesome_panel' python package and in particular the
    `awesome_panel.express.templates.BootstrapDashboardTemplate`

    Returns:
        pn.Pane -- The Bootstrap Dashboard App
    """
    pnx.fontawesome.extend()

    app = pnx.templates.BootstrapDashboardTemplate(app_title="Bootstrap Dashboard")
    navigation_menu = pnx.NavigationMenu(
        pages=PAGES, page_outlet=app.main, css_classes=MENU_BUTTON_CSS_CLASSES
    )
    app.sidebar.append(navigation_menu)
    return app


if __name__.startswith("bk_script"):
    main().servable()

For more information please visit the Awesome Panel Project on GitHub.

Building and Deploying the Package

You can build the package using

cd package
python setup.py sdist bdist_wheel

If you wan't to publish the package to PyPi you should first

update the version number in the setup.py file. The format is YYYYmmdd.version. For example 20191014.2

Then you run

twine upload dist/awesome-streamlit-YYYYmmdd.version.tar.gz -u <the-pypi-username> -p <the-pypi-password>

Project details


Download files

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

Source Distribution

awesome-panel-20191208.1.tar.gz (2.8 kB view hashes)

Uploaded Source

Supported by

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