Skip to main content
Using the ADK in an air-gapped environment introduces additional challenges that you need to address:
  • The ADK Python package is hosted on PyPI, which is inaccessible in an air-gapped environment.
  • By default, watsonx Orchestrate pulls packages from PyPI when installing Python tools.

Prerequisites

As a site administrator, you need:
  • Access to a jumpbox that connects to both the internet and your Cloud Pak for Data cluster
  • A locally hosted Python package registry accessible from your internal network (common PyPI registry providers include Artifactory and Sonatype Nexus)

Uploading the ADK to your local PyPI registry

1

Get the dependencies list

On your jumpbox, run the following commands to get the full list of dependencies and generate wheel files for each ADK dependency:
# Install UV
curl -LsSf https://astral.sh/uv/install.sh | sh

# Create a UV Virtual environment
uv venv adk --seed --python=3.12
source adk/bin/activate

pip install ibm-watsonx-orchestrate==<supported_version>
pip freeze > requirements.txt
mkdir dependencies
cd dependencies
pip wheel -r ../requirements.txt
2

Upload wheel files

Upload all generated wheel files from the dependencies directory to your local PyPI registry provider.

Configuring Python tool imports

To import Python tools successfully, configure watsonx Orchestrate to pull the ADK from your local registry. All Python tools must be imported with a requirements.txt file that contains at least the following:
--extra-index-url https://my-pypi-registry
ibm-watsonx-orchestrate==<supported_version>
# Optional: Add other dependencies
my-dependency==dependency-version
Any dependencies other than the ADK that you want to use in your tools must also be uploaded to your PyPI registry by the site administrator.