Awesome-panel.org change log

Awesome-Panel.Org Launched

I would like to learn and explore how to create awesome analytics app in Panel. And I thought I would share my findings and learnings in order to help the community and push the framework.

As I’ve now launched awesome-panel.org I thought I would start this Topic on changes and updates.

You can watch this topic if you would like to know about new resources and apps added to the repo, site and other resources

Resources

Check also the sister site out if you would like to contrast and compare

I’ve added Card functionality to awesome-panel.org and the awesome-panel python package.

The code is available here https://github.com/MarcSkovMadsen/awesome-panel/blob/master/package/awesome_panel/express/bootstrap/cards/cards.py

It’s the first time I’ve created such an advanced layout/ widget and I’m curious if something like this should be done in another way. If you know how to do this correctly in Panel feel free to take a look at my code and send some helpfull suggestions my way.

Thanks.

Definitely looks like a nice component. We could consider shipping composite components like this in Panel itself. I’ll have to dig deeper on the implementation to give more concrete feedback.

1 Like

I’ve added an example of a Choropleth Map.

I was inspired by the article
Choropleth maps with geopandas, Bokeh and Panel by Damian Farrell.

The data is provided by Our World in Data. Take a look at their site if you would like some inspiration for designing beautifull, interactive dashboards.

Share on Social Media Links/ Buttons Added

I wanted to enable easy sharing of awesome-panel.org on social media,
so I’ve implemented the functionality and made it available via the awesome_panel package in the awesome_panel.express.bootstrap.share_link module.

Image Classifier App Added

I’ve added an image classifier app that enables a user to

  • select a classifier model
  • upload an image

and get a predicted classification in return.

This app is inspired by the awesome imageNet
application developed by Atul Kumar Singh

A Progress Widget Extension Added

The purpose of the ProgressExt widget is to make the existing pn.widgets.Progress easier to use.

The ProgressExt does this by providing

  • A combination of a progress value and a progress message
  • Easy to use functions for
    • Annotatings
    • Context Management

To enable easy progress reporting from functions and parts of code.

An example use case is

progress = ProgressExt()
run_button = pn.widgets.Button(name="Click me")

@progress.increment(50, "incrementing ...")
def run(event):
    time.sleep(0.5)

run_button.on_click(run)
app = pn.Column(run_button, progress.view)
app.servable()

which will show the progress and reset every 2 clicks.

The ProgressExt demo can be found in the gallery at awesome-panel.org.

The ProgressExt is available in the awesome_panel python package

@philippjfr. I think this functionality is something that would help the users of Panel as for now it’s not that obvious how to use the Progress widget effectively. And I think its important to sprinkle in some progressbars and spinners in an application to make it feel modern and fast.

Feel free to

  • Take the idea,
  • Take the code or
  • Tell me you would like a pull request from me and guide me.
    • I would need some help on how to code a Panel widget and some discussion on the right api and naming conventions.

The implemention is here.

The tests are here and here.

Dataframe functionality added

I’m not completely satisfied with the defaults of the pn.widgets.DataFrame. I would like

  • floats to have 2 decimals only
  • all numbers should have ‘,’ as thousands symbol
  • all numbers should be right aligned.

See also Issue 940

So I’ve created some functionality for that at awesome-panel.org

VS Code guide added

I’ve added a guide on how to use VS Code to develop awesome analytics apps in Panel. See

https://awesome-panel.readthedocs.io/en/latest/vscode.html

Feel free to send comment, questions and suggestions my way or even improve the source file at https://github.com/MarcSkovMadsen/awesome-panel/blob/master/docs/vscode.md

2 Likes

Started Port of YahooQuery App

I’ve started porting the YahooQuery App from awesome-streamlit.org to awesome-panel.org.

This is an example of an app that Streamlit really excels in. Showing a lot of Markdown, Code, Help and JSON output and laying it out nicely. There is a some things to improve before the template at awesome-panel.org or Panel it self is as easy to use.

It wil take some time before its done as I need some of the fixes from the next release of Panel and also spend some time on the layout before its nice.

Added pn.Param reference example to the gallery

This app illustrates the usage of the pn.Param function. The pn.Param function is used to layout, style and configure the widgets of a param.Parameterized class when using it in Panel.

It took me some time to get my head around how to use it. So I’ve created this app that I hope can help you.

I have an open pull request on adding an extended and documented walkthrough of this app to the Panel Reference Gallery.

Added use of Card layout to YahooQuery App

I’m working on the YahooQuery App but had a feeling that the layout was far from satisfactory. So I started using the awesome_panel.express.Card to layout things.

I actually think it improved things a lot.

I’m planning on tagging Panel 0.8 release this week and then I’d like to look at porting whatever makes sense from awesome-panel to panel itself. Also as a heads up, we will likely have funding to develop a couple of polished templates in the coming months so I’d like to run them by you as I’m developing them.

1 Like

Simple PyDeck/ Deck.gl functionality added

I have a hope that I can contribute a real PyDeck Pane to Panel later. See this Feature Request and Pull Request.

Custom Bokeh Model Extension App added

I’ve added an Example of a Custom Bokeh Model to the Gallery.

I have one problem that the model needs to compile before I run .servable() this slows loading awesome-panel.org down the first time its requested.

Upgrade to Panel v.0.8.0

I’ve upgraded to Panel v.0.8.0. And it significantly improves the application.

  • Much faster and much more responsive.
  • Could remove a lot of hacks/ workarounds due to improved Markdown support.
  • Kick Starter Dashboard app now works and is so fast. If you zoom on the parent plot. Then the child plot updates.
  • And much, much more.

Go to awesome-panel.org to try it out

Yahoo Query App Ready

With Panel v.0.8.0 the Finance Query App now finally looks nice.

And it uses the new awesome JSON pane.

Check it out at awesome-panel.org

Awesome-panel.org upgraded to panel 0.9.4 bokeh 2.0.0

I’ve

1 Like

Definitely feeling snappier! On the issues list, this has been resolved:

The Bokeh server does not Support Multiprocessing in Practice

I Will try that out asap