Skip to content
This repository has been archived by the owner on Aug 30, 2022. It is now read-only.

setup.py should use ConfigManager / jupyter_notebook_config.json #153

Closed
parente opened this issue Dec 9, 2015 · 6 comments
Closed

setup.py should use ConfigManager / jupyter_notebook_config.json #153

parente opened this issue Dec 9, 2015 · 6 comments
Assignees
Labels

Comments

@parente
Copy link
Member

parente commented Dec 9, 2015

See discussion in #152. Either change setup so that it creates an initial config file if one does not exist, or have it fail with a human readable error. The latter might be preferred in case the user does not know he/she is installing as the wrong user.

@parente parente added the bug label Dec 9, 2015
@parente
Copy link
Member Author

parente commented Dec 9, 2015

/cc @lbustelo because I bet declarative widgets have the same issue.

@parente parente modified the milestone: 0.2.1 Dec 15, 2015
@parente parente self-assigned this Dec 15, 2015
@parente
Copy link
Member Author

parente commented Dec 16, 2015

Fixed by #156

@parente parente closed this as completed Dec 16, 2015
@parente parente reopened this Dec 16, 2015
@parente parente changed the title setup.py fails with an ugly error if jupyter config file does not exist setup.py should use ConfigManager / jupyter_notebook_config.json Dec 16, 2015
@parente
Copy link
Member Author

parente commented Dec 16, 2015

Reopening.

In the associated PR, I switched over to using the ConfigManager class to add the server-side extension to jupyter_notebook_config.py. All seemed to be working well until @jtyberg tried to install both jupyter_dashboards (using the JSON config) and jupyter_declarativewidgets which uses the old "hack" of append c.NotebookApp.server_extensions.append('blah') call to the end of jupyter_notebook_config.py. We then discovered that, oops, you can't do it in two places and if you do the JSON file wins out.

So which is the preferred way? If we stick with the .py appending, we might get disabled by other server-side extensions that use the JSON approach. If we use the JSON approach (nbgrader, nbsetuptools), we might be crushing other extensions that ask users to manually add the extension to the .py (nbexamples).

I know this is related to the discussion going on in jupyter/notebook#331 and jupyter/enhancement-proposals#7 about better support for 4.x extensions. Ahead of general consensus on those issues, is there, or can we define, a preferred best practice for which of these two config approaches, .py or .json, should be used for server-side extensions in particular?

@ellisonbg, can you comment or add folks who can?

@parente
Copy link
Member Author

parente commented Dec 16, 2015

/cc @lbustelo

@parente
Copy link
Member Author

parente commented Dec 28, 2015

Reverted to old technique to retain compat across the incubator projects. Will open PRs across all the associated repos switching them en masse to JSON config at a later date.

When notebook 4.2 is out with an even better nbextension install story, we'll move to that as part of the fix for issue #155.

@parente parente removed this from the 0.3.0 milestone Dec 28, 2015
@parente
Copy link
Member Author

parente commented Jan 4, 2016

With 0.3.0 out, there's no longer any server-side extension to configure in this repo. All we need to handle is JS install which will be addressed in #155.

@parente parente closed this as completed Jan 4, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

1 participant