File size: 1,702 Bytes
7ff7119 | 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 | [project]
name = "paperhawk"
version = "0.1.0"
description = "Multi-document due diligence platform with agentic LangGraph workflows. Powered by Qwen 2.5 on AMD Instinct MI300X via vLLM. Built for the AMD Developer Hackathon × lablab.ai (May 2026)."
requires-python = ">=3.12"
authors = [
{ name = "Nándorfi Vince" },
{ name = "Vitai Tamás" },
{ name = "Murcsik Gábor" },
]
license = { text = "MIT" }
readme = "README.md"
keywords = [
"document-intelligence",
"langgraph",
"agentic",
"rag",
"qwen",
"amd",
"rocm",
"vllm",
"due-diligence",
"audit",
"compliance",
]
classifiers = [
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3.12",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Office/Business :: Financial",
]
[tool.ruff]
line-length = 100
target-version = "py312"
[tool.ruff.lint]
select = ["E", "F", "W", "I", "N", "UP", "B", "C4", "PIE", "SIM"]
ignore = [
"E501", # line length (let formatter handle)
"N818", # exception class naming (too aggressive)
]
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]
addopts = ["-ra", "--strict-markers", "--strict-config"]
markers = [
"unit: fast isolated unit tests",
"integration: subgraph-level integration tests",
"e2e: full pipeline tests with dummy LLM",
"e2e_api: 10-group full pipeline tests with real LLM (vLLM/Qwen, ~15-20 min)",
"slow: slow tests (real LLM API call)",
]
[tool.coverage.run]
source = ["graph", "subgraphs", "nodes", "tools", "providers", "ingest", "store", "schemas", "validation", "utils", "domain_checks"]
omit = ["*/tests/*", "*/test_data/*"]
|