| [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", |
| "N818", |
| ] |
|
|
| [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/*"] |
|
|