IRuby::Dependencies
IRuby::Dependencies
is a thin wrapper around bundler/inline for injecting Ruby dependencies into Jupyter Notebooks along with their system dependencies. For example,
require 'iruby/dependencies'
dependencies do
gem 'http'
gem 'addressable'
end
Installation
$ gem install iruby-dependencies
You'll have to restart any IRuby kernels already running.
Configuration
Most Jupyter notebooks run in highly reproducible environments (e.g. Docker containers). An IRuby::Dependencies
can be created that maps gems to the commands that must be executed before that gem can be installed. The config location should be saved as a Bundler config with the key dependencies.config
. The config location can be a local file path or URL. For example:
$ bundle config dependencies.config /home/jovyan/dependencies.config
RemThe config file itself is a JSON file that maps gem names to commands that should be executed before the gem is installed. For instance, in a CentOS/RHEL environment, the config entry would install the gsl
YUM package before installing the gsl
RubyGem:
{
'gsl': [
["exec", "yum install gsl"]
]
}
Usage
To see the normal bundler output, pass verbose: true
to the dependencies method:
dependencies verbose: true do
gem 'http'
gem 'addressable'
end