mirror of
https://github.com/deepset-ai/haystack.git
synced 2025-07-31 04:38:23 +00:00
263 lines
7.0 KiB
INI
263 lines
7.0 KiB
INI
[metadata]
|
|
name = farm-haystack
|
|
version = file: VERSION.txt
|
|
url = https://github.com/deepset-ai/haystack
|
|
project_urls =
|
|
Docs: RTD = https://haystack.deepset.ai/overview/intro
|
|
CI: GitHub = https://github.com/deepset-ai/haystack/actions
|
|
GitHub: issues = https://github.com/deepset-ai/haystack/issues
|
|
GitHub: repo = https://github.com/deepset-ai/haystack
|
|
description = Neural Question Answering & Semantic Search at Scale. Use modern transformer based models like BERT to find answers in large document collections
|
|
long_description = file: README.md
|
|
long_description_content_type = text/markdown
|
|
keywords=
|
|
QA
|
|
Question-Answering
|
|
Reader
|
|
Retriever
|
|
semantic-search
|
|
search
|
|
BERT
|
|
roberta
|
|
albert
|
|
squad
|
|
mrc
|
|
transfer-learning
|
|
language-model
|
|
transformer
|
|
author = deepset.ai
|
|
author_email = malte.pietsch@deepset.ai
|
|
license = Apache License 2.0
|
|
license_file = LICENSE
|
|
platforms = any
|
|
classifiers =
|
|
Development Status :: 5 - Production/Stable
|
|
Intended Audience :: Science/Research
|
|
License :: Freely Distributable
|
|
License :: OSI Approved :: Apache Software License
|
|
Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
Operating System :: OS Independent
|
|
Programming Language :: Python
|
|
Programming Language :: Python :: 3
|
|
Programming Language :: Python :: 3.7
|
|
Programming Language :: Python :: 3.8
|
|
Programming Language :: Python :: 3.9
|
|
Programming Language :: Python :: 3.10
|
|
|
|
[options]
|
|
use_scm_version = True
|
|
python_requires = >=3.7, <4
|
|
packages = find:
|
|
setup_requires =
|
|
setuptools
|
|
wheel
|
|
install_requires =
|
|
importlib-metadata; python_version < '3.8'
|
|
torch>1.9,<1.13
|
|
requests
|
|
pydantic
|
|
transformers==4.20.1
|
|
nltk
|
|
pandas
|
|
|
|
# Utils
|
|
dill # pickle extension for (de-)serialization
|
|
tqdm # progress bars in model download and training scripts
|
|
networkx # graphs library
|
|
mmh3 # fast hashing function (murmurhash3)
|
|
quantulum3 # quantities extraction from text
|
|
posthog # telemetry
|
|
azure-ai-formrecognizer==3.2.0b2 # forms reader
|
|
# audio's espnet-model-zoo requires huggingface-hub version <0.8 while we need >=0.5 to be able to use create_repo in FARMReader
|
|
huggingface-hub<0.8.0,>=0.5.0
|
|
|
|
# Preprocessing
|
|
more_itertools # for windowing
|
|
python-docx
|
|
langdetect # for PDF conversions
|
|
tika # Apache Tika (text & metadata extractor)
|
|
|
|
# See haystack/nodes/retriever/_embedding_encoder.py, _SentenceTransformersEmbeddingEncoder
|
|
sentence-transformers>=2.2.0
|
|
|
|
# for stats in run_classifier
|
|
scipy>=1.3.2
|
|
scikit-learn>=1.0.0
|
|
|
|
# Metrics and logging
|
|
seqeval
|
|
mlflow
|
|
|
|
# Elasticsearch
|
|
elasticsearch>=7.7,<7.11
|
|
elastic-apm
|
|
|
|
# context matching
|
|
rapidfuzz>=2.0.15,<3
|
|
|
|
# Schema validation
|
|
jsonschema
|
|
|
|
|
|
[options.packages.find]
|
|
exclude =
|
|
rest_api*
|
|
test*
|
|
tutorials*
|
|
ui*
|
|
|
|
|
|
[options.package_data]
|
|
haystack =
|
|
json-schemas/*.schema.json
|
|
|
|
|
|
[options.extras_require]
|
|
sql =
|
|
sqlalchemy>=1.4.2,<2
|
|
sqlalchemy_utils
|
|
psycopg2-binary; platform_system != 'Windows'
|
|
only-faiss =
|
|
faiss-cpu>=1.6.3,<2
|
|
faiss =
|
|
farm-haystack[sql,only-faiss]
|
|
only-faiss-gpu =
|
|
faiss-gpu>=1.6.3,<2
|
|
faiss-gpu =
|
|
farm-haystack[sql,only-faiss-gpu]
|
|
only-milvus1 =
|
|
pymilvus<2.0.0 # Refer milvus version support matrix at https://github.com/milvus-io/pymilvus#install-pymilvus
|
|
milvus1 =
|
|
farm-haystack[sql,only-milvus1]
|
|
only-milvus =
|
|
pymilvus>=2.0.0,<3 # Refer milvus version support matrix at https://github.com/milvus-io/pymilvus#install-pymilvus
|
|
milvus =
|
|
farm-haystack[sql,only-milvus]
|
|
weaviate =
|
|
weaviate-client==3.6.0
|
|
only-pinecone =
|
|
pinecone-client
|
|
pinecone =
|
|
farm-haystack[sql,only-pinecone]
|
|
graphdb =
|
|
SPARQLWrapper
|
|
inmemorygraph =
|
|
SPARQLWrapper
|
|
opensearch =
|
|
opensearch-py>=2
|
|
docstores =
|
|
farm-haystack[faiss,milvus,weaviate,graphdb,inmemorygraph,pinecone,opensearch]
|
|
docstores-gpu =
|
|
farm-haystack[faiss-gpu,milvus,weaviate,graphdb,inmemorygraph,pinecone,opensearch]
|
|
|
|
audio =
|
|
pyworld<=0.2.12; python_version >= '3.10'
|
|
espnet
|
|
espnet-model-zoo
|
|
pydub
|
|
beir =
|
|
beir; platform_system != 'Windows'
|
|
crawler =
|
|
selenium>=4.0.0,!=4.1.4 # Avoid 4.1.4 due to https://github.com/SeleniumHQ/selenium/issues/10612
|
|
webdriver-manager
|
|
preprocessing =
|
|
beautifulsoup4
|
|
markdown
|
|
python-magic; platform_system != 'Windows' # Depends on libmagic: https://pypi.org/project/python-magic/
|
|
python-magic-bin; platform_system == 'Windows' # Needs to be installed without python-magic, otherwise Windows CI gets stuck.
|
|
ocr =
|
|
pytesseract==0.3.7
|
|
pillow
|
|
pdf2image==1.14.0
|
|
onnx =
|
|
onnxruntime
|
|
onnxruntime_tools
|
|
onnx-gpu =
|
|
onnxruntime-gpu
|
|
onnxruntime_tools
|
|
ray =
|
|
ray>=1.9.1,<2; platform_system != 'Windows'
|
|
ray>=1.9.1,<2,!=1.12.0; platform_system == 'Windows' # Avoid 1.12.0 due to https://github.com/ray-project/ray/issues/24169 (fails on windows)
|
|
aiorwlock>=1.3.0,<2
|
|
|
|
colab =
|
|
grpcio==1.47.0
|
|
requests>=2.25 # Needed to avoid dependency conflict with crawler https://github.com/deepset-ai/haystack/pull/2921
|
|
dev =
|
|
pre-commit
|
|
# Type check
|
|
mypy
|
|
typing_extensions; python_version < '3.8'
|
|
# Test
|
|
pytest
|
|
pytest-custom_exit_code # used in the CI
|
|
responses
|
|
tox
|
|
coverage
|
|
python-multipart
|
|
psutil
|
|
# Linting
|
|
pylint
|
|
# Code formatting
|
|
black[jupyter]==22.6.0
|
|
# Documentation
|
|
pydoc-markdown==4.5.1 # FIXME Unpin!
|
|
# azure-core is a dependency of azure-ai-formrecognizer
|
|
# In order to stop malicious pip backtracking during pip install farm-haystack[all] documented in https://github.com/deepset-ai/haystack/issues/2280
|
|
# we have to resolve a dependency version conflict ourself.
|
|
# azure-core>=1.23 conflicts with pydoc-markdown's dependency on databind>=1.5.0 which itself requires typing-extensions<4.0.0
|
|
# azure-core>=1.23 needs typing-extensions>=4.0.1
|
|
# pip unfortunately backtracks into the databind direction ultimately getting lost.
|
|
azure-core<1.23
|
|
mkdocs
|
|
jupytercontrib
|
|
watchdog #==1.0.2
|
|
requests-cache
|
|
test =
|
|
farm-haystack[docstores,audio,crawler,preprocessing,ocr,ray,dev]
|
|
all =
|
|
farm-haystack[docstores,audio,crawler,preprocessing,ocr,ray,dev,onnx,beir]
|
|
all-gpu =
|
|
farm-haystack[docstores-gpu,audio,crawler,preprocessing,ocr,ray,dev,onnx-gpu,beir]
|
|
|
|
|
|
[tool:pytest]
|
|
testpaths =
|
|
test
|
|
rest_api/test
|
|
ui/test
|
|
python_files =
|
|
test_*.py
|
|
addopts =
|
|
-vv
|
|
|
|
|
|
[mypy]
|
|
warn_return_any = false
|
|
warn_unused_configs = true
|
|
ignore_missing_imports = true
|
|
plugins = pydantic.mypy
|
|
|
|
|
|
[tox]
|
|
requires = tox-venv
|
|
setuptools >= 30.0.0
|
|
envlist = py36,py37
|
|
|
|
|
|
[testenv]
|
|
changedir = test
|
|
deps =
|
|
coverage
|
|
pytest
|
|
pandas
|
|
setenv =
|
|
COVERAGE_FILE = test-reports/.coverage
|
|
PYTEST_ADDOPTS = --junitxml=test-reports/{envname}/junit.xml -vv
|
|
commands =
|
|
coverage run --source haystack --parallel-mode -m pytest {posargs}
|
|
coverage combine
|
|
coverage report -m
|
|
coverage html -d test-reports/coverage-html
|
|
coverage xml -o test-reports/coverage.xml
|