Skip to content

Can I setup the NotebookApp.contents_manager_class using a json diff? #4419

Closed

Description

Hello here, and thanks for the great work on Jupyter!

Recently I have developed Jupytext, a contents manager for Jupyter, and I would now like to configure Jupyter to use Jupytext' contents manager when Jupytext is installed.

The contents manager works well when I install a etc/jupyter/jupyter_notebook_config.json file with content

{
  "NotebookApp": {
    "contents_manager_class": "jupytext.TextFileContentsManager"
  }
}

But I would much prefer to use the json diff configuration files, and write the same content into etc/jupyter/jupyter_notebook_config.d/jupytext.json. Yet, only the NotebookApp.nbserver_extensions part of these diff files are actually loaded by Jupyter (cf. the code).

I have therefore developed a server extension that replaces the contents manager. What I like in this approach is that the user can choose to enable or disable the server extension with e.g. jupyter serverextension disable jupytext.

But unfortunately, the server extension is loaded a bit too late, and I have to re-run a few of the initialization step of the NotebookApp (code). It works in simple cases, but in others it does not - cf. mwouts/jupytext#185. May I ask therefore if you have a recommendation on how to best offer a defaut (and removable) configuration that activates Jupytext's contents manager?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions