This repository contains integrations to extend the capabilities of Haystack version 2.0 and
onwards. The code in this repo is maintained by deepset, see each integration's README
file for details around installation, usage and support.
You will need hatch
to work on or create new integrations, open this link
and follow the install instructions for your operating system and platform.
All the integrations are self contained, so the first step before working on one is to cd
into the proper folder.
For example, to run the tests suite for the Chroma document store, from the root of the repo:
$ cd integrations/chroma
$ hatch run test
Hatch will take care of setting up an isolated Python environment and run the tests.
Please check out our Contribution Guidelines for all the details.
Note
Only maintainers can release new versions of integrations. If you're a community contributor and want to release a new version of an integration, reach out to a maintainer.
To release a new version of an integration to PyPI tag the commit with the right version number and push the tag to GitHub. The GitHub Actions workflow will take care of the rest.
-
Tag the commit with the right version number
The tag needs to have the following format:
git tag integrations/<INTEGRATION_FOLDER_NAME>-<version>
For example, if we want to release version 1.0.99 of the google-vertex-haystack integration we'd have to push the tag:
git tag integrations/google_vertex-v1.0.99
-
Push the tag to GitHub
git push --tags origin
-
Wait for the CI to do its magic
Important
When releasing a new integration version, always tag a commit that includes the changes for that integration (usually the PR merge commit). If you tag a commit that doesn't include changes for the integration being released, the generated changelog will be incorrect.