CoolFace
Apppublic

DataEyond/Demo-Agentic-Service-Data-Eyond

sourceHugging Faceupdated 5mo agoView on Hugging Face
0likes
pyproject.toml143 linesDownload Raw Back to root
1[build-system]2requires = ["hatchling"]3build-backend = "hatchling.build"4 5[project]6name = "demo-agent-service"7version = "0.1.0"8description = "DEMO Agentic Service Data Eyond — Multi-Agent AI Backend"9requires-python = ">=3.12,<3.13"10 11dependencies = [12    # --- Web Framework ---13    "fastapi[standard]==0.115.6",14    "uvicorn[standard]==0.32.1",15    "python-multipart==0.0.12",16    "starlette==0.41.3",17    "sse-starlette==2.1.3",18    # --- LangChain Core Ecosystem (NO LiteLLM) ---19    "langchain==0.3.13",20    "langchain-core==0.3.28",21    "langchain-community==0.3.13",22    "langchain-openai==0.2.14",23    "langchain-postgres>=0.0.13",24    "langgraph==0.2.60",25    "langgraph-checkpoint-postgres==2.0.9",26    # --- LLM / Azure OpenAI ---27    "openai==1.58.1",28    "tiktoken==0.8.0",29    # --- Database ---30    "sqlalchemy[asyncio]==2.0.36",31    "asyncpg==0.30.0",32    "psycopg[binary,pool]==3.2.3",33    "pgvector==0.3.6",34    "alembic==1.14.0",35    # --- Azure ---36    "azure-storage-blob==12.23.1",37    "azure-identity==1.19.0",38    "azure-ai-documentintelligence==1.0.0",39    # --- Pydantic / Validation ---40    "pydantic==2.10.3",41    "pydantic-settings==2.7.0",42    # --- Observability ---43    "langfuse==2.57.4",44    "structlog==24.4.0",45    "prometheus-client==0.21.1",46    # --- Security ---47    "passlib[bcrypt]==1.7.4",48    "cryptography==44.0.0",49    # --- Rate Limiting ---50    "slowapi==0.1.9",51    "redis==5.2.1",52    # --- Retry ---53    "tenacity==9.0.0",54    # --- Document Processing (for reading existing docs from blob) ---55    "pypdf==5.1.0",56    "python-docx==1.1.2",57    "openpyxl==3.1.5",58    "pandas==2.2.3",59    # --- Chart/Visualization ---60    "matplotlib==3.9.3",61    "plotly==5.24.1",62    "kaleido==0.2.1",63    # --- MCP ---64    "mcp==1.2.0",65    # --- Advanced RAG ---66    "rank-bm25==0.2.2",67    "sentence-transformers==3.3.1",68    # --- PII Detection (no LiteLLM) ---69    "presidio-analyzer==2.2.355",70    "presidio-anonymizer==2.2.355",71    "spacy==3.8.3",72    # --- Utilities ---73    "httpx==0.28.1",74    "anyio==4.7.0",75    "python-dotenv==1.0.1",76    "orjson==3.10.12",77    "cachetools==5.5.0",78    "apscheduler==3.10.4",79    "jsonpatch>=1.33",80    "pymongo>=4.14.0",81    "psycopg2>=2.9.11",82    # --- User-DB connectors (db_pipeline) ---83    "pymysql>=1.1.1",84    "pymssql>=2.3.0",85    # --- OCR (pdf processing) ---86    "pdf2image>=1.17.0",87    "pytesseract>=0.3.13",88    "pypdf2>=3.0.1",89]90 91[project.optional-dependencies]92dev = [93    "pytest==8.3.4",94    "pytest-asyncio==0.24.0",95    "pytest-cov==6.0.0",96    "httpx==0.28.1",97    "ruff==0.8.4",98    "mypy==1.13.0",99    "pre-commit==4.0.1",100]101 102[tool.uv]103dev-dependencies = [104    "pytest==8.3.4",105    "pytest-asyncio==0.24.0",106    "pytest-cov==6.0.0",107    "ruff==0.8.4",108    "mypy==1.13.0",109    "pre-commit==4.0.1",110]111 112[tool.hatch.build.targets.wheel]113packages = ["src/agent_service"]114 115[tool.ruff]116target-version = "py312"117line-length = 100118 119[tool.ruff.lint]120select = ["E", "F", "I", "N", "UP", "S", "B", "A", "C4", "T20"]121ignore = [122    "S101",   # assert statements OK in tests123    "S105",   # hardcoded passwords — false positives in config124    "S106",125    "B008",   # FastAPI Depends() calls OK in function args126]127 128[tool.ruff.lint.per-file-ignores]129"tests/**" = ["S101", "S105", "S106"]130 131[tool.mypy]132python_version = "3.12"133strict = true134ignore_missing_imports = true135plugins = ["pydantic.mypy"]136 137[tool.pytest.ini_options]138asyncio_mode = "auto"139testpaths = ["tests"]140filterwarnings = [141    "ignore::DeprecationWarning",142]143