Skip to main content
For the complete documentation index for agents and LLMs, see llms.txt.

Migrate from the deepset Cloud SDK

Migrate from the legacy deepset Cloud SDK to the Haystack Enterprise SDK. We actively maintain the Haystack Enterprise SDK. The legacy deepset Cloud SDK is no longer supported and will be deprecated in the future.


What Changed

This table shows the key differences between the two SDKs:

BeforeNow
Productdeepset Cloud SDKHaystack Enterprise SDK
Packagedeepset-cloud-sdkhaystack-enterprise-sdk
Importdeepset_cloud_sdkhaystack_enterprise_sdk
CLI commanddeepset-cloud (or python -m deepset_cloud_sdk.cli)haystack-enterprise (or python -m haystack_enterprise_sdk.cli)
Config file~/.deepset-cloud/.env~/.haystack-enterprise/.env
Platformdeepset Cloud, deepset AI PlatformHaystack Enterprise Platform

Identifiers That Keep the Old Name

Two identifiers still contain deepset_cloud. They're part of the platform's wire contract, not branding, so leave them as they are:

  • deepset_cloud_custom_nodes.* — the import path prefix for components the platform provides. It appears in the type field of those components in your generated pipeline YAML.
  • deepset_cloud_version — a field in the deployment payload the SDK sends to the platform.

You see both in --dry-run output. Don't change them.

Migrate to the Haystack Enterprise SDK

  1. Remove the old package:

    pip uninstall deepset-cloud-sdk
    # or, if you installed it as a tool
    uv tool uninstall deepset-cloud-sdk
  2. Install the Haystack EnterpriseSDK.

  3. Log in to the Haystack Enterprise Platform. The SDK reads ~/.haystack-enterprise/.env. Your old ~/.deepset-cloud/.env is ignored.

    haystack-enterprise login

    You can also move the file yourself. The contents are unchanged (API_KEY, API_URL, DEFAULT_WORKSPACE_NAME):

    mkdir -p ~/.haystack-enterprise
    cp ~/.deepset-cloud/.env ~/.haystack-enterprise/.env

    Project-local .env files need no change. You can use the same file for both SDKs.

  4. Update your imports:

    # before
    from deepset_cloud_sdk.workflows.sync_client.files import upload

    # now
    from haystack_enterprise_sdk.workflows.sync_client.files import upload
  5. Update scripts and CI that call the old command. The subcommands you already use (login, upload, download, list-files, and others) keep their names and flags.

    # before
    deepset-cloud upload ./my-files

    # now
    haystack-enterprise upload ./my-files

    The pipeline commands validate, run, deploy, and service-status are new in the renamed package and have no deepset-cloud equivalent.