Does jupyterLab respect options from jupyter_notebook_config.py?

I am asking because I have migrated from jupyter to jupyterlab and I had the following set:

c.FileManagerMixin.use_atomic_writing = False
c.FileContentsManager.use_atomic_writing = False

I have those set because I am writing to a network filesystem and atomic write is a problem for me. As per Config file and command line options — Jupyter Notebook 6.4.12 documentation documentation:

FileManagerMixin.use_atomic_writingBool
Default: True
 
By default notebooks are saved on disk on a temporary file and then if successfully written, it replaces the old ones.
This procedure, namely ‘atomic_writing’, causes some bugs on file system without operation order enforcement (like some networked fs). If set to False, the new notebook is written directly on the old one which could fail (eg: full filesystem or quota )

Which is exactly my case with SMB. But since I have moved to jupyterlab temporary files have come back causing troubles.

If launched with jupyter lab, the default file would be jupyter_server_config.py, and the main app is ServerApp, not NotebookApp… but these contents things are probably fine.

jupyter_config.py will get picked up by both, and you can duplicate values… sometimes will do this to ensure it working on e.g. binder.

2 Likes

This is deployed from jupyterhub for a course. So jupyterlab is spawned from jupyterhub with the systemd spawner. I am guessing one point to check would be locations, I have a global version of the file at /etc/jupyter/jupyter_notebook_config.py and one at ~/.jupyter/jupyter_notebook_config.py and neither seem to be picked or have any effect.

Now an interesting point of your comment is about ServerApp and NotebookApp, and I am not sure what you mean by that. Is it something I should add somewhere in the configuration?

If you’re using the latest JupyterHub (2.x) the default is ServerApp. There some information on switching between the two here: Configuring user environments — JupyterHub 2.3.1 documentation

1 Like

Thank you! Figuring out that I needed to change configuration file to jupyter_server_config.py and set options there was what I needed to know.

1 Like