def toggle_install_files(install, user=False, sys_prefix=False, logger=None, overwrite=False, symlink=False, prefix=None, nbextensions_dir=None, skip_running_check=False): """Install/remove jupyter_contrib_nbextensions files.""" _err_on_running(skip_running_check=skip_running_check) kwargs = dict(user=user, sys_prefix=sys_prefix, prefix=prefix, nbextensions_dir=nbextensions_dir) _check_conflicting_kwargs(**kwargs) kwargs['logger'] = logger if logger: logger.info( '{} jupyter_contrib_nbextensions nbextension files {} {}'.format( 'Installing' if install else 'Uninstalling', 'to' if install else 'from', 'jupyter data directory')) component_nbext_packages = [ jupyter_contrib_nbextensions, jupyter_highlight_selected_word, latex_envs, ] for mod in component_nbext_packages: if install: nbextensions.install_nbextension_python( mod.__name__, overwrite=overwrite, symlink=symlink, **kwargs) else: nbextensions.uninstall_nbextension_python(mod.__name__, **kwargs)
def toggle_install_files(install, user=False, sys_prefix=False, logger=None, overwrite=False, symlink=False, prefix=None, nbextensions_dir=None, skip_running_check=False): """Install/remove jupyter_contrib_nbextensions files.""" _err_on_running(skip_running_check=skip_running_check) kwargs = dict(user=user, sys_prefix=sys_prefix, prefix=prefix, nbextensions_dir=nbextensions_dir) _check_conflicting_kwargs(**kwargs) kwargs['logger'] = logger if logger: logger.info( '{} jupyter_contrib_nbextensions nbextension files {} {}'.format( 'Installing' if install else 'Uninstalling', 'to' if install else 'from', 'jupyter data directory')) component_nbext_packages = [ jupyter_contrib_nbextensions, jupyter_highlight_selected_word, latex_envs, ] for mod in component_nbext_packages: if install: nbextensions.install_nbextension_python(mod.__name__, overwrite=overwrite, symlink=symlink, **kwargs) else: nbextensions.uninstall_nbextension_python(mod.__name__, **kwargs)
def toggle_install_files(install, user=False, sys_prefix=False, logger=None, overwrite=False, symlink=False, prefix=None, nbextensions_dir=None): """Install/remove jupyter_contrib_nbextensions files.""" if notebook_is_running(): raise NotebookRunningError( 'Cannot configure while the Jupyter notebook server is running') kwargs = dict(user=user, sys_prefix=sys_prefix, prefix=prefix, nbextensions_dir=nbextensions_dir) _check_conflicting_kwargs(**kwargs) kwargs['logger'] = logger if logger: logger.info( '{} jupyter_contrib_nbextensions nbextension files {} {}'.format( 'Installing' if install else 'Uninstalling', 'to' if install else 'from', 'jupyter data directory')) if install: nbextensions.install_nbextension_python( jupyter_contrib_nbextensions.__name__, overwrite=overwrite, symlink=symlink, **kwargs) else: nbextensions.uninstall_nbextension_python( jupyter_contrib_nbextensions.__name__, **kwargs)
def toggle_install(install, user=False, sys_prefix=False, overwrite=False, symlink=False, prefix=None, nbextensions_dir=None, logger=None): """Install or remove all jupyter_contrib_nbextensions.""" if notebook_is_running(): raise NotebookRunningError( 'Cannot configure while the Jupyter notebook server is running') _check_conflicting_kwargs(user=user, sys_prefix=sys_prefix, prefix=prefix, nbextensions_dir=nbextensions_dir) config_dir = nbextensions._get_config_dir(user=user, sys_prefix=sys_prefix) verb = 'Installing' if install else 'Uninstalling' if logger: logger.info( '{} jupyter_contrib_nbextensions, using config in {}'.format( verb, config_dir)) # Configure the jupyter_nbextensions_configurator serverextension to load if install: serverextensions.toggle_serverextension_python( 'jupyter_nbextensions_configurator', enabled=True, user=user, sys_prefix=sys_prefix, logger=logger) # nbextensions: kwargs = dict(user=user, sys_prefix=sys_prefix, prefix=prefix, nbextensions_dir=nbextensions_dir, logger=logger) if install: nbextensions.install_nbextension_python( jupyter_contrib_nbextensions.__name__, overwrite=overwrite, symlink=symlink, **kwargs) else: nbextensions.uninstall_nbextension_python( jupyter_contrib_nbextensions.__name__, **kwargs) # Set extra template path, pre- and post-processors for nbconvert cm = BaseJSONConfigManager(config_dir=config_dir) config_basename = 'jupyter_nbconvert_config' config = cm.get(config_basename) # avoid warnings about unset version config.setdefault('version', 1) if logger: logger.info(u'- Editing config: {}'.format( cm.file_name(config_basename))) # Set extra template path, pre- and post-processors for nbconvert if logger: logger.info('-- Configuring nbconvert template path') # our templates directory _update_config_list(config, 'Exporter.template_path', [ '.', jupyter_contrib_nbextensions.nbconvert_support.templates_directory(), ], install) # our preprocessors if logger: logger.info('-- Configuring nbconvert preprocessors') proc_mod = 'jupyter_contrib_nbextensions.nbconvert_support' _update_config_list(config, 'Exporter.preprocessors', [ proc_mod + '.CodeFoldingPreprocessor', proc_mod + '.PyMarkdownPreprocessor', ], install) # our postprocessor class if logger: logger.info('-- Configuring nbconvert postprocessor_class') if install: config.setdefault( 'NbConvertApp', Config())['postprocessor_class'] = (proc_mod + '.EmbedPostProcessor') else: nbconvert_conf = config.get('NbConvertApp', Config()) if (nbconvert_conf.get('postprocessor_class') == proc_mod + '.EmbedPostProcessor'): nbconvert_conf.pop('postprocessor_class') if len(nbconvert_conf) < 1: config.pop('NbConvertApp') if logger: logger.info(u'- Writing config: {}'.format( cm.file_name(config_basename))) _set_managed_config(cm, config_basename, config, logger=logger)
def toggle_install(install, user=False, sys_prefix=False, overwrite=False, symlink=False, prefix=None, nbextensions_dir=None, logger=None): """Install or remove all jupyter_contrib_nbextensions.""" if notebook_is_running(): raise NotebookRunningError( 'Cannot configure while the Jupyter notebook server is running') user = False if sys_prefix else user config_dir = nbextensions._get_config_dir(user=user, sys_prefix=sys_prefix) verb = 'Installing' if install else 'Uninstalling' if logger: logger.info( '{} jupyter_contrib_nbextensions, using config in {}'.format( verb, config_dir)) # Configure the jupyter_nbextensions_configurator serverextension to load if install: serverextensions.toggle_serverextension_python( 'jupyter_nbextensions_configurator', enabled=True, user=user, sys_prefix=sys_prefix, logger=logger) # nbextensions: kwargs = dict(user=user, sys_prefix=sys_prefix, prefix=prefix, nbextensions_dir=nbextensions_dir, logger=logger) if install: nbextensions.install_nbextension_python( jupyter_contrib_nbextensions.__name__, overwrite=overwrite, symlink=symlink, **kwargs) else: nbextensions.uninstall_nbextension_python( jupyter_contrib_nbextensions.__name__, **kwargs) # Set extra template path, pre- and post-processors for nbconvert cm = BaseJSONConfigManager(config_dir=config_dir) config_basename = 'jupyter_nbconvert_config' config = cm.get(config_basename) # avoid warnings about unset version config.setdefault('version', 1) if logger: logger.info( u'- Editing config: {}'.format(cm.file_name(config_basename))) # Set extra template path, pre- and post-processors for nbconvert if logger: logger.info('-- Configuring nbconvert template path') # our templates directory _update_config_list(config, 'Exporter.template_path', [ '.', jupyter_contrib_nbextensions.nbconvert_support.templates_directory(), ], install) # our preprocessors if logger: logger.info('-- Configuring nbconvert preprocessors') proc_mod = 'jupyter_contrib_nbextensions.nbconvert_support' _update_config_list(config, 'Exporter.preprocessors', [ proc_mod + '.CodeFoldingPreprocessor', proc_mod + '.PyMarkdownPreprocessor', ], install) # our postprocessor class if logger: logger.info('-- Configuring nbconvert postprocessor_class') if install: config.setdefault( 'NbConvertApp', Config())['postprocessor_class'] = ( proc_mod + '.EmbedPostProcessor') else: nbconvert_conf = config.get('NbConvertApp', Config()) if (nbconvert_conf.get('postprocessor_class') == proc_mod + '.EmbedPostProcessor'): nbconvert_conf.pop('postprocessor_class') if len(nbconvert_conf) < 1: config.pop('NbConvertApp') if logger: logger.info( u'- Writing config: {}'.format(cm.file_name(config_basename))) _set_managed_config(cm, config_basename, config, logger=logger)