mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-06-08 22:33:52 +00:00
The content of `env.HOME` is a string taken as verbatim value for the home directory name. In particular, `env.HOME` isn't evaluated by bash. Hence, `pass-git-helper`, `haystack-ai` and `molecule` created unintended directories which ended up in the derivation. Now, they use a temporary directory which doesn't end up in the derivation. Note that haystack-ai is currently broken. Hence, I don't know if setting `HOME` is actually necessary. In any case, it's misleading.
268 lines
4.7 KiB
Nix
268 lines
4.7 KiB
Nix
{
|
|
lib,
|
|
buildPythonPackage,
|
|
fetchFromGitHub,
|
|
hatchling,
|
|
writableTmpDirAsHomeHook,
|
|
boilerpy3,
|
|
events,
|
|
httpx,
|
|
jsonschema,
|
|
lazy-imports,
|
|
more-itertools,
|
|
networkx,
|
|
pandas,
|
|
pillow,
|
|
platformdirs,
|
|
posthog,
|
|
prompthub-py,
|
|
pydantic,
|
|
quantulum3,
|
|
rank-bm25,
|
|
requests,
|
|
requests-cache,
|
|
scikit-learn,
|
|
sseclient-py,
|
|
tenacity,
|
|
tiktoken,
|
|
tqdm,
|
|
transformers,
|
|
openai-whisper,
|
|
boto3,
|
|
botocore,
|
|
# , beir
|
|
selenium,
|
|
coverage,
|
|
dulwich,
|
|
# , jupytercontrib
|
|
mkdocs,
|
|
mypy,
|
|
pre-commit,
|
|
psutil,
|
|
# , pydoc-markdown
|
|
pylint,
|
|
pytest,
|
|
pytest-asyncio,
|
|
pytest-cov,
|
|
# , pytest-custom-exit-code
|
|
python-multipart,
|
|
reno,
|
|
responses,
|
|
toml,
|
|
tox,
|
|
watchdog,
|
|
elastic-transport,
|
|
elasticsearch,
|
|
# , azure-ai-formrecognizer
|
|
beautifulsoup4,
|
|
markdown,
|
|
python-docx,
|
|
python-frontmatter,
|
|
python-magic,
|
|
tika,
|
|
black,
|
|
huggingface-hub,
|
|
sentence-transformers,
|
|
mlflow,
|
|
rapidfuzz,
|
|
scipy,
|
|
seqeval,
|
|
pdf2image,
|
|
pytesseract,
|
|
faiss-cpu,
|
|
# , faiss-gpu
|
|
pinecone-client,
|
|
onnxruntime,
|
|
onnxruntime-tools,
|
|
# , onnxruntime-gpu
|
|
opensearch-py,
|
|
pymupdf,
|
|
langdetect,
|
|
nltk,
|
|
canals,
|
|
jinja2,
|
|
openai,
|
|
aiorwlock,
|
|
ray,
|
|
psycopg2,
|
|
sqlalchemy,
|
|
sqlalchemy-utils,
|
|
weaviate-client,
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "haystack-ai";
|
|
version = "2.22.0";
|
|
pyproject = true;
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "deepset-ai";
|
|
repo = "haystack";
|
|
tag = "v${version}";
|
|
hash = "sha256-QqQTlyVUJU90lzMUe43Qd0WXXaxUi/53apvz/GlrsY0=";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
hatchling
|
|
writableTmpDirAsHomeHook
|
|
];
|
|
|
|
propagatedBuildInputs = [
|
|
boilerpy3
|
|
events
|
|
httpx
|
|
jsonschema
|
|
lazy-imports
|
|
more-itertools
|
|
networkx
|
|
pandas
|
|
pillow
|
|
platformdirs
|
|
posthog
|
|
prompthub-py
|
|
pydantic
|
|
quantulum3
|
|
rank-bm25
|
|
requests
|
|
requests-cache
|
|
scikit-learn
|
|
sseclient-py
|
|
tenacity
|
|
tiktoken
|
|
tqdm
|
|
transformers
|
|
];
|
|
|
|
optional-dependencies = {
|
|
# all = [
|
|
# farm-haystack
|
|
# ];
|
|
# all-gpu = [
|
|
# farm-haystack
|
|
# ];
|
|
audio = [ openai-whisper ];
|
|
aws = [
|
|
boto3
|
|
botocore
|
|
];
|
|
# beir = [
|
|
# beir
|
|
# ];
|
|
colab = [ pillow ];
|
|
crawler = [ selenium ];
|
|
dev = [
|
|
coverage
|
|
dulwich
|
|
# jupytercontrib
|
|
mkdocs
|
|
mypy
|
|
pre-commit
|
|
psutil
|
|
# pydoc-markdown
|
|
pylint
|
|
pytest
|
|
pytest-asyncio
|
|
pytest-cov
|
|
# pytest-custom-exit-code
|
|
python-multipart
|
|
reno
|
|
responses
|
|
toml
|
|
tox
|
|
watchdog
|
|
];
|
|
elasticsearch7 = [
|
|
elastic-transport
|
|
elasticsearch
|
|
];
|
|
elasticsearch8 = [
|
|
elastic-transport
|
|
elasticsearch
|
|
];
|
|
file-conversion = [
|
|
# azure-ai-formrecognizer
|
|
beautifulsoup4
|
|
markdown
|
|
python-docx
|
|
python-frontmatter
|
|
python-magic
|
|
# python-magic-bin
|
|
tika
|
|
];
|
|
formatting = [ black ];
|
|
inference = [
|
|
huggingface-hub
|
|
sentence-transformers
|
|
transformers
|
|
];
|
|
metrics = [
|
|
mlflow
|
|
rapidfuzz
|
|
scipy
|
|
seqeval
|
|
];
|
|
ocr = [
|
|
pdf2image
|
|
pytesseract
|
|
];
|
|
only-faiss = [ faiss-cpu ];
|
|
# only-faiss-gpu = [
|
|
# faiss-gpu
|
|
# ];
|
|
only-pinecone = [ pinecone-client ];
|
|
onnx = [
|
|
onnxruntime
|
|
onnxruntime-tools
|
|
];
|
|
# onnx-gpu = [
|
|
# onnxruntime-gpu
|
|
# onnxruntime-tools
|
|
# ];
|
|
opensearch = [ opensearch-py ];
|
|
pdf = [ pymupdf ];
|
|
preprocessing = [
|
|
langdetect
|
|
nltk
|
|
];
|
|
preview = [
|
|
canals
|
|
jinja2
|
|
lazy-imports
|
|
openai
|
|
pandas
|
|
rank-bm25
|
|
requests
|
|
tenacity
|
|
tqdm
|
|
];
|
|
ray = [
|
|
aiorwlock
|
|
ray
|
|
];
|
|
sql = [
|
|
psycopg2
|
|
sqlalchemy
|
|
sqlalchemy-utils
|
|
];
|
|
weaviate = [ weaviate-client ];
|
|
};
|
|
|
|
# the setup for test is intensive, hopefully can be done at some point
|
|
doCheck = false;
|
|
|
|
pythonImportsCheck = [ "haystack" ];
|
|
|
|
meta = {
|
|
description = "LLM orchestration framework to build customizable, production-ready LLM applications";
|
|
longDescription = ''
|
|
LLM orchestration framework to build customizable, production-ready LLM applications. Connect components (models, vector DBs, file converters) to pipelines or agents that can interact with your data. With advanced retrieval methods, it's best suited for building RAG, question answering, semantic search or conversational agent chatbots
|
|
'';
|
|
changelog = "https://github.com/deepset-ai/haystack/releases/tag/${src.tag}";
|
|
homepage = "https://github.com/deepset-ai/haystack";
|
|
license = lib.licenses.asl20;
|
|
maintainers = with lib.maintainers; [ happysalada ];
|
|
# https://github.com/deepset-ai/haystack/issues/5304
|
|
broken = lib.versionAtLeast pydantic.version "2";
|
|
};
|
|
}
|