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