Support for jupyter notebook templates in jupyterlab
['data-science', 'dataviz', 'jupyter', 'jupyterlab', 'jupyterlab-extension', 'machine-learning', 'notebook']
Support for jupyter notebook templates in jupyterlab
<img src="https://github.com/finos/jupyterlab_templates/raw/main/docs/logo.png" width=400></img>
Support for jupyter notebook templates in jupyterlab
![](https://raw.githubusercontent.com/finos/jupyterlab_templates/main/docs/example1.gif)
## Install
### PyPI
`jupyterlab_templates` is available on [PyPI](https://pypi.org/project/jupyterlab-templates/):
```bash
pip install jupyterlab_templates
```
### Conda
`jupyterlab_templates` is also available on [conda-forge](https://github.com/conda-forge/jupyterlab_templates-feedstock):
```bash
conda install -c conda-forge jupyterlab_templates
```
### Jupyter Server/JupyterLab Extension
```
jupyter labextension install jupyterlab_templates
jupyter server extension enable --py jupyterlab_templates
```
## Adding templates
install the server extension, and add the following to `jupyter_notebook_config.py`
```python3
c.JupyterLabTemplates.allowed_extensions = ["*.ipynb"]
c.JupyterLabTemplates.template_dirs = ['list', 'of', 'template', 'directories']
c.JupyterLabTemplates.include_default = True
c.JupyterLabTemplates.include_core_paths = True
c.JupyterLabTemplates.template_label = "Template"
```
## Templates for libraries
The extension will search *subdirectories* of each parent directory specified in `template_dirs` for templates.
**Note!** Templates in the parent directories will be ignored. You must put the templates in *subdirectories*, in order to keep everything organized.
If `include_default = True` the `notebook_templates` directory under the [jupyter data folder](https://jupyter.readthedocs.io/en/latest/use/jupyter-directories.html) is one of the default parent directories. Thus, if you have tutorials or guides you'd like to install for users, simply copy them into your jupyter data folder inside the `notebook_templates` directory, e.g. `/usr/local/share/jupyter/notebook_templates/bqplot` for `bqplot`.
If you want to exclude templates from a specific directory, please add a file `.jupyterlab_templates_ignore` to to this location.
All notebooks in this directory will be ignored (but has no effect on subdirectories).
### Flags
- `allowed_extensions`: a list of extensions to allow templates for. (optional, default `["*.ipynb"]`)
- `template_dirs`: a list of absolute directory paths. All files matching `allowed_extensions` in any *subdirectories* of these paths will be listed as templates
- `include_default`: include the default Sample template (default True)
- `include_core_paths`: include jupyter core paths (see: jupyter --paths) (default True)
- `template_label`: set label for template UI icon (default "Template")
## Development
See [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines.
## License
This software is licensed under the Apache 2.0 license. See the
[LICENSE](LICENSE) and [AUTHORS](AUTHORS) files for details.