Exemple #1
0
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')
Exemple #2
0
    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 test_nbextensionpy_uninstall_files(self):
        self._inject_mock_extension()
        install_nbextension_python('mockextension', user=True)
        uninstall_nbextension_python('mockextension', user=True)

        assert not check_nbextension('_mockdestination/index.js')
        assert not check_nbextension(['_mockdestination/index.js'])
    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)
Exemple #5
0
    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 test_nbextensionpy_uninstall_files(self):
     self._inject_mock_extension()
     install_nbextension_python('mockextension', user=True)
     uninstall_nbextension_python('mockextension', user=True)
     
     assert not check_nbextension('_mockdestination/index.js')
     assert not check_nbextension(['_mockdestination/index.js'])
Exemple #7
0
    def start(self):
        """Perform the App's actions as configured."""
        if self.extra_args:
            sys.exit('{} takes no extra arguments'.format(self.name))
        else:

            if self._toggle_value:
                nbextensions.install_nbextension_python(
                    _pkg_name,
                    overwrite=True,
                    symlink=False,
                    user=self.user,
                    sys_prefix=self.sys_prefix,
                    prefix=None,
                    nbextensions_dir=None,
                    logger=None)
            else:
                nbextensions.uninstall_nbextension_python(
                    _pkg_name,
                    user=self.user,
                    sys_prefix=self.sys_prefix,
                    prefix=None,
                    nbextensions_dir=None,
                    logger=None)

            self.toggle_nbextension_python(_pkg_name)
            self.toggle_server_extension_python(_pkg_name)
Exemple #8
0
 def install_nbextensions(self, module, sys_prefix=True, user=False):
     install_nbextension_python(module=module,
                                sys_prefix=sys_prefix,
                                user=user,
                                overwrite=True)
     disable_nbextension_python(module=module,
                                sys_prefix=sys_prefix,
                                user=user)
 def test_nbextensionpy_enable(self):
     self._inject_mock_extension('notebook')
     install_nbextension_python('mockextension', user=True)
     enable_nbextension_python('mockextension')
     
     config_dir = os.path.join(_get_config_dir(user=True), 'nbconfig')
     cm = BaseJSONConfigManager(config_dir=config_dir)
     enabled = cm.get('notebook').get('load_extensions', {}).get('_mockdestination/index', False)
     assert enabled
    def test_nbextension_validate(self):
        # Break the metadata (correct file will still be copied)
        self._inject_mock_extension('notebook')

        install_nbextension_python('mockextension', user=True)
        enable_nbextension_python('mockextension')

        warnings = validate_nbextension("_mockdestination/index")
        self.assertEqual([], warnings, warnings)
 def test_nbextensionpy_enable(self):
     self._inject_mock_extension('notebook')
     install_nbextension_python('mockextension', user=True)
     enable_nbextension_python('mockextension')
     
     config_dir = os.path.join(_get_config_dir(user=True), 'nbconfig')
     cm = BaseJSONConfigManager(config_dir=config_dir)
     enabled = cm.get('notebook').get('load_extensions', {}).get('_mockdestination/index', False)
     assert enabled
Exemple #12
0
def install_nbextension(cmd, link=False):
    from notebook.nbextensions import (install_nbextension_python,
                                       enable_nbextension)

    install_nbextension_python("geonotebook",
                               overwrite=True,
                               sys_prefix=True,
                               symlink=link)
    enable_nbextension("notebook", "geonotebook/index", sys_prefix=True)
    def test_nbextension_validate(self):
        # Break the metadata (correct file will still be copied)
        self._inject_mock_extension('notebook')

        install_nbextension_python('mockextension', user=True)
        enable_nbextension_python('mockextension')

        warnings = validate_nbextension("_mockdestination/index")
        self.assertEqual([], warnings, warnings)
Exemple #14
0
def install_nbextension():
    print("Trying to install pyforest nbextension...")

    try:
        from notebook import nbextensions
    except ImportError:
        print(
            "Could not install pyforest Jupyter Notebook extension because Jupyter Notebook is not available"
        )
        return

    nbextensions.install_nbextension_python("pyforest")
    nbextensions.enable_nbextension_python("pyforest")
    print("")
    print("Finished installing the pyforest Jupyter Notebook nbextension")
    print("Please reload your Jupyter notebook browser window")
    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 test_nbextensionpy_validate(self):
        self._inject_mock_extension('notebook')

        paths = install_nbextension_python('mockextension', user=True)
        enable_nbextension_python('mockextension')

        meta = self._mock_extension_spec_meta()
        warnings = validate_nbextension_python(meta, paths[0])
        self.assertEqual([], warnings, warnings)
    def test_nbextensionpy_validate(self):
        self._inject_mock_extension('notebook')

        paths = install_nbextension_python('mockextension', user=True)
        enable_nbextension_python('mockextension')

        meta = self._mock_extension_spec_meta()
        warnings = validate_nbextension_python(meta, paths[0])
        self.assertEqual([], warnings, warnings)
