Need help with gator?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

mamba-org
134 Stars 12 Forks Other 567 Commits 12 Opened issues

Description

Conda environment and package management extension from within Jupyter

Services available

!
?

Need anything else?

Contributors list

Gator

The Mamba Navigator, a Web UI for managing conda environments

Binder Install with conda npm Github Actions Status Coverage Status Swagger Validator

Provides Conda/Mamba environment and package management as a standalone application or as extension for Jupyter Notebook and JupyterLab.

Install

Requirements

  • conda >= 4.5 or mamba >=0.5
  • notebook >= 4.3
  • JupyterLab 2.x (for the jupyterlab extension only)

Starting from 3.4, this extension will use mamba instead of

conda
if it finds it.

To install in the classical notebook:

conda install -c conda-forge mamba_gator

To install in the JupyterLab:

conda install -c conda-forge jupyterlab mamba_gator
jupyter labextension install @mamba-org/gator-lab

Optionally, you could install

jupyterlab-tour
to add a help tour for the conda packages manager.

JupyterLab

This extension adds a new entry Conda Packages Manager in the Settings menu.

The first time, it can take quite some time to build the available packages list. But once it is obtained, it will be cached and updated to the background to have a smoother user experience.

jupyterlab_conda_extension

Navigator

This project contains a standalone navigator application sharing much of the code of the JupyterLab extension.

Try it online

Open Mamba Navigator: Binder

Open JupyterLab: Binder

lab-launcher

Classical Jupyter Notebook

This extension adds a Conda tab to the Jupyter file browser and a Conda Packages item to the Kernel menu.
Clicking on either of those elements will open the standalone navigator in a new tab.

Classical Notebook integration

Creating New Environments

There are three ways to create an environment:

  • Create a new environment Use the New Environment button at the top of the page, and select

    Python 3
    , or
    R
    to create a base environment with the corresponding packages. Note that if you want to run a Jupyter python kernel in the new environment, you must also install the
    ipykernel
    package in the environment.
  • Clone an existing environment Click the clone button next to an environment in the list, and enter the desired name of the new environment.

  • Import an exported environment from a YAML file

Development

conda create -c conda-forge -y -n gator python jupyterlab=2
conda install -c conda-forge -y -n gator --file requirements_dev.txt
conda activate gator
pip install -e .
jupyter nbextension install mamba_gator --py --sys-prefix --symlink
jupyter nbextension enable mamba_gator --py --sys-prefix
jupyter serverextension enable mamba_gator --py --sys-prefix

yarn install yarn run build:dev jupyter labextension link packages/common/ packages/labextension/

Acknowledgements

This work started as a fork by @fcollonval of the Anaconda nb_conda package. The decision to fork it came due to apparently dead status of the previous package and a need to integrate it within JupyterLab.

Then with the mamba initiative pushed by QuantStack it made sense to move the project in the

mamba-org
organization.

Changelog

4.1.0

  • Features
    • Dependencies graph (by clicking on the installed version for now) #83
  • Bug fix
    • Fix missing classical notebook extension #115
    • Fix mamba not detected on Windows #119

4.0.0

  • Features
    • Moving to mamba-org
    • Integrate a standalone application
    • Common frontend for JupyterLab, classical Notebook and Gator
    • Depend optionally on
      nb_conda_kernels

3.4.1

  • Features
    • Better logger
  • Bugs
    • Reduce UI freezing time by running expensive code in asynchronous executor

3.4.0

  • Features
    • Use
      mamba
      if available. Otherwise use
      conda
      #46
    • Move to GitHub workflow (extend coverage to JupyterLab code)
  • Bugs
    • Fix wrong redirection url in classic notebook #47
    • Fix channel given by full URL not properly handle #55

3.3.1

  • Bugs
    • Fix export always from history (settings ignored)

3.3.0

  • Features
    • Add a settings
      fromHistory
      to export an environment using
      --from-history
      (available for conda >= 4.7.12) #39
  • Bugs
    • Fixes absent
      channeldata.json
      file #36
    • Fixes environment update absent from public API #37
  • Documentation
    • Start REST API description with Swagger

3.2.0

  • Available package cache file is now writable for everybody to avoid trouble in multi-user context. #25
  • Add update environment from file through REST endpoint PATCH /environments/ #26
  • Switch to newer Python syntax async-await
  • To improve UI reactivity in Jupyterlab:

    • Long running task can now be cancelled #32
    • The available packages list is used to find updatable package. conda update --dry-run --all is not used any longer. But it is still used if the user request updating all possible packages.

3.1.0

  • Request environment list accept now
    whitelist
    =0 or 1 query arguments. If 1, the environment list is filtered to respect
    KernelSpecManager.whitelist
    . Default is 0, but it could be modified in user settings.
  • JupyterLab extension
    • IEnvironmentManager.getPackageManager()
      returns always the same
      Conda.IPackageManager
      otherwise signaling package operations would have been meaningless.
    • Add ability to specify kernel companions; i.e. check that if some packages are installed in a kernel, they must respect a certain version range. Companions can be specified through user settings.
    • Small UI tweaks

3.0.0

  • Rework the server/client API to be more RESTful and returns 202 status for long operations
  • Cache available packages list in temp directory
  • Improve greatly the coverage for the server extension
  • JupyterLab extension only:
    • Allow the user to change the proposed environment when creating one from scratch
    • Add signals to handle environnements and packages changes (see
      labextension\src\__tests__\services.spec.ts
      )
    • Improve the UI reactivity by using
      react-virtualized
      for the packages list
    • Improve the look and feel
  • Available packages truncation has been removed.

2.5.1

  • Catch SSLError when requesting
    channeldata.json
    file

2.5.0

  • Export in YAML format the environment (import in the older format is still supported).
  • Improve responsiveness by loading first installed packages. Then request available one.
  • BUG error is prompt when an environment is deleted although everything went well
  • Cache some API requests (GET environments, GET channels and GET available packages).
  • Available packages are now truncated to 100.
    • Use query argument
      $skip
      to skip N first packages
    • If the list is longer than 100, a entry
      $next
      in the response is returned. This is the request url to use to get the next batch of packages.
  • Report full error message in web browser console to ease debugging.

2.4.2

  • BUG environment not shown
  • BUG Installing package in develop mode fails if in user home or containing spaces
  • Improve error feedback from API to frontend

2.4.1

  • BUG
    conda search
    crashes for conda 4.6

2.4.0

  • Add installation of package in development mode (through
    pip
    )

2.3.x

  • Add JupyterLab extension inspired by Anaconda Navigator
    • Retrieve conda package description
    • Add link to package website (if available)
  • Support conda >=4.5
  • Make all conda request asynchronously
  • Use the automatic installation for Jupyter Notebook extension (see here)

2.2.1

  • fix bug in check updates feature

2.2.0

  • support conda 4.3
  • support notebook security fix introduced in notebook 4.3.1

2.1.0

  • fix environment export button
  • allow environment names with one letter and validate against "suspicious" characters

2.0.0

  • update to new jupytercondakernels naming scheme
  • namespace all API calls into
    /conda/

1.1.0

  • fix usage in root environment

1.0.1

  • minor build changes

1.0.0

  • Update to notebook 4.2

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.