Git Product home page Git Product logo

ganimede's Introduction

Ganimede Jupyter Notebook

Build status

Description

Ganimede is a Jupyter Notebook server that contains additional Jupyter tools and libraries in order to get a more complete solution without the hassle of installing and configuring them. Ganimede can be used either as a Docker container or inside conda environments. For more details on how to setup Ganimede in conda environment look at the section below.

Quickstart

To run the Ganimede docker container:

make docker-pull
make docker-run

Go to http://localhost:8888 to access to the JupyterLab.

List of available packages/tools

The docker image is built on top of all-spark-notebook image. The following are the package/tools provided by Ganimede apart from the ones already available in all-spark-notebok.

Jupyter tools

Libraries available

Data processing libraries

Data visualization libraries

NLP related libraries

Machine learning libraries

Manage Docker images

To pull Ganimede from Docker Hub:

make docker-pull

To build the Ganimede Docker image:

make docker-build

To remove an old image:

# Get list of all existing images
docker images
# To clean up disk with old images
docker image rm <name-image>

Manage Docker containers

Basic commands

To see all containers (even the ones no longer running):

docker ps -a

To kill a running container (for gracefully stop use stop command instead):

docker kill <container-id>

To remove old containers (use --rm when using run command to avoid this annoying step):

docker rm <container-id>

Start container

To run the Docker container:

make docker-run WORK_DIR="/path/to/workdir"

To run the Docker container in background:

make docker-background-run WORK_DIR="/path/to/workdir"

For more information take a look here.

To automatically start container at boot time:

make docker-boot-run WORK_DIR="/path/to/workdir"

For more information take a look here.

Persist Jupyter user settings

The folder .jupyter contains the jupyter settings. Add the following mount when running the container, considering your settings are located in /home/username/jupyter-config:

     -v /home/username/jupyter-config/bash_history:/home/jovyan/.bash_history \
     -v /home/username/jupyter-config/jupyter:/home/jovyan/.jupyter

Using systemd (recommended)

If your system supports systemd you can run Ganimede as a Systemd service

make start-systemd-service WORK_DIR="/path/to/workdir"

Restart docker via systemd

sudo systemctl restart docker

Run shell in container

To run a shell in the Docker container:

make docker-shell

Clean up unused containers, networks, volumes and images

docker system prune --all --volumes

Manage Conda environments

There are scenarios where the Jupyter tools and the python libraries are in different conda environments. You can use the scripts in bin/ directory to setup specific set of packages depending on the environment.

For example to setup the Ganimede tools in the conda environment jupyter-server and setup python libraries to myenv:

make -f Makefile-conda conda-setup-tools CONDA_ENV=jupyter-server
make -f Makefile-conda conda-setup-libraries CONDA_ENV=myenv

ganimede's People

Contributors

fsquillace avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.