In order to facility more rapid experimentation with and distribution of Panel extensions I’ve created and now launch the awesome-panel-extensions package.
The intent is to share extensions that maybe do not fit into Panel it self but have interest for me or the community or alternatively some extensions that might not be ready for Panel yet but needs to get out there and receive feedback to eventually reach a level where they can be contributed to Panel.
But who knows how this will develop over time.
Please note that some of the extensions might make their way to Panel, a separate package, be deleted or change over time. So if you get something working consider whether it is important to pin the package version or maybe just copy the code into your project.
Feel free to share your comments, suggestions, ideas etc. Feel free to help improve the documentation, contribute your own extensions etc.
You can think of the WebComponent pane as a HTML pane that supports bidirectional communication and large data transfer.
The WebComponent pane makes it really, really easy using Python and a minimal amount of html, css or .js knowledge to extend Panel with your favorite .js widgets or libraries.
Do you want a Panel app that follow the Material, SAP Fiori or Uber Design Specification? Just use the WebComponent pane and implement the widgets you need.
The WebComponent pane is on the roadmap for panel. You can check out the progress via Github PR 1252
Checkout the reference guide on binder
or use it via awesome_panel_extensions.web_component.WebComponent.
I wanted to enable a standard header with links to binder etc. in the notebook examples. So I created the concept of LinkButtons and added some to the package.
For now I’ve added ImageLinkButton, BinderLinkButton, NBViewerLinkButton and PanelLinkButton.
I guess also some “social” buttons like twitter, linkedin, facebook,reddit etc. could be added.
In anticipation of the upcoming MaterialTemplate shipping with Panel 0.10, I’ve started working on Material widgets. They are based on Material Web Components.
I’ve added a MaterialButton to the awesome-panel-extensions package
Check it out on binder
or use it via awesome_panel_extensions.frameworks.material.Button.
The PerspectiveViewer is perfect for interactive, streaming analytics of large amounts of data.
Check it out on binder
or use it via awesome_panel_extensions.widgets.PerspectiveViewer.
There are many things about the implementation of the PerspectiveViewer that could be improved. But it’s good enough for my use cases. If you want it improved or in included with Panel please create a feature request on Github. Thanks.
This is awesome! Combining the speed of Perspective and the convenience of serving apps with Panel would be a game-changer!
Would love to have this natively supported in Panel, @philippjfr : )
The Fast extensions are based on the fast.design web components web component which are open sourced by Microsoft and probably will power the VS Code and Microsoft Office experience in the future.
)
Please note that you can only use the Fast widgets inside a custom Panel template that
Wraps the content of the <body> html tag inside the <fast-design-system-provider> tag.
Loads the Fast javascript module dependencies.
We provide the FastTemplate for easy usage.
You can also develop your own custom Panel template if you need something special. For example combining it with more fast.design web components and the Fluent Design System to create VS Code and Microsoft Office like experiences.
Please also note that the Fast components do not work on legacy browser like Internet Explorer.
Use it via from awesome_panel_extensions.frameworks.fast import FastButton
Use it via from awesome_panel_extensions.frameworks.fast import FastTextAreaInput and checkout
Unfortunately the fast-text-area attributes height and also autofocus, rows, min_length and spellcheck do not seem to work. Please upvote Fast Github Issue 3874 if you would like this solved.