mirror of
https://github.com/lllin000/PaperForge.git
synced 2026-07-22 06:50:53 +00:00
- Update setup parser help text (remove 'Textual-based' reference) - Remove textual>=0.47.0 from pyproject.toml dependencies - Remove textual from scripts/validate_setup.py required dict
96 lines
2.9 KiB
TOML
96 lines
2.9 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=68.0"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "paperforge"
|
|
dynamic = ["version"]
|
|
description = "PaperForge — Obsidian + Zotero literature pipeline CLI"
|
|
readme = "README.md"
|
|
requires-python = ">=3.10"
|
|
license = {text = "CC BY-NC-SA 4.0"}
|
|
authors = [
|
|
{name = "PaperForge Contributors"}
|
|
]
|
|
classifiers = [
|
|
"Development Status :: 4 - Beta",
|
|
"Environment :: Console",
|
|
"Intended Audience :: Science/Research",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Operating System :: OS Independent",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Topic :: Scientific/Engineering :: Information Analysis",
|
|
]
|
|
dependencies = [
|
|
"requests>=2.31.0",
|
|
"pymupdf>=1.23.0",
|
|
"pillow>=10.0.0",
|
|
"tenacity>=8.2.0",
|
|
"tqdm>=4.66.0",
|
|
"filelock>=3.13.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
test = [
|
|
"pytest>=7.4.0",
|
|
"ruff>=0.4.0",
|
|
]
|
|
|
|
[project.scripts]
|
|
paperforge = "paperforge.cli:main"
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["."]
|
|
include = ["paperforge*"]
|
|
|
|
[tool.setuptools.dynamic]
|
|
version = {attr = "paperforge.__version__"}
|
|
|
|
[tool.setuptools.package-data]
|
|
paperforge = [
|
|
"py.typed",
|
|
"skills/literature-qa/prompt_deep_subagent.md",
|
|
"skills/literature-qa/scripts/*.md",
|
|
"skills/literature-qa/chart-reading/*.md",
|
|
"skills/literature-qa/chart-reading/*",
|
|
"command_files/*.md",
|
|
"plugin/*.css",
|
|
"plugin/*.js",
|
|
"plugin/*.json",
|
|
]
|
|
|
|
[tool.pytest.ini_options]
|
|
addopts = "--ignore=tests/sandbox/00_TestVault/"
|
|
|
|
[tool.ruff]
|
|
target-version = "py310"
|
|
line-length = 120
|
|
exclude = ["paperforge/skills"]
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "I", "UP", "B", "SIM"]
|
|
ignore = ["B904"] # raise-within-try is intentional in many worker error paths
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
# Pre-existing: undefined names in update.py (GITHUB_REPO etc. defined below function defs)
|
|
"paperforge/worker/update.py" = ["F821"]
|
|
# Pre-existing: undefined names in sync.py (run_search_sources, run_ingest_candidates)
|
|
"paperforge/worker/sync.py" = ["F821", "B007", "E501"]
|
|
# Pre-existing: style suggestions not part of dead code removal
|
|
"paperforge/worker/ocr.py" = ["SIM102", "E501", "B905"]
|
|
"paperforge/worker/repair.py" = ["SIM102"]
|
|
"paperforge/ocr_diagnostics.py" = ["E501", "SIM105"]
|
|
# Pre-existing: importability check in status.py uses try/except imports
|
|
"paperforge/worker/status.py" = ["F401"]
|
|
# Pre-existing: test files use patterns incompatible with strict ruff rules
|
|
"tests/**" = ["E501", "E402", "SIM117", "SIM108", "F841", "B007", "SIM103", "SIM105", "SIM222", "B905"]
|
|
# Pre-existing: scripts with formatting not part of this cleanup
|
|
"scripts/consistency_audit.py" = ["SIM110", "SIM102"]
|
|
"scripts/welcome.py" = ["E501"]
|
|
"scripts/validate_setup.py" = ["E501"]
|
|
|
|
[tool.ruff.format]
|
|
quote-style = "double"
|