PsTuts-RAG / pyproject.toml
mbudisic's picture
tidy: ruff autofixes
86d2982
[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",
"beautifulsoup4>=4.13.4",
"pathvalidate>=3.2.3",
"pydantic-settings>=2.9.1",
]
authors = [{ name = "Marko Budisic", email = "mbudisic@gmail.com" }]
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",
"mypy>=0.900",
"pylint-venv>=3.0.4",
"ipdb>=0.13.13",
"deptry>=0.23.0",
"ruff"
]
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"
[tool.ruff.lint]
select = ["E", "F", "I", "N", "W", "TD"]
fixable = ["I", "E", "F", "W", "B"]
[tool.ruff.lint.isort]
known-first-party = ["pstuts_rag"]
[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",
]