2021-06-22 12:43:26 +05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								import  os  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  re  
						 
					
						
							
								
									
										
										
										
											2019-11-27 14:02:23 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								from  io  import  open  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								from  setuptools  import  find_packages ,  setup  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-06-18 17:43:38 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								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 
							 
						 
					
						
							
								
									
										
										
										
											2020-09-04 17:29:14 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                           if  not  ( ( line . strip ( ) [ 0 ]  ==  " # " )  or  line . strip ( ) . startswith ( ' --find-links ' )  or  ( " git+https "  in  line ) ) ] 
							 
						 
					
						
							
								
									
										
										
										
											2021-10-15 16:34:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-06-18 17:43:38 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    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 ' )  
						 
					
						
							
								
									
										
										
										
											2019-11-27 14:02:23 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-06-22 12:43:26 +05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								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 " )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-11-27 14:02:23 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								setup (  
						 
					
						
							
								
									
										
										
										
											2019-11-27 16:17:45 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    name = " farm-haystack " , 
							 
						 
					
						
							
								
									
										
										
										
											2021-06-22 12:43:26 +05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    version = _version , 
							 
						 
					
						
							
								
									
										
										
										
											2019-11-27 14:02:23 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    author = " Malte Pietsch, Timo Moeller, Branden Chan, Tanay Soni " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    author_email = " malte.pietsch@deepset.ai " , 
							 
						 
					
						
							
								
									
										
										
										
											2020-11-06 09:53:47 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    description = " Neural Question Answering & Semantic Search at Scale. Use modern transformer based models like BERT to find answers in large document collections " , 
							 
						 
					
						
							
								
									
										
										
										
											2020-11-02 20:15:10 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    long_description = open ( " README.md " ,  " r " ,  encoding = " utf-8 " ) . read ( ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    long_description_content_type = " text/markdown " , 
							 
						 
					
						
							
								
									
										
										
										
											2020-11-06 09:53:47 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    keywords = " QA Question-Answering Reader Retriever semantic-search search BERT roberta albert squad mrc transfer-learning language-model transformer " , 
							 
						 
					
						
							
								
									
										
										
										
											2019-11-27 14:02:23 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    license = " Apache " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    url = " https://github.com/deepset-ai/haystack " , 
							 
						 
					
						
							
								
									
										
										
										
											2021-06-22 12:43:26 +05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    download_url = f " https://github.com/deepset-ai/haystack/archive/ { _version } .tar.gz " , 
							 
						 
					
						
							
								
									
										
										
										
											2019-11-27 14:02:23 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    packages = find_packages ( exclude = [ " *.tests " ,  " *.tests.* " ,  " tests.* " ,  " tests " ] ) , 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-18 17:43:38 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    dependency_links = dependency_links , 
							 
						 
					
						
							
								
									
										
										
										
											2019-11-27 14:02:23 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    install_requires = parsed_requirements , 
							 
						 
					
						
							
								
									
										
										
										
											2021-06-01 15:24:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    python_requires = " >=3.7.0 " , 
							 
						 
					
						
							
								
									
										
										
										
											2019-11-27 14:02:23 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    tests_require = [ " pytest " ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    classifiers = [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        " Intended Audience :: Science/Research " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        " License :: OSI Approved :: Apache Software License " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        " Programming Language :: Python :: 3 " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        " Topic :: Scientific/Engineering :: Artificial Intelligence " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ] , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)