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

Pipeline Dependencies

Use the dependencies block in your pipeline YAML to declare extra Python packages your pipeline needs beyond the packages already available in the runtime. You can add this block to query pipeline YAML, indexing pipeline YAML, or both. Each entry must be a valid PEP 508 requirement string.


How Dependencies Are Checked​

Only approved package names are allowed. Haystack Enterprise Platform checks dependencies when you validate or deploy a pipeline, so disallowed packages are caught before the pipeline environment is built.

A few rules apply:

  • Package names are matched regardless of casing, underscores, dots, or hyphens. For example, Sentence_Transformers and sentence-transformers are treated as the same package.
  • Direct URL references, such as some-package @ https://example.com/package.whl, are never allowed, even if the package name is approved.
  • haystack-ai is always allowed when you use it to pin the Haystack Open Source version.

If validation rejects a dependency, the error points to the specific entry in the dependencies list. The error message includes only the package name, not the full requirement string.

Allowed Packages​

Besides haystack-ai, you can add these packages to the dependencies block:

  • amazon-bedrock-haystack
  • anthropic-haystack
  • claude-agent-sdk
  • mcp
  • mcp-haystack
  • opensearch-haystack
  • oxrdflib
  • pyjwt
  • sentence-transformers
  • sentence-transformers-haystack
  • spacy
  • torchvision