File size: 3,226 Bytes
b44bcb9
9063e00
b44bcb9
 
 
fe739dd
b44bcb9
059d9b6
 
 
b44bcb9
 
 
 
6abc2ec
059d9b6
 
7423d7e
b44bcb9
059d9b6
 
 
 
 
 
 
 
f8e1015
11c18c4
cb2432a
 
11c18c4
e21930a
cb2432a
 
 
c06c4c1
 
 
 
 
 
 
 
 
e21930a
c06c4c1
94a6b26
 
 
e21930a
0351317
b44bcb9
9063e00
b44bcb9
 
 
 
 
 
 
9063e00
 
035bd84
 
 
 
 
 
059d9b6
 
 
 
 
 
 
 
e21930a
059d9b6
 
 
 
 
035bd84
 
fe739dd
035bd84
 
9063e00
035bd84
 
9063e00
035bd84
 
fe739dd
9063e00
035bd84
8bc5e76
9063e00
035bd84
 
 
9063e00
035bd84
 
 
 
9063e00
035bd84
 
72b38a2
059d9b6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c06c4c1
 
 
 
059d9b6
 
 
 
72b38a2
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
[project]
name = "pstuts_rag"
version = "2025.05.12"
description = "Agentic RAG system for PsTuts dataset"
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
    # Core RAG and LLM dependencies
    "langchain>=0.3.25",
    "langchain-core>=0.3.59",
    "langchain-community>=0.3.23",
    "langchain-experimental>=0.3.4",
    "langchain-openai",
    "langchain-qdrant>=0.2.0",
    "langgraph>=0.4.8",
    "qdrant-client>=1.8.0",
    # API integration
    "chainlit",
    "requests>=2.31.0",
    "python-dotenv>=0.9.9",
    # Utilities
    "nest-asyncio>=1.5.6",
    "aiofiles>=23.1.0",
    # Jupyter/notebook dependencies
    "ipykernel>=6.29.5",
    "ipywidgets>=8.1.7",
    "jupyter>=1.1.1",
    "jupyter-contrib-nbextensions>=0.7.0",
    "sentence-transformers>=3.4.1",
    "transformers[torch]>=4.48.3",
    "pyarrow>=19.0.0",
    "datasets>=3.6.0",
    "ragas>=0.2.15",
    "bidict>=0.23.1",
    "wandb>=0.19.11",
    "langchain-huggingface>=0.2.0",
    "websockets>=14.2",
    # Added missing direct dependencies
    "pandas>=2.0.0",
    "torch>=2.0.0",
    "scikit-learn>=1.0.0",
    "tqdm>=4.65.0",
    "scipy>=1.10.0",
    "langsmith>=0.0.50",
    "google>=3.0.0",
    "numpy>=2.2.2",
    "tavily-python>=0.7.2",
    "logging>=0.4.9.6",
    "langchain-ollama>=0.3.2",
    "simsimd>=6.2.1",
    "langgraph-cli[inmem]>=0.1.55",
    "langchain-tavily>=0.2.0",
]
authors = [{ name = "Marko Budisic", email = "[email protected]" }]
license = "MIT"

[build-system]
requires = ["hatchling >= 1.26"]
build-backend = "hatchling.build"

[tool.hatch.build.targets.wheel]
packages = ["pstuts_rag/pstuts_rag"]

[project.optional-dependencies]
dev = [
    "pytest>=7.0.0",
    "black>=22.0.0",
    "flake8>=4.0.0",
    "mypy>=0.900",
    "isort>=6.0.1",
    "pylint-venv>=3.0.4",
    "ipdb>=0.13.13",
    "deptry>=0.23.0",
]

web = [
    "fastapi>=0.115.3,<0.116",
    "uvicorn>=0.25.0,<0.27.0",
    "python-multipart>=0.0.18,<0.0.19",
    "websockets==14.2",
    "httpx==0.27.0",
]

[tool.ruff]
line-length = 79
target-version = "py311"
select = ["E", "F", "I", "N", "W"]
ignore = []

[tool.ruff.isort]
known-first-party = ["src"]

[tool.black]
line-length = 79
target-version = ["py311"]

[tool.mypy]
ignore_errors = true

[tool.flake8]
application-import-names = "pstuts_rag"
extend-ignore = "E203,W503"

[tool.pylint.MASTER]
load-plugins      = "pylint_venv"          # optional but handy
source-roots      = "pstuts_rag"
extension-pkg-allow-list = "numpy, torch"  # compiled deps that astroid cannot parse

[tool.pylint.TYPECHECK]
ignored-modules   = "pkg_resources"        # suppress noisy vendored imports

[tool.deptry.per_rule_ignores]
DEP002 = [
    # Jupyter packages
    "ipykernel",
    "ipywidgets",
    "jupyter",
    "jupyter-contrib-nbextensions",
    # Development packages
    "pytest",
    "black",
    "flake8",
    "mypy",
    "isort",
    "pylint-venv",
    "ipdb",
    "deptry",
    # Web packages
    "fastapi",
    "uvicorn",
    "python-multipart",
    "websockets",
    "httpx",
    # Other packages
    "numpy",
    "tavily-python",
    # Added unused dependencies
    "transformers",
    "pyarrow",
    "google-api-python-client",
]
DEP003 = [
    "huggingface_hub",
    "setuptools",
]