def test_disable(self): self._inject_mock_extension() toggle_serverextension_python('mockextension', True) toggle_serverextension_python('mockextension', False) config = self._get_config() assert not config['mockextension']
def install_extensions(enable=True, user=False): """Register ipyparallel clusters tab as notebook extensions Toggle with enable=True/False. """ import notebook from ipyparallel.util import _v if _v(notebook.__version__) < _v('4.2'): return _install_extension_nb41(enable) from notebook.nbextensions import ( disable_nbextension, enable_nbextension, install_nbextension_python, ) from notebook.serverextensions import toggle_serverextension_python toggle_serverextension_python('ipyparallel', user=user) install_nbextension_python('ipyparallel', user=user) if enable: enable_nbextension('tree', 'ipyparallel/main', user=user) else: disable_nbextension('tree', 'ipyparallel/main')
def run(self): install.run(self) log.info('Attempting to install and enable transmart-aborist extension.') log.info('This can be done manually by running.') log.info(' $ jupyter nbextension install --py tmtk.arborist') log.info(' $ jupyter serverextension enable --py tmtk.arborist') from notebook import __version__ as notebook_version if notebook_version < '4.2.0': log.info("Version of notebook package should be atleast 4.2.0 for Arborist, consider:") log.info(" $ pip3 install --upgrade notebook") raise RuntimeWarning("Notebook too old for Arborist.") from notebook.nbextensions import install_nbextension_python, enable_nbextension_python from notebook.serverextensions import toggle_serverextension_python, validate_serverextension enable_nbextension_python('widgetsnbextension', sys_prefix=True) install_nbextension_python('tmtk.arborist', sys_prefix=True, overwrite=True) toggle_serverextension_python('tmtk.arborist', enabled=True, sys_prefix=True) warnings = validate_serverextension('tmtk.arborist') if warnings: [log.warn(warning) for warning in warnings] else: log.info('Extension has been enabled.')
def run(self): install.run(self) log.info('Attempting to install and enable transmart-aborist extension.') log.info('This can be done manually by running.') log.info(' $ jupyter nbextension install --py tmtk.arborist') log.info(' $ jupyter serverextension enable --py tmtk.arborist') try: import notebook except ImportError: log.info("Cannot find module 'notebook'. Aborting automated install.") return notebook_version = getattr(notebook, '__version__') if notebook_version is None or notebook_version < '5.7.8': log.info("Version of notebook package should be at least 5.7.8 for Arborist, consider:") log.info(" $ pip install --upgrade notebook") log.info('Aborting automated install.') return from notebook.nbextensions import install_nbextension_python, enable_nbextension_python from notebook.serverextensions import toggle_serverextension_python, validate_serverextension enable_nbextension_python('widgetsnbextension', sys_prefix=True) install_nbextension_python('tmtk.arborist', sys_prefix=True, overwrite=True) toggle_serverextension_python('tmtk.arborist', enabled=True, sys_prefix=True) warnings = validate_serverextension('tmtk.arborist') if warnings: [log.warn(warning) for warning in warnings] else: log.info('Extension has been enabled.')
def run(self): install.run(self) # PUT YOUR POST-INSTALL SCRIPT HERE or CALL A FUNCTION print('Starting hide_code installation') # install extension notebook.nbextensions.install_nbextension_python('hide_code', sys_prefix=True) # enable notebook extension notebook.nbextensions.enable_nbextension_python('hide_code', sys_prefix=True) # enable server extension ns.toggle_serverextension_python('hide_code', enabled=True, sys_prefix=True)
def install_extensions(enable=True): """Register ipyparallel clusters tab as notebook extensions Toggle with enable=True/False. """ from distutils.version import LooseVersion as V import notebook if V(notebook.__version__) < V('4.2'): return _install_extension_nb41(enable) from notebook.nbextensions import install_nbextension_python, enable_nbextension, disable_nbextension from notebook.serverextensions import toggle_serverextension_python toggle_serverextension_python('ipyparallel.nbextension') install_nbextension_python('ipyparallel') if enable: enable_nbextension('tree', 'ipyparallel/main') else: disable_nbextension('tree', 'ipyparallel/main')
def add_xunit(self): """ Hack the setup in the middle (after paths, before server) """ super(NBAnacondaCloudTestController, self).add_xunit() with patch.dict(os.environ, self.env.copy()): sys_prefix = True pkg = "nb_anacondacloud" nbextensions.install_nbextension_python(pkg, sys_prefix=sys_prefix) nbextensions.enable_nbextension_python(pkg, sys_prefix=sys_prefix) serverextensions.toggle_serverextension_python( pkg, sys_prefix=sys_prefix) if (self.section == "auth") and self.use_token(): home = os.environ["HOME"] _data_dir = "".join( [self.home.name, dirs.user_data_dir[len(home):]]) with open(TEST_LOG, "a+") as fp: fp.write("\nCopying auth token to {}\n".format(_data_dir)) shutil.copytree(dirs.user_data_dir, _data_dir) patch_auth = (self.section == "auth") and not self.use_token() serverextensions.toggle_serverextension_python( import_name="nb_anacondacloud.tests.patched", enabled=patch_auth, sys_prefix=sys_prefix) serverextensions.toggle_serverextension_python( import_name=pkg, enabled=not patch_auth, sys_prefix=sys_prefix)
def run_nbextension_install(develop): from notebook.nbextensions import install_nbextension_python, enable_nbextension_python, install_nbextension from notebook.serverextensions import toggle_serverextension_python from notebook import version_info # Command: sudo jupyter nbextension enable --py widgetsnbextension print("Enabling geppettoJupyter extensions ...") isEnabled = enable_nbextension_python('widgetsnbextension') if not isEnabled: raise Exception('Problem enabling widgetsnbextension extension') # Command: sudo jupyter nbextension install --py geppettoJupyter print("Installing geppettoJupyter extension ...") install_nbextension_python('geppettoJupyter', symlink=develop) # Command: sudo jupyter nbextension enable --py geppettoJupyter print("Enabling geppettoJupyter extensions ...") isEnabled = enable_nbextension_python('geppettoJupyter') if not isEnabled: raise Exception('Problem enabling geppettoJupyter extension') # Command: jupyter serverextension enable --py geppettoJupyter print("Enabling server extensions ...") toggle_serverextension_python('geppettoJupyter', enabled=True) # Command: sudo jupyter nbextension install s # Command: sudo jupyter nbextension enable overwrite_get_msg_cell print("Installing and enabling additional geppettoJupyter extension ...") install_nbextension( 'org.geppetto.frontend.jupyter/src/geppettoJupyter/overwrite_get_msg_cell.js', symlink=develop) ext_require_path = 'overwrite_get_msg_cell' if version_info[0] > 4: # notebook 5.x from notebook.nbextensions import enable_nbextension enable_nbextension('notebook', ext_require_path) else: # notebook 4.x from notebook.nbextensions import EnableNBExtensionApp EnableNBExtensionApp().toggle_nbextension(ext_require_path)
def test_merge_config(self): # enabled at sys level mock_sys = self._inject_mock_extension('mockext_sys') # enabled at sys, disabled at user mock_both = self._inject_mock_extension('mockext_both') # enabled at user mock_user = self._inject_mock_extension('mockext_user') # enabled at Python mock_py = self._inject_mock_extension('mockext_py') toggle_serverextension_python('mockext_sys', enabled=True, user=False) toggle_serverextension_python('mockext_user', enabled=True, user=True) toggle_serverextension_python('mockext_both', enabled=True, user=False) toggle_serverextension_python('mockext_both', enabled=False, user=True) app = NotebookApp(nbserver_extensions={'mockext_py': True}) app.init_server_extensions() assert mock_user.loaded assert mock_sys.loaded assert mock_py.loaded assert not mock_both.loaded
def add_xunit(self): """ Hack the setup in the middle (after paths, before server) """ super(NBAnacondaCloudTestController, self).add_xunit() with patch.dict(os.environ, self.env.copy()): sys_prefix = True pkg = "nb_anacondacloud" nbextensions.install_nbextension_python( pkg, sys_prefix=sys_prefix) nbextensions.enable_nbextension_python( pkg, sys_prefix=sys_prefix) serverextensions.toggle_serverextension_python( pkg, sys_prefix=sys_prefix) if (self.section == "auth") and self.use_token(): home = os.environ["HOME"] _data_dir = "".join([ self.home.name, dirs.user_data_dir[len(home):]]) with open(TEST_LOG, "a+") as fp: fp.write("\nCopying auth token to {}\n".format( _data_dir )) shutil.copytree( dirs.user_data_dir, _data_dir ) patch_auth = (self.section == "auth") and not self.use_token() serverextensions.toggle_serverextension_python( import_name="nb_anacondacloud.tests.patched", enabled=patch_auth, sys_prefix=sys_prefix) serverextensions.toggle_serverextension_python( import_name=pkg, enabled=not patch_auth, sys_prefix=sys_prefix)
# Copyright 2020 Makani Technologies LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. """Launch jupyter notebook.""" import os import re import sys from makani.lib.bazel import bazel_util from notebook.notebookapp import main from notebook.serverextensions import toggle_serverextension_python if __name__ == '__main__': os.chdir(bazel_util.GetWorkspaceRoot()) sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) toggle_serverextension_python('jupyter_http_over_ws', enabled=True) sys.exit(main())
from notebook.notebookapp import main from notebook.nbextensions import install_nbextension_python, enable_nbextension_python from notebook.serverextensions import toggle_serverextension_python import sys import subprocess if __name__ == "__main__": # enable the jupytext server extension toggle_serverextension_python("jupytext", enabled=True) # install and enable the jupytext notebook extension install_nbextension_python("jupytext", user=True) enable_nbextension_python("jupytext") # we have to manually enable the "widgetsnbextension" notebook extension to use ipywidgets inside our hermetic # python interpreter install_nbextension_python("widgetsnbextension", user=True) enable_nbextension_python("widgetsnbextension") sys.exit(main(argv=["--no-browser"]))
from notebook.notebookapp import main from notebook.nbextensions import install_nbextension_python, enable_nbextension_python from notebook.serverextensions import toggle_serverextension_python import sys import subprocess if __name__ == "__main__": # a very nasty hack to install the jupytext server extension into the hermetic interpreter # we CANNOT do this with bazel because adding jupytext to the requirements.txt and then # adding it as a dependency causes a bazel dependency cycle # we do NOT install this package with '--user' because it alters files outside of the # bazel hermetic interpreter subprocess.check_call([sys.executable, "-m", "pip", "install", "jupytext==1.10.1"]) # Sometimes jupyter cannot figure out that jupytext is installed, and the .py notebooks # won't load, requiring a restart of this script. This possibly remedies this issue. import jupytext # enable the jupytext server extension toggle_serverextension_python("jupytext") # install and enable the jupytext notebook extension install_nbextension_python("jupytext", user=True) enable_nbextension_python("jupytext") # we have to manually enable the "widgetsnbextension" notebook extension to use ipywidgets inside our hermetic # python interpreter install_nbextension_python("widgetsnbextension", user=True) enable_nbextension_python("widgetsnbextension") sys.exit(main())
def install_serverextension(cmd): from notebook.serverextensions import toggle_serverextension_python toggle_serverextension_python('geonotebook', enabled=True, sys_prefix=True)
def enable_server_ext(): print("Enabling the server extension ...") toggle_serverextension_python('cite2c.handlers', enabled=True, user=True)