Exemple #18
0
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 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 test_nbextensionpy_validate_bad(self):
        # Break the metadata (correct file will still be copied)
        self._inject_mock_extension('notebook')

        paths = install_nbextension_python('mockextension', user=True)

        enable_nbextension_python('mockextension')

        meta = self._mock_extension_spec_meta()
        meta.update(require="bad-require")

        warnings = validate_nbextension_python(meta, paths[0])
        self.assertNotEqual([], warnings, warnings)
    def test_nbextensionpy_validate_bad(self):
        # Break the metadata (correct file will still be copied)
        self._inject_mock_extension('notebook')

        paths = install_nbextension_python('mockextension', user=True)

        enable_nbextension_python('mockextension')

        meta = self._mock_extension_spec_meta()
        meta.update(require="bad-require")

        warnings = validate_nbextension_python(meta, paths[0])
        self.assertNotEqual([], warnings, warnings)
Exemple #22
0
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)
Exemple #23
0
    def run(self):
        install.run(self)

        install_nbextension(JS_DIR, overwrite=True, user=True)
        install_nbextension_python('git_ext')

        # enable notebook extension
        out = subprocess.run(
            'jupyter nbextension enable --py --sys-prefix git_ext',
            stdout=subprocess.PIPE,
            shell=True,
            check=True)

        # enable server extension
        configure_path = os.path.join(jupyter_config_dir(),
                                      'jupyter_notebook_config.json')
        try:
            configure = json.load(open(configure_path))
            if 'NotebookApp' not in configure:
                configure['NotebookApp'] = {}
            configure['NotebookApp'].update({'disable_check_xsrf': True})
            if 'nbserver_extensions' not in configure['NotebookApp']:
                configure['NotebookApp']['nbserver_extensions'] = {}
            configure['NotebookApp']['nbserver_extensions'].update(
                {'git_ext': True})
        except FileNotFoundError:
            configure = {
                'NotebookApp': {
                    'nbserver_extensions': {
                        'git_ext': True
                    },
                    'disable_check_xsrf': True
                }
            }
        finally:
            json.dump(configure, open(configure_path, 'w'), indent=2)
Exemple #24
0
def install_nglview_js_widgets(user=True, symlink=False, overwrite=True, debug=False, **kwargs):
    """Install nglview-js-widgets nbextension.

    Parameters
    ----------
    user: bool, default True
        Install for current user instead of system-wide.
    symlink: bool, default False
        Symlink instead of copy (for development).
    overwrite: bool, default True
        Overwrite previously-installed files for this extension
    **kwargs: keyword arguments
        Other keyword arguments passed to the install_nbextension command
    """
    nglivew_js_dirs = nbextensions.install_nbextension_python('nglview',
            user=user, symlink=symlink, overwrite=overwrite, **kwargs)
    if debug:
        print(nglivew_js_dirs)
        print([glob(join(my_dir, '*')) for my_dir in nglivew_js_dirs])
        'Topic :: Utilities',
    ],
)

if 'install' in argv:
    import sys
    x = sys.stdout.write(msg)
    import site
    try:
        import importlib
        importlib.reload(site)
    except:
        reload(site)
    import latex_envs
    import notebook.nbextensions as nb
    user = False
    sys_prefix = False
    if "--user" in argv:
        user = True
    if "--sys-prefix" in argv:
        sys_prefix = True
    x = sys.stdout.write("[Step 2]: Installing the javascript nbextension" +
                         "\n")
    nb.install_nbextension_python('latex_envs',
                                  user=user,
                                  sys_prefix=sys_prefix)
    x = sys.stdout.write("[Step 3]: Enabing the nbextension" + "\n")
    nb.enable_nbextension_python('latex_envs',
                                 user=user,
                                 sys_prefix=sys_prefix)
Exemple #26
0
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"]))
Exemple #27
0
 def handle_watchdog_event(self, event):
     """
     This is same as ``jupyter nbextension install --user --py --overwrite jupyter_myext``.
     """
     self.log.info('Installing nbextension')
     install_nbextension_python('jupyter_myext', overwrite=True, user=True)
Exemple #28
0
def install_nbextension():
    install_nbextension_python('iclientpy', overwrite=True, symlink=True, sys_prefix=True)
    enable_nbextension_python('iclientpy', sys_prefix=True)