MyST-NB icon indicating copy to clipboard operation
MyST-NB copied to clipboard

How to run a specific code at the start of each kernel ?

Open 12rambau opened this issue 1 year ago • 2 comments

Describe the bug

context In the context of my documentation I need to connect to Google Earth Engine services. When doing so I need to authenticate to the API. I can do that in the test suit using dedicated environment variables. I would like to run these few lines of code when launching every kernel and avoid to write it down inside the notebooks everytime. If possible can you show me how to run a "startup" script ?

expectation I would like to run the following code in every kernel:

import ee, pytest_gee, os

if "EARTHENGINE_PROJECT" in os.environ:
    pytest_gee.init_ee_from_token()
elif "EARTHENGINE_SERVICE_ACCOUNT" in os.environ:
    pytest_gee.init_ee_from_service_account()
else:
    raise ValueError("Cannot authenticate with Earth Engine.")

PS: I'm not using MyST-NB in the context of jupyterbooks but a Sphinx documentation

Reproduce the bug

NA

List your environment

it is unrelated to jupyter-book

12rambau avatar Oct 09 '24 11:10 12rambau

👍 to this feature request, this would be useful to configure all sorts of things. For example, I would like to ignore warnings with:

import warnings
warnings.filterwarnings("ignore")

maximlt avatar Oct 10 '24 07:10 maximlt

currently my workaround is to write everything in a cell tagged as "input-remove" but that forces me to copy/paste lots of code and it then appears in the notebook itself that the user of my documentation open in colab, jupyterlite etc....

12rambau avatar Oct 10 '24 09:10 12rambau