This repository has been archived by the owner on Nov 13, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 121
/
pyproject.toml
127 lines (108 loc) · 3.41 KB
/
pyproject.toml
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
[tool.poetry]
name = "canopy-sdk"
version = "0.9.0"
description = "Retrieval Augmented Generation (RAG) framework and context engine powered by Pinecone"
authors = ["Relevance Team <[email protected]>"]
readme = "README.md"
license = "Apache-2.0"
packages = [{include = "canopy", from = "src"},
{include = "canopy_cli", from = "src"},
{include = "canopy_server", from = "src"},]
[tool.poetry.dependencies]
python = ">=3.9,<3.13"
python-dotenv = "^1.0.0"
openai = "^1.2.3"
tiktoken = "^0.3.3"
pydantic = "^2.0.0"
pandas-stubs = "^2.0.3.230814"
fastapi = ">=0.93.0, <1.0.0"
uvicorn = ">=0.20.0, <1.0.0"
tenacity = "^8.2.1"
sse-starlette = "^1.6.5"
types-tqdm = "^4.61.0"
tqdm = "^4.66.1"
gunicorn = "^21.2.0"
types-pyyaml = "^6.0.12.12"
jsonschema = "^4.2.0"
types-jsonschema = "^4.2.0"
prompt-toolkit = "^3.0.39"
tokenizers = "^0.15.0"
transformers = {version = "^4.35.2", optional = true}
sentencepiece = "^0.1.99"
pandas = "2.0.0"
pyarrow = "^14.0.1"
qdrant-client = {version = "^1.8.0", optional = true}
cohere = { version = "^4.37", optional = true }
pinecone-text = "^0.8.0"
# Extra: torch (Relies on pinecone-text[dense])
# Dependencies here should be synced with pinecone-text's pyproject.toml
# See: https://github.com/pinecone-io/pinecone-text/blob/0eb00a202f5c9bc8cc48c8b7536fcbabf95f096e/pyproject.toml#L30
torch = { version = ">=1.13.1", optional = true }
sentence-transformers = { version = ">=2.0.0", optional = true }
pinecone-client = "^3.0.0"
# Extra: grpc (Relies on pinecone-client[grpc])
# Dependencies here should be synced with pinecone-python-client's pyproject.toml
# See: https://github.com/pinecone-io/pinecone-python-client/blob/886f932b66521a6ab5b1e076f6a53ba2f16eb41b/pyproject.toml#L94
grpcio = { version = ">=1.44.0", optional = true }
grpc-gateway-protoc-gen-openapiv2 = { version = "0.1.0", optional = true }
googleapis-common-protos = { version = ">=1.53.0", optional = true }
lz4 = { version = ">=3.1.3", optional = true }
protobuf = { version = "~=3.20.0", optional = true }
[tool.poetry.extras]
cohere = ["cohere"]
torch = ["torch", "sentence-transformers"]
transformers = ["transformers"]
grpc = ["grpcio", "grpc-gateway-protoc-gen-openapiv2", "googleapis-common-protos", "lz4", "protobuf"]
qdrant = ["qdrant-client"]
[tool.poetry.group.dev.dependencies]
pytest = "^7.3.2"
jupyter = "^1.0.0"
mypy = "^1.4.1"
flake8 = "^6.1.0"
pytest-html = "^4.1.0"
flake8-pyproject = "^1.2.3"
asyncio = "^3.4.3"
pytest-asyncio = "^0.14.0"
pytest-mock = "^3.6.1"
pytest-xdist = "^3.3.1"
types-requests = "^2.31.0.2"
httpx = "^0.25.0"
pydoclint = "^0.3.8"
pytest-dotenv = "^0.5.2"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.mypy]
allow_redefinition = true
exclude = ['tests', '.venv']
[[tool.mypy.overrides]]
module = [
'pinecone_text.*',
'pinecone_datasets',
'pinecone',
'transformers.*',
'tokenizers.*',
'cohere.*',
'pinecone.grpc',
'huggingface_hub.utils',
'qdrant_client.*',
'grpc.*'
]
ignore_missing_imports = true
[tool.flake8]
per-file-ignores = [
'*/__init__.py:F401',
]
exclude = ['.venv']
max-line-length = 88
# PyDocLint configuration
style = 'google'
arg-type-hints-in-docstring = false
require-return-section-when-returning-nothing = false
allow-init-docstring = true
check-return-types = false
skip-checking-raises = true
[tool.poetry.scripts]
canopy = "canopy_cli.cli:cli"
[tool.pytest.ini_options]
log_cli = true