Turn git repositories into Jupyter-enabled Docker Images
 
 
 
 
 
 
Go to file
Min RK b36a6a75f5 simplify python entrypoint
- remove redundant monitor sibling process
- use python3-login executable instead of login shell subprocess
  (same effect, but in more natural order)
- use non-blocking binary IO in tee instead of readline
  (switch to binary mode, as text wrappers don't support non-blocking mode
   see https://bugs.python.org/issue13322)
2021-03-09 10:45:47 +01:00
.circleci bump python in docs tests 2021-02-16 16:22:51 +01:00
.github Merge pull request #982 from betatim/codecov-for-gh-actions 2021-01-25 18:55:17 +00:00
docker
docs Merge pull request #988 from douardda/swhid 2021-01-26 13:56:29 +01:00
hooks
repo2docker simplify python entrypoint 2021-03-09 10:45:47 +01:00
tests implement entrypoint in Python 2021-02-17 16:13:42 +01:00
.codecov.yml Fix/rewrite paths for codecov filename matching 2021-01-23 10:51:41 +01:00
.coveragerc Changeg source file aliasing 2021-01-23 10:51:41 +01:00
.dockerignore
.gitattributes
.gitignore
.gitpod.yml
.pre-commit-config.yaml
CHANGES.rst
CONTRIBUTING.md Remove changelog reference 2021-01-20 15:29:05 +01:00
Dockerfile By default run Mercurial tests + enable the topic extension from code (no need for config file) 2020-09-10 21:48:46 +02:00
LICENSE
MANIFEST.in
Makefile
Pipfile
Pipfile.lock
README.md
ROADMAP.md
dev-requirements.txt Replace urllib by requests in contentproviders 2021-01-18 17:29:53 +01:00
docker-compose.test.yml
readthedocs.yml
setup.cfg
setup.py Add support for the SWHID content provider 2021-01-19 18:04:46 +01:00
versioneer.py

README.md

repo2docker

Deploy Status Build Status Documentation Status Contribute

repo2docker fetches a git repository and builds a container image based on the configuration files found in the repository.

See the repo2docker documentation for more information on using repo2docker.

For support questions please search or post to https://discourse.jupyter.org/c/binder.

See the contributing guide for information on contributing to repo2docker.

Using repo2docker

Prerequisites

  1. Docker to build & run the repositories. The community edition is recommended.
  2. Python 3.6+.

Supported on Linux and macOS. See documentation note about Windows support.

Installation

This a quick guide to installing repo2docker, see our documentation for a full guide.

To install from PyPI:

pip install jupyter-repo2docker

To install from source:

git clone https://github.com/jupyterhub/repo2docker.git
cd repo2docker
pip install -e .

Usage

The core feature of repo2docker is to fetch a git repository (from GitHub or locally), build a container image based on the specifications found in the repository & optionally launch the container that you can use to explore the repository.

Note that Docker needs to be running on your machine for this to work.

Example:

jupyter-repo2docker https://github.com/norvig/pytudes

After building (it might take a while!), it should output in your terminal something like:

    Copy/paste this URL into your browser when you connect for the first time,
    to login with a token:
        http://0.0.0.0:36511/?token=f94f8fabb92e22f5bfab116c382b4707fc2cade56ad1ace0

If you copy paste that URL into your browser you will see a Jupyter Notebook with the contents of the repository you had just built!

For more information on how to use repo2docker, see the usage guide.

Repository specifications

Repo2Docker looks for configuration files in the source repository to determine how the Docker image should be built. For a list of the configuration files that repo2docker can use, see the complete list of configuration files.

The philosophy of repo2docker is inspired by Heroku Build Packs.