Domino is pre-installed with many common libraries, so we recommend that you first try running your code before customizing your configuration. If you need to, there are specific ways to add your own dependencies for…
If you have more specialized dependencies, please let us know.
By default, Domino runs each of your scripts (or interactive sessions) from a fresh environment. This means any packages you install will be installed to your environment each time you start an execution. We have more advanced functionality for managing your own compute environments with software changes that stay permanently installed, which can speed up execution start times. See our section about working with raw Dockerfiles to learn more about creating your own custom environments.
Add your own packages
To specify your own additional dependencies, you can use
pip with Domino. To specify
module dependencies for your project, add a
pip
requirements file named requirements.txt
to the root of your project
folder.
The requirements file specifies which libraries and any version requirements for them. An example:
pandas
lxml==3.2.3
numpy>=1.7.1
For a full reference on the syntax of the requirements file, read this.
If you’re using pip on your local machine, the easiest way to generate
the requirements.txt
file is to run the following command in the root
of your project folder:
~/domino/myProject $ pip freeze > requirements.txt
For performance reasons, you should prune that file so that it includes only the libraries you need for your actual analysis.
Alternatively, if you’re working in a Jupyter Notebook, you can also use pip to install dependencies interactively. In a notebook cell, you can run
! pip install --user <package>
(The '!' tells the notebook to execute the cell as a shell command.)
Install Packages Hosted from a Git Repository
Pip can install Python packages from source by cloning a public Git
repository over https. For full reference, see
here. To specify
this, you will need to add something like the following line to your
requirements.txt
file:
-e git+https://git.yourproject.org/you/Project.git#egg=YourProject
The most common host of Git projects is GitHub. If the package you wish to install is publicly accessible, then the instructions above will work. However, if you need to install any private repositories, Domino can securely integrate with GitHub to access those private repositories. Read our instructions on securely storing your Github credentials.
If you’re using Domino for R scripts, you may also want to check out our R Package for controlling Domino in your R IDE.
Most common packages are installed by default (you can include
installed.packages()
at the start of your script to print out a list
of installed packages). If you need additional packages, you can use R’s
built-in package manager to install and load them: simply add
install.packages
calls for any packages your code needs to the top of
your R scripts, for example,
install.packages("rpart", dependencies=TRUE, repos='http://cran.us.r-project.org')
# install other packages...
library('rpart')
# rest of your script...
These package installation calls must be at the top of every R script that Domino runs. If your packages take a long time to install, we recommend that you create a custom compute environment for efficiency.
Model monitoring in Domino 5.0 requires packages that are specific to the 5.0 release. When you upgrade to Domino 5.0 from a previous release, a 5.0 DSE with these packages is created automatically, but it is not the default environment. In order to take advantage of new features in the 5.0 release, you can either configure your projects to use the 5.0 DSE or add individual 5.0 packages to your existing environments. This section explains how to add 5.0 packages to your existing environments.
Install the Domino Data API
The Domino Data API currently supports Python only. Install it as follows:
USER root
RUN python -m pip install "dominodatalab[data]"
USER ubuntu