Files
wehub-resource-sync 925e56bb5f
Test CLI scripts / build (push) Waiting to run
Unit tests / build (t4_gpu) (push) Waiting to run
Unit tests / build (ubuntu-latest) (push) Waiting to run
Unit tests / build (windows-latest) (push) Waiting to run
chore: import upstream snapshot with attribution
2026-07-13 13:24:56 +08:00

69 lines
1.9 KiB
TOML

[project]
name = "surya-ocr"
version = "0.21.1"
description = "OCR, layout, reading order, and table recognition in 90+ languages."
readme = "README.md"
license = { text = "Apache-2.0" }
authors = [
{ name = "Vik Paruchuri", email = "vik@datalab.to" },
]
requires-python = ">=3.10,<4"
keywords = ["ocr", "pdf", "text detection", "text recognition", "tables"]
dependencies = [
"transformers>=5.12.1",
"torch>=2.7.0,<3",
"torchvision>=0.20.0,<1",
"pydantic>=2.5.3,<3",
"pydantic-settings>=2.1.0,<3",
"python-dotenv>=1.0.0,<2",
"pillow>=10.2.0,<11",
"pypdfium2==5.9.0",
"filetype>=1.2.0,<2",
"click>=8.1.8,<9",
"platformdirs>=4.3.6,<5",
"opencv-python-headless==4.11.0.86",
"openai>=1.55.0,<3",
"httpx>=0.27.0,<1",
"huggingface-hub>=1.5.0,<2",
"filelock>=3.16.0,<4",
"beautifulsoup4>=4.12.0,<5",
]
[project.urls]
Repository = "https://github.com/datalab-to/surya"
[project.scripts]
surya_detect = "surya.scripts.detect_text:detect_text_cli"
surya_ocr = "surya.scripts.ocr_text:ocr_text_cli"
surya_layout = "surya.scripts.detect_layout:detect_layout_cli"
surya_gui = "surya.scripts.run_streamlit_app:streamlit_app_cli"
surya_table = "surya.scripts.table_recognition:table_recognition_cli"
surya_screenshot = "surya.scripts.screenshot_app:main"
[dependency-groups]
dev = [
"pre-commit>=4.2.0",
"jupyter>=1.0.0",
"pymupdf>=1.23.8",
"datasets>=2.16.1",
"streamlit>=1.31.0",
"pytest>=8.3.4",
"pdftext>=0.5.1",
"tabulate>=0.9.0",
"flask>=3.0.0",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["surya"]
[tool.ruff]
# rf-detr is vendored byte-for-byte from upstream (Roboflow); don't lint/format it.
# force-exclude makes the exclude apply even when pre-commit passes explicit paths.
extend-exclude = ["surya/common/rfdetr"]
force-exclude = true