-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathpyproject.toml
More file actions
73 lines (68 loc) · 1.94 KB
/
pyproject.toml
File metadata and controls
73 lines (68 loc) · 1.94 KB
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "llmxive"
version = "0.1.0"
description = "Automated scientific-discovery pipeline driven by Spec-Kit-per-project agents"
readme = "README.md"
requires-python = ">=3.11"
license = { text = "MIT" }
authors = [{ name = "Contextual Dynamics Lab", email = "research.computing@dartmouth.edu" }]
dependencies = [
# LLM / agent framework
"langchain>=0.3",
"langgraph>=0.2",
"langchain-dartmouth>=0.3.1",
"huggingface_hub",
# Data validation
"pydantic>=2",
"jsonschema",
# Operational
"tenacity",
"pyyaml",
"httpx",
"gitpython",
"arxiv",
"crossref-commons",
# Spec 005 librarian agent — PDF text extraction for ≥10% PDF-sample audit (Q2)
"pypdf>=4",
# Paper-stage
"matplotlib",
"seaborn",
"numpy",
"scipy",
"pandas",
# Spec 018 (computational claim verification): safe symbolic evaluation of
# arithmetic / comparisons / unit conversions / algebraic identities / logic.
"sympy",
# scripts/extract_paper_content.py uses it indirectly via regex but
# pylatexenc is the canonical pure-python LaTeX parser used as a
# fallback for future structured walks (e.g. AST-aware citation
# rewrites). Pin to a stable major.
"pylatexenc>=2.10",
# Spec 009 (quality fixes): PDF auditor + activity feed + deterministic parsing
"pdfplumber>=0.11",
"markdown-it-py>=3",
"python-ulid>=2",
# Spec 010 (PDF audit pixel-level checks): page rasterization for figure-width
# measurement. Requires system `poppler` (poppler-utils on Linux, brew install
# poppler on macOS).
"pdf2image>=1.17",
]
[project.optional-dependencies]
dev = [
"pytest>=8",
"pytest-asyncio",
"ruff",
"mypy",
"types-PyYAML",
]
[project.scripts]
llmxive = "llmxive.cli:main"
llmxive-audit = "llmxive.audit.cli:main"
[tool.setuptools.packages.find]
where = ["src"]
include = ["llmxive*"]
[tool.setuptools.package-data]
llmxive = ["py.typed"]