Spaces:
Running
Running
File size: 1,431 Bytes
96f8c0a 862cbed 96f8c0a bbbfba8 96f8c0a | 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 | [build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "xmllm"
version = "0.1.0"
description = "Document structure engine: image → canonical model → ALTO XML / PAGE XML"
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.11"
authors = [
{ name = "XmLLM contributors" },
]
dependencies = [
"fastapi>=0.115,<1",
"uvicorn[standard]>=0.30,<1",
"pydantic>=2.7,<3",
"pydantic-settings>=2.3,<3",
"lxml>=5.2,<6",
"Pillow>=10.3,<11",
"python-multipart>=0.0.9",
"aiosqlite>=0.20,<1",
"httpx>=0.27,<1",
"paddlepaddle>=2.6,<3",
"paddleocr>=2.8",
]
[project.optional-dependencies]
dev = [
"pytest>=8.2,<9",
"pytest-asyncio>=0.23,<1",
"pytest-cov>=5,<6",
"httpx>=0.27,<1",
"ruff>=0.4,<1",
"mypy>=1.10,<2",
"lxml-stubs>=0.5",
]
[tool.hatch.build.targets.wheel]
packages = ["src"]
[tool.pytest.ini_options]
testpaths = ["tests"]
asyncio_mode = "auto"
markers = [
"unit: unit tests",
"integration: integration tests",
"e2e: end-to-end tests",
]
[tool.ruff]
target-version = "py311"
line-length = 100
src = ["src", "tests"]
[tool.ruff.lint]
select = ["E", "F", "I", "N", "W", "UP", "B", "SIM"]
[tool.mypy]
python_version = "3.11"
strict = true
warn_return_any = true
warn_unused_configs = true
plugins = ["pydantic.mypy"]
[[tool.mypy.overrides]]
module = ["lxml.*"]
ignore_missing_imports = true
|