mirror of
https://github.com/deepset-ai/haystack.git
synced 2025-07-26 10:20:21 +00:00

* minimal DCDocumentStore * support filters * implement get_documents_by_id * handle not existing documents * add docstrings * auth added * add tests * generate docs * Add latest docstring and tutorial changes * add responses to dev dependencies * fix tests * support query() and quey_by_embedding() * Add latest docstring and tutorial changes * query tests added * read api_key and api_endpoint from env * Add latest docstring and tutorial changes * support query() and quey_by_embedding() * query tests added * Add latest docstring and tutorial changes * Add latest docstring and tutorial changes * support dynamic similarity and return_embedding values * Add latest docstring and tutorial changes * adjust KeywordDocumentStore description * refactoring * Add latest docstring and tutorial changes * implement get_document_count and raise on all not implemented methods * Add latest docstring and tutorial changes * don't use abbreviation DC in comments and errors * Add latest docstring and tutorial changes * docstring added to KeywordDocumentStore * Add latest docstring and tutorial changes * enhanced api key set * split tests into two parts * change setup.py in order to work around build cache * added link * Add latest docstring and tutorial changes * rename DCDocumentStore to DeepsetCloudDocumentStore * Add latest docstring and tutorial changes * remove dc.py * reinsert link to docs * fix imports * Add latest docstring and tutorial changes * better test structure Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: ArzelaAscoIi <kristof.herrmann@rwth-aachen.de>
89 lines
3.1 KiB
Python
89 lines
3.1 KiB
Python
import os
|
|
import re
|
|
from io import open
|
|
|
|
from setuptools import find_packages, setup
|
|
|
|
|
|
def parse_requirements(filename):
|
|
"""
|
|
Parse a requirements pip file returning the list of required packages. It exclude commented lines and --find-links directives.
|
|
|
|
Args:
|
|
filename: pip requirements requirements
|
|
|
|
Returns:
|
|
list of required package with versions constraints
|
|
|
|
"""
|
|
with open(filename) as file:
|
|
parsed_requirements = file.read().splitlines()
|
|
parsed_requirements = [line.strip()
|
|
for line in parsed_requirements
|
|
if not ((line.strip()[0] == "#") or line.strip().startswith('--find-links') or ("git+https" in line))]
|
|
|
|
return parsed_requirements
|
|
|
|
|
|
def get_dependency_links(filename):
|
|
"""
|
|
Parse a requirements pip file looking for the --find-links directive.
|
|
Args:
|
|
filename: pip requirements requirements
|
|
|
|
Returns:
|
|
list of find-links's url
|
|
"""
|
|
with open(filename) as file:
|
|
parsed_requirements = file.read().splitlines()
|
|
dependency_links = list()
|
|
for line in parsed_requirements:
|
|
line = line.strip()
|
|
if line.startswith('--find-links'):
|
|
dependency_links.append(line.split('=')[1])
|
|
return dependency_links
|
|
|
|
|
|
dependency_links = get_dependency_links('requirements.txt')
|
|
parsed_requirements = parse_requirements('requirements.txt')
|
|
|
|
|
|
def versionfromfile(*filepath):
|
|
infile = os.path.join(*filepath)
|
|
with open(infile) as fp:
|
|
version_match = re.search(
|
|
r"^__version__\s*=\s*['\"]([^'\"]*)['\"]", fp.read(), re.M
|
|
)
|
|
if version_match:
|
|
return version_match.group(1)
|
|
raise RuntimeError("Unable to find version string in {}.".format(infile))
|
|
|
|
|
|
here = os.path.abspath(os.path.dirname(__file__))
|
|
_version: str = versionfromfile(here, "haystack", "_version.py")
|
|
|
|
setup(
|
|
name="farm-haystack",
|
|
version=_version,
|
|
author="Malte Pietsch, Timo Moeller, Branden Chan, Tanay Soni",
|
|
author_email="malte.pietsch@deepset.ai",
|
|
description="Neural Question Answering & Semantic Search at Scale. Use modern transformer based models like BERT to find answers in large document collections",
|
|
long_description=open("README.md", "r", encoding="utf-8").read(),
|
|
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",
|
|
license="Apache",
|
|
url="https://github.com/deepset-ai/haystack",
|
|
download_url=f"https://github.com/deepset-ai/haystack/archive/{_version}.tar.gz",
|
|
packages=find_packages(exclude=["*.tests", "*.tests.*", "tests.*", "tests"]),
|
|
dependency_links=dependency_links,
|
|
install_requires=parsed_requirements,
|
|
python_requires=">=3.7.0",
|
|
tests_require=["pytest"],
|
|
classifiers=[
|
|
"Intended Audience :: Science/Research",
|
|
"License :: OSI Approved :: Apache Software License",
|
|
"Programming Language :: Python :: 3",
|
|
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
]
|
|
)
|