A repository of awesome Panel data app examples.
The source files are available in the src folder.
The apps are converted to webassembly and released to awesome-panel.github.io/examples/ as simple as
$ panel convert app.py(1 second)$ git push(1 second)
This is THE FASTEST WAY TO DEPLOY DATA APPS in Python.
The apps are very performant when loaded because there is no latency for communication between server and client.
BUT the apps take time to load as they need to download a Python runtime and additional packages (50MB per app).
This is THE FUTURE OF DATAVIZ in Python.
If you like Panel and Awesome Panel please support the projects by giving them a ⭐ on Github
⭐ holoviz/panel ⭐ awesome-panel/awesome-panel ⭐ awesome-panel/examples
Thanks 👍
git clone https://github.com/awesome-panel/examples.gitCreate and activate a virtual environment, c.f. Python Virtual Environments: A Primer.
Install the requirements.txt file
pip install -r requirements.txt -UYou can serve for example the hello-world application on your Panel server via
panel serve src/hello-world/app.py --autoreloadIt will be available at http://localhost:5006/app.
You can panel convert for example the hello-world application to webassembly via
panel convert src/hello-world/app.py --to pyodide-worker --out docs/hello-worldIf you want to avoid repeating the big download over and over again, you can even convert to a
progressive web app that can be installed on
your laptop! It is as simple as adding the --pwa and --title flags.
Check out the Panel WebAssembly Guide for more details.
python3 -m http.serverThe app is now available at http://localhost:8000/docs/hello-world/app.html
You can learn how to configure Github Pages in general via the Quickstart for Github Pages.
The Github Pages of awesome-panel/examples is configured as described below
- Add a
.nojekyllfile push all changes. - Navigate to the Settings page
- Navigate to the Pages page
- Configure your Pages Settings as shown below
Git add, commit, push and merge your PR as you would normally do.
The applications are now available at awesome-panel.github.io/examples/ or similar.
The below instructions are preliminary and for the project contributors
panel convert src/hello-world/app.py --to pyodide-worker --out docs/hello-world
panel convert src/streaming-indicators/app.py --to pyodide-worker --out docs/streaming-indicators
panel convert src/stumpy-dashboard/app.py --to pyodide-worker --out docs/stumpy-dashboard
panel convert src/videostream-interface/app.py --to pyodide-worker --out docs/videostream-interface --requirements src/videostream-interface/requirements.txt
python src/index/index.pypython3 -m http.server

