Installation
Install the d2s client#
Install the d2s client and cwlref-runner with pipx on Linux and MacOS:
We recommend to use pipx if you just want to execute
d2s. You can also install with pip or pip3 depending on your preferences.
Requirements (see below for installation instructions):
- Python 3.6 and pip
- Docker-compose
- Git (download Git for Windows)
- The OpenShift CLI (
occommand) is required if you want to use experimental features to run services and workflows on OpenShift
See those instructions to install d2s on Windows using Chocolatey and pipx. CWL Workflow execution on Windows with the CWL reference runner requires WSL 2 and Docker Desktop.
Enable autocompletion#
Enabling commandline autocompletion in the terminal provides a better experience using the d2s client.
- ZSH: add the import autocomplete line to the
~/.zshrcfile.
Set your terminal to use ZSH by default:
A oh-my-zsh theme can be easily chosen for a personalized experience. See the zsh-theme-biradate to easily install a simple theme and configure your terminal in a few minutes.
- Bash: add the import autocomplete line to the
~/.bashrcfile.
Bash autocompletion needs to be tested.
Windows support#
Support of the d2s tool on Windows is a work in progress.
- Most workflow orchestrators do not support Windows, as workflows are based on Linux containers, see CWL workflows and Nextflow.
- Windows can run Docker, but not natively like Linux, making it more prone to errors.
CWL Workflow execution on Windows with the CWL reference runner works great with WSL 2 and Docker Desktop.
We recommend to use the Windows PowerShell terminal (which is easier to use than the basic terminal).
Try the client#
You need to open a new terminal for the autocomplete to be activated.
Use
Tabafter ad2scommand in the terminal to see all the available options (it will adapt to the command and dynamically retrieve your datasets and workflows!).
Download the GraphDB triplestore#
For licensing reason the GraphDB RDF triplestore free edition distribution needs to be downloaded manually 📥
Go to https://ontotext.com/products/graphdb/ and provide informations to get an email with the link to download GraphDB
Download the latest version of GraphDB as stand-alone server free version (
.zipfile)The
d2sclient will ask you to provide the path to the GraphDB distribution.zipfile when initializing the workspace.By default the
d2sclient will try to get the file from your home directory (e.g./home/my-user)
Update GraphDB version
Change the GraphDB version used by d2s to the one you downloaded by changing GRAPHDB_VERSION in the file .env in your project folder.
Install pipx#
If you just want to run d2s we recommend you to use pipx as it install the tool in an isolated environment. It can be compared to apt, brew or npx.
Consider doing a
pip install --upgrade pipto update your pip installation.
Instructions use
pip3to make surepipxis installed with Python3, but feel free to use your ownpipinstallation.
Install pipx on Ubuntu#
Install pipx on MacOS#
Install python3 and pip3 if not installed.
Install pipx on CentOS#
Install pipx on Windows#
We will use the Chocolatey package manager for Windows on the PowerShell. To install Chocolatey:
- Open the PowerShell as administrator to install Chocolatey and its packages.
- Check and fix system restrictions:
- Install Chocolatey on PowerShell:
See the official Chocolatey documentation.
Chocolatey can also be installed using a non-administrative shell. See the documentation.
Open the PowerShell as administrator and use Chocolatey to install Python 3.8 and pip:
A reboot of your system is required to complete the installation.
Pip does not need to be run as administrator (only
choco install)
We recommend using pipx if you are not developing on the d2s Python CLI:
Upgrade d2s version#
Upgrade d2s to the latest release:
Uninstall#
If you face issues where d2s or cwl-runner is already installed, try to make sure it is properly uninstall from pip:
If you are facing issue with No module name pip found, it might be due to pip and pipx version issues. Be careful when installing pip and pipx as you want it to properly use python3.6. Those commands will help you uninstalling pipx properly:
Install Docker#
On Ubuntu#
Install Docker and docker-compose.
sudo groupadd dockercould be required beforeusermodif the group has not been created.
On MacOS#
Use the Docker installer for MacOS (.dmg file) to install Docker and docker-compose.
If you have a DockerHub account you can use the DockerHub installer instead.
You can change Docker settings by clicking on the Docker icon 🐳 in the top bar, then click Preferences...
The volumes /Users and /tmp should be shared by default. It is recommended to create the d2s project folder in a subfolder of /Users.
On Windows#
We use Chocolatey to install Docker. See the pipx installation section to install Chocolatey.
Use docker-desktop for an easier installation if you have Windows Pro or Enterprise and a DockerHub account:
If you have Windows home or don't want to create a DockerHub account, use docker-toolbox:
Open the Docker Quickstart Terminal to start Docker.
Additional components that might be needed to install (VM and GUI):
Activate Virtualization#
Virtualization and Hyper-V must be activated. Check in the Task Manager , in tab Performance if Virtualization is enabled.
Check the documentation to enable it.
Docker-desktop installation will propose to install virtualization automatically after the Docker installation, if they are not installed.
Note that Docker Hyper-V is not available for Windows 10 Home edition (you will need Pro or Enterprise edition)
You might need to access the BIOS to enable VT-x virtualization
Share drive
By default docker-desktop and docker-toolbox are sharing your C:/Users volume. Docker will only be able to access folders and files in the Shared Drives. So make sure you execute d2s init somewhere in your users directories.
On
docker-desktopyou can change it in Docker config >Settings>Shared Drives> Share Drive C
On
docker-toolboxyou need to change the settings of the Virtual Box
Fix known issues#
DNS issue: Docker build can't access the internet. E.g.: getting
wget: unable to resolve host addressIf Docker can't access internet when building you might want to change the DNS (to use Google's one).
On Linux:
On Windows: go to
Docker Settings>Network>DNS Server>Fixed: 8.8.8.8
Firewall issue on Windows: it is common to face a firewall when Docker tries to connect to the internet
- This could be due to local services: try deactivate your firewall and/or antivirus
- If you are running it on your office network you might face issues related to the office network firewall. Try at home and contact your IT department if needed.
For more details on how to run Docker see the Docker guide.
Install Rabix Benten for VSCode#
Rabix Benten is a plugin for completion, error and warning messages for CWL files in Visual Studio Code.
Install the package using pipx:
And add CWL (Rabix/Benten) extension to Visual Studio Code.
Install Rabix Composer GUI#
Rabix Composer is a nice way to visualize CWL workflows.
Download the right installation file and run it.
Open the
d2s-corefolder in Rabix Composer.
Note that Rabix will overwrite how you originally wrote your CWL files, and add
xycoordinates to steps.
Try Apache Airflow#
Apache Airflow allow to run and monitor workflows. It requires to install the cwl-airflow package to add CWL compatibility.
Install Apache Airflow and the cwl-airflow pip package to get started.
cwl-airflow initfails:FileNotFoundError:[Errno 2]No such file or directory:'airflow'
Start Airflow:
Submit a workflow:
To be tested.
Try Toil#
Toil is a Python workflow manager which allows to run CWL workflows.
Install Toil for CWL:
Run a workflow
To be tested.