Notebooks¶
Coiled supports running hosted, sharable notebooks on https://cloud.coiled.io
through the coiled.create_notebook()
interface. This enables you to run
Jupyter sessions on the cloud with no local setup.
Note
Coiled notebooks are currently experimental with new features under active development
When creating a Coiled notebook, you can specify:
Software to install for use in your Jupyter session
Any hardware resources to specify (e.g. amount of RAM, number of CPUs)
Local files to upload for use in the notebook (e.g. a local
.ipynb
notebook file)Description of the notebook which will be rendered on https://cloud.coiled.io
For example, below is a snippet which creates a “xgboost-demo” Coiled notebook:
import coiled
coiled.create_notebook(
name="xgboost-demo",
conda={"channels": ["conda-forge"], "dependencies": ["xgboost", "dask"]},
cpu=2,
memory="8 GiB",
files=["analysis.ipynb"],
description="Analyzes dataset with XGBoost",
)
Note
Currently any directory structure for uploaded files
will be removed and
files will be placed in the working directory of the Jupyter session. For
example, /path/to/notebook.ipynb
will appear as notebook.ipynb
in
the Jupyter session.
After you’ve created a notebook, you can run the notebook by navigating to the “Notebooks” tab on the left sidebar of https://cloud.coiled.io. There you’ll find entries for notebooks you’ve created (see the screenshot below for an example), each of which has a button to launch a new Jupyter session for the corresponding notebook.
Note
By default, any Coiled notebooks you create are publicly accessible to other Coiled users to promote sharing and collaborating. Private notebooks will be added in the future.

Using a custom image¶
By default, the command coiled.create_notebook()
will use the Docker image
coiled/notebook:latest
to create your notebook, this image contains all the
necessary dependencies and configuration for you to get started using notebooks.
If you want to use a custom image when creating a notebook, you will need to do some changes on how you create the notebook.
Make sure that you have
jupyterlab
installedAdd a custom command to start the notebook
For example, you could create your notebook following this snippet:
import coiled
coiled.create_notebook(
name="my-custom-notebook",
container="<your custom image>",
conda=["jupyterlab", "ipywidgets"],
command=("jupyter", "lab", "--allow-root", "--ip=0.0.0.0", "--no-browser"),
)
Remember that you can still upload your files using the files
keyword,
alternatively you can copy those files into your custom image and they will be
accessible when you start a notebook.
Warning
Even though you can access your files from your image, you will need to do some admin work if you want to save your work, since notebooks might be shutdown after some inactivity, making your changes unrecoverable.