binder-project / binder-build-core

The core logic for converting a directory containing dependencies into a Binder-compatible Docker image

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

πŸ’¨ πŸ’¨ The Binder Project is moving to a new repo. πŸ’¨ πŸ’¨

πŸ“š Same functionality. Better performance for you. πŸ“š

Over the past few months, we've been improving Binder's architecture and infrastructure. We're retiring this repo as it will no longer be actively developed. Future development will occur under the JupyterHub organization.

Thanks for updating your bookmarked links.

πŸ’¨ πŸ’¨ The Binder Project is moving to a new repo. πŸ’¨ πŸ’¨


binder-build-core

Core logic for converting a directory containing dependencies into a Binder-compatible Docker image

In Binder, the binder-build module is responsible for fetching repository contents and handing them off to binder-build-core, which will then use one of a set of supported configuration configuration files in the directory to construct a Docker image (an executable environment).

binder-build-core will search for the following files, in descending order of priority (only one will be used during the build process):

  1. Dockerfile
  2. requirements.txt
  3. environment.yml

The first one it finds will be passed into a dependency handler for conversion into Dockerfile commands. The list of available dependency handlers and configuration file types can be found in the dependencies directory

install

npm install binder-build-core

usage

var Builder = require('binder-build-core')
var buildOpts = { imageName: 'test', logger: logger }
var builder = new Builder(buildOpts)
builder.build(dirName, function (err, imageSource) {
  ...
})

About

The core logic for converting a directory containing dependencies into a Binder-compatible Docker image


Languages

Language:Jupyter Notebook 85.0%Language:JavaScript 11.1%Language:CSS 1.8%Language:Shell 0.9%Language:Python 0.8%Language:HTML 0.3%