TrialPath / pyproject.toml
yakilee's picture
feat: add HuggingFace Spaces deployment configuration
7915030
[project]
name = "trialpath"
version = "0.1.0"
description = "AI-powered clinical trial matching for NSCLC patients"
requires-python = ">=3.11"
dependencies = [
"pydantic>=2.0",
"httpx>=0.27",
"streamlit>=1.40",
"google-genai>=1.0",
"parlant[gemini]",
"huggingface-hub>=0.20",
"Pillow>=10.0",
"structlog>=24.0",
"python-dotenv>=1.0",
"requests>=2.31",
]
[dependency-groups]
dev = [
"aiohttp>=3.13.3",
"pre-commit>=4.5.1",
"pytest>=8.0",
"pytest-asyncio>=0.24",
"pytest-cov>=6.0",
"pytest-playwright>=0.7.2",
"pytest-timeout>=2.3",
"ruff>=0.8",
"ty>=0.0.15",
]
[tool.ruff]
line-length = 100
target-version = "py311"
[tool.ruff.lint]
select = ["E", "F", "I", "W"]
[tool.ty.environment]
python-version = "3.11"
# Parlant's @tool decorator transforms function signatures in ways
# ty cannot resolve, causing false-positive unknown-argument errors.
[[tool.ty.overrides]]
include = ["**/test_tools.py"]
[tool.ty.overrides.rules]
unknown-argument = "ignore"
missing-argument = "ignore"
invalid-await = "ignore"
# Parlant SDK JourneyState constructors have strict type annotations
# that don't match our dynamic usage patterns.
[[tool.ty.overrides]]
include = ["trialpath/agent/journey.py"]
[tool.ty.overrides.rules]
invalid-argument-type = "warn"
# Test files use MagicMock/AsyncMock which ty cannot resolve to real types.
[[tool.ty.overrides]]
include = ["**/tests/**", "**/test_*.py"]
[tool.ty.overrides.rules]
unresolved-attribute = "warn"
invalid-argument-type = "warn"
[tool.pytest.ini_options]
testpaths = ["trialpath/tests", "app/tests", "tests"]
asyncio_mode = "auto"
addopts = "-m 'not live'"
markers = [
"live: tests that call real external services (deselect with '-m not live')",
]