GithubHelp home page GithubHelp logo

rgbkrk / jupyterhub Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jupyterhub/jupyterhub

2.0 2.0 0.0 135 KB

Multi-user server for Jupyter notebooks

License: Other

Python 86.03% CSS 1.07% Shell 0.60% JavaScript 12.30%

jupyterhub's Introduction

JupyterHub: A multi-user server for Jupyter notebooks

This repo hosts the development of a multi-user server to manage and proxy multiple instances of the single-user IPython Jupyter notebook server.

Three actors:

  • multi-user Hub (tornado process)
  • configurable http proxy (node-http-proxy)
  • multiple single-user IPython notebook servers (Python/IPython/tornado)

Basic principles:

  • Hub spawns proxy
  • Proxy forwards ~all requests to hub by default
  • Hub handles login, and spawns single-user servers on demand
  • Hub configures proxy to forward url prefixes to single-user servers

Dependencies

First install the configurable HTTP proxy package (-g for global install):

npm install [-g] jupyter/configurable-http-proxy

Next install bower to fetch the JavaScript dependencies and less to compile CSS:

npm install -g bower less

Note on debian/ubuntu machines, you may need to install the nodejs-legacy package to get node executables to work:

sudo apt-get install nodejs-legacy

This installs the traditional node executable, in addition to debian's renamed nodejs executable, with which the apt-get installed npm doesn't actually work.

Installation

Then you can install the Python package by doing:

pip install .

This will fetch Javascript dependencies and compile CSS, and install these files to sys.prefix/share/jupyter.

Development install

For a development install:

pip install -e .

In which case you may need to manually update javascript and css after some updates, with:

python setup.py bower # fetch updated js (changes rarely)
python setup.py css   # recompile CSS from LESS sources

Running the server

To start the server, run the command:

jupyterhub

and then visit http://localhost:8000, and sign in with your unix credentials.

If you want multiple users to be able to sign into the server, you will need to run the jupyterhub command as a privileged user, such as root.

jupyterhub's People

Contributors

minrk avatar rgbkrk avatar ellisonbg avatar tsaeger avatar

Stargazers

Ravi Maggon avatar Murali Ravipudi 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.