Install Guide¶
This page is for installing Sophios as a package. It focuses on two things:
installing the Python package with
pip,installing the non-Python tools that local workflow execution may need.
If you want to edit Sophios itself, run the test suite, build the documentation, or use the repository examples directly from a checkout, use the Developer Install Guide instead.
Python Requirement¶
Sophios declares its supported Python range in pyproject.toml. For the current
package, use Python 3.11 or newer.
Check your interpreter:
python --version
If your system Python is older, create an environment with a newer Python before installing Sophios.
Install Sophios¶
Using a virtual environment is recommended:
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install sophios
On Windows PowerShell, activate the virtual environment with:
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install sophios
Verify the command-line entry point:
sophios --help
Verify the public Python APIs:
python - <<'PY'
from sophios.apis.python.workflow import Step, Workflow
from sophios.apis.python.tool_builder import CommandLineTool, Input, Output, cwl
from sophios.compute_payload import ComputeWorkflowPayload
print("Sophios is installed")
PY
What pip install sophios Provides¶
The sophios package installs the Python libraries needed for authoring,
compiling, validating, and running workflows through the supported Python APIs
and CLI.
That includes the Python packages for:
CWL compilation and local runner integration,
.wicYAML parsing and validation,Python workflow authoring with
StepandWorkflow,Python tool authoring with
CommandLineTool,compute payload construction and validation.
pip does not install every system executable that a workflow may call. The
next section covers those tools.
Install Non-Python Runtime Tools¶
The exact tools you need depend on the workflows you run.
Container Runtime¶
Install Docker or Podman when workflows use containerized CWL tools.
Sophios can author and compile workflows without Docker or Podman, but local execution of containerized tools requires a working container runtime.
Check one of:
docker --version
podman --version
For Docker, Docker Desktop is the usual path on macOS and Windows. On Linux, install Docker or Podman through your distribution package manager.
Node.js¶
Install Node.js when workflows use CWL JavaScript expressions such as
InlineJavascriptRequirement.
Check:
node --version
Install examples:
conda install -c conda-forge nodejs
brew install node
sudo apt-get update
sudo apt-get install -y nodejs
Graphviz¶
Install the Graphviz system package when you want rendered workflow diagrams.
The Python graphviz package installed by pip is only the Python binding; the
dot executable is a separate system dependency.
Check:
dot -V
Install examples:
conda install -c conda-forge graphviz
brew install graphviz
sudo apt-get update
sudo apt-get install -y graphviz
Tools Invoked by Your Workflow¶
Sophios describes workflows. It does not install every command-line program that your workflow might invoke.
For example, if your CWL tool runs samtools, python, bash, or a project
specific executable outside a container, that executable must be available in
the runtime environment.
Quick Environment Check¶
This check reports the optional system tools Sophios commonly uses:
python - <<'PY'
import shutil
checks = {
"node": "needed for CWL JavaScript expressions",
"dot": "needed for Graphviz diagrams",
"docker": "needed for Docker-backed local execution",
"podman": "needed for Podman-backed local execution",
}
for executable, reason in checks.items():
path = shutil.which(executable)
status = path if path else "not found"
print(f"{executable:>6}: {status} ({reason})")
PY
Missing optional tools are not always errors. Install the tools required by the workflows you plan to run.
Next Steps¶
After installation, start with the Python Workflow API. If you
need standalone .wic workflows or YAML editor validation, see
Advanced YAML and Operations.