Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ideonate/bokeh-root-cmd
Command line wrapper to run a named Bokeh script/folder as root URL
https://github.com/ideonate/bokeh-root-cmd
Last synced: about 2 months ago
JSON representation
Command line wrapper to run a named Bokeh script/folder as root URL
- Host: GitHub
- URL: https://github.com/ideonate/bokeh-root-cmd
- Owner: ideonate
- License: apache-2.0
- Created: 2020-06-10T15:02:17.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-09-14T10:17:16.000Z (over 3 years ago)
- Last Synced: 2024-04-23T22:39:50.946Z (9 months ago)
- Language: Python
- Size: 34.2 KB
- Stars: 2
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# bokeh-root-cmd
Command line wrapper to run one or more named Bokeh/Panel scripts/folders as root URL.
This project is used in [ContainDS Dashboards](https://github.com/ideonate/cdsdashboards), which is a user-friendly
way to launch Jupyter notebooks as shareable dashboards inside JupyterHub. Also works with Bokeh, Dash, Panel, Streamlit and other visualization frameworks.The published PyPI/Conda packages DO NOT bring in Bokeh or Panel as explicit dependencies, so you may
need to install those separately in your environment.## Install and Run
Install using pip.
```bash
pip install bokeh-root-cmd
```The file to start is specified on the command line, for example:
```bash
bokeh-root-cmd ~/Dev/mybokehscript.py
```By default the server will listen on port 8888. To specify a different **port**, use the --port flag.
```bash
bokeh-root-cmd --port=8888 ~/Dev/mybokehscript.py
```To use the Panel server use the --server flag.
```bash
bokeh-root-cmd --server=panel ~/Dev/mybokehscript.py
```To run directly in python: `python -m bokeh_root_cmd.main `
## Other command line args
--allow-websocket-origin
--debug
--ip
## Tests
In order to be able to test manually you would need to `pip install panel pytest`. This will also install bokeh.
### Automated Tests
```bash
pytest tests.py
```### Single File on Bokeh Server
Run `bokeh-root-cmd test_apps/test_bokeh_hello.py` and verify the app is running at `http://localhost:8888`.
### Single File on Panel Server
Run `bokeh-root-cmd --server=panel test_apps/test_panel_hello.py` and verify the app is running at `http://localhost:8888`.
### Multiple Files on Bokeh Server
Run `bokeh-root-cmd test_apps/*.py` and verify the app index is running at `http://localhost:8888` and test apps at `http://localhost:8888/test_bokeh_hello` and `http://localhost:8888/test_panel_hello`.
### Multiple Files on Panel Server
Run `bokeh-root-cmd --server=panel test_apps/*.py` and verify the app index is running at `http://localhost:8888` and test apps at `http://localhost:8888/test_bokeh_hello` and `http://localhost:8888/test_panel_hello`. Note that no `ready-check' app is included in the index list.
You can also specify them individually
Run `bokeh-root-cmd --server=panel test_apps/test_bokeh_hello.py test_apps/test_panel_hello.py` and verify the app index is running at `http://localhost:8888` and test apps at `http://localhost:8888/test_bokeh_hello` and `http://localhost:8888/test_panel_hello`. Note that no `ready-check' app is included in the index list.
Thank you to [MarcSkovMadsen](https://github.com/MarcSkovMadsen) for contributions.
## Changelog
0.1.2 - Fix for Panel root dashboard when serving multiple apps. Previously caused problems in some browsers.