-
Notifications
You must be signed in to change notification settings - Fork 1.5k
/
setup.py
81 lines (74 loc) · 2.84 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#!/usr/bin/env python
import os
import platform
import re
import sys
from setuptools import find_packages, setup, Extension
from pathlib import Path
VERSION_FILE = "llmware/__init__.py"
with open(VERSION_FILE, encoding='utf-8') as version_file:
match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]",version_file.read(), re.MULTILINE)
if match:
version = match.group(1)
else:
raise RuntimeError(f"Unable to find version string in {VERSION_FILE}.")
with open("README.md", encoding='utf-8') as readme_file:
long_description = readme_file.read()
def glob_fix(package_name, glob):
# this assumes setup.py lives in the folder that contains the package
package_path = Path(f'./{package_name}').resolve()
return [str(path.relative_to(package_path))
for path in package_path.glob(glob)]
setup(
name="llmware", # Required
version=version, # Required
description="An enterprise-grade LLM-based development framework, tools, and fine-tuned models", # Optional
long_description=long_description, # Optional
long_description_content_type="text/markdown", # Optional
url="https://github.com/llmware-ai",
project_urls={
'Repository': 'https://github.com/llmware-ai/llmware',
},
author="llmware",
author_email="[email protected]", # Optional
classifiers=[ # Optional
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Topic :: Software Development",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12"
],
keywords="ai,llm,rag,data,development", # Optional
packages=['llmware'],
package_data={'llmware': ['*.c', '*.so', '*.dylib', '.dylibs/*', *glob_fix('llmware', 'lib/**/*')], 'llmware.libs': ['*']},
python_requires=">=3.9",
zip_safe=True,
install_requires=[
'boto3>=1.24.53',
'huggingface-hub>=0.19.4',
'numpy>=1.23.2',
'pymongo>=4.7.0',
'tokenizers>=0.15.0',
'psycopg-binary==3.1.17',
'psycopg==3.1.17',
'pgvector==0.2.4',
'colorama==0.4.6',
'soundfile>=0.12.0',
'soxr>=0.5.0'
],
extras_require={
'milvus': ['pymilvus>=2.3.0'],
'chromadb': ['chromadb>=0.4.22'],
'pinecone': ['pinecone-client==3.0.0'],
'lancedb': ['lancedb==0.5.0'],
'qdrant': ['qdrant-client==1.7.0'],
'redis': ['redis==5.0.1'],
'neo4j': ['neo4j==5.16.0'],
'full': ['torch>=1.13.1', 'transformers>=4.36.0', 'einops>=0.7.0', 'Wikipedia-API>=0.6.0',
'openai>=1.0', 'datasets>=2.15.0', 'yfinance>=0.2.38', 'pymilvus>=2.3.0',
'chromadb>=0.4.22', 'streamlit', 'Flask']
},
)