| [project] |
| name = "deepcritical" |
| version = "0.1.0" |
| description = "AI-Native Drug Repurposing Research Agent" |
| readme = "README.md" |
| requires-python = ">=3.11" |
| dependencies = [ |
| |
| "pydantic>=2.7", |
| "pydantic-settings>=2.2", |
| "pydantic-ai>=0.0.16", |
| |
| "openai>=1.0.0", |
| "anthropic>=0.18.0", |
| |
| "httpx>=0.27", |
| "beautifulsoup4>=4.12", |
| "xmltodict>=0.13", |
| |
| "gradio>=5.0", |
| |
| "python-dotenv>=1.0", |
| "tenacity>=8.2", |
| "structlog>=24.1", |
| "requests>=2.32.5", |
| ] |
|
|
| [project.optional-dependencies] |
| dev = [ |
| |
| "pytest>=8.0", |
| "pytest-asyncio>=0.23", |
| "pytest-sugar>=1.0", |
| "pytest-cov>=5.0", |
| "pytest-mock>=3.12", |
| "respx>=0.21", |
|
|
| |
| "ruff>=0.4.0", |
| "mypy>=1.10", |
| "pre-commit>=3.7", |
| ] |
| magentic = [ |
| "agent-framework-core", |
| ] |
| embeddings = [ |
| "chromadb>=0.4.0", |
| "sentence-transformers>=2.2.0", |
| ] |
| modal = [ |
| |
| "modal>=0.63.0", |
| "llama-index>=0.11.0", |
| "llama-index-llms-openai", |
| "llama-index-embeddings-openai", |
| "llama-index-vector-stores-chroma", |
| "chromadb>=0.4.0", |
| ] |
|
|
| [build-system] |
| requires = ["hatchling"] |
| build-backend = "hatchling.build" |
|
|
| [tool.hatch.build.targets.wheel] |
| packages = ["src"] |
|
|
| |
| [tool.ruff] |
| line-length = 100 |
| target-version = "py311" |
| src = ["src", "tests"] |
|
|
| [tool.ruff.lint] |
| select = [ |
| "E", |
| "F", |
| "B", |
| "I", |
| "N", |
| "UP", |
| "PL", |
| "RUF", |
| ] |
| ignore = [ |
| "PLR0913", |
| "PLR0912", |
| "PLR0911", |
| "PLR2004", |
| "PLW0603", |
| "PLC0415", |
| "E402", |
| "RUF100", |
| ] |
|
|
| [tool.ruff.lint.isort] |
| known-first-party = ["src"] |
|
|
| |
| [tool.mypy] |
| python_version = "3.11" |
| strict = true |
| ignore_missing_imports = true |
| disallow_untyped_defs = true |
| warn_return_any = true |
| warn_unused_ignores = false |
|
|
| |
| [tool.pytest.ini_options] |
| testpaths = ["tests"] |
| asyncio_mode = "auto" |
| addopts = [ |
| "-v", |
| "--tb=short", |
| "--strict-markers", |
| ] |
| markers = [ |
| "unit: Unit tests (mocked)", |
| "integration: Integration tests (real APIs)", |
| "slow: Slow tests", |
| ] |
|
|
| |
| [tool.coverage.run] |
| source = ["src"] |
| omit = ["*/__init__.py"] |
|
|
| [tool.coverage.report] |
| exclude_lines = [ |
| "pragma: no cover", |
| "if TYPE_CHECKING:", |
| "raise NotImplementedError", |
| ] |
|
|
| |
| |
|
|