Files
wehub-resource-sync e904b667c6
Build/Publish Develop Docs / deploy (push) Failing after 1s
PaddleOCR Code Style Check / check-code-style (push) Failing after 1s
PaddleOCR PR Tests GPU / detect-changes (push) Failing after 1s
PaddleOCR PR Tests / detect-changes (push) Failing after 1s
PaddleOCR PR Tests GPU / test-pr-gpu (push) Has been cancelled
PaddleOCR PR Tests / test-pr (push) Has been cancelled
PaddleOCR PR Tests GPU / test-pr-gpu-impl (push) Has been cancelled
PaddleOCR PR Tests / test-pr-python (3.13) (push) Has been cancelled
PaddleOCR PR Tests / test-pr-python (3.8) (push) Has been cancelled
PaddleOCR PR Tests / test-pr-python (3.9) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 11:59:26 +08:00

144 lines
3.8 KiB
TOML

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "langchain-paddleocr"
version = "0.2.2"
description = "An integration package connecting PaddleOCR and LangChain"
authors = []
readme = "README.md"
license = { text = "Apache License 2.0" }
requires-python = ">=3.10"
dependencies = [
"paddleocr>=3.7.0",
"langchain-core>=1.2.5,<2.0.0",
"pydantic>=2.0.0,<3.0.0",
]
[project.urls]
"Source Code" = "https://github.com/PaddlePaddle/PaddleOCR/tree/main/langchain-paddleocr"
"Release Notes" = "https://github.com/PaddlePaddle/PaddleOCR/releases"
Repository = "https://github.com/PaddlePaddle/PaddleOCR"
[dependency-groups]
lint = ["ruff>=0.13.1,<0.14.0"]
typing = [
"mypy>=1.18.1,<1.19.0",
"types-requests>=2.31.0,<3.0.0",
]
test = [
"pytest>=8.4.0,<9.0.0",
"freezegun>=1.5.0,<2.0.0",
"pytest-mock>=3.14.0,<4.0.0",
"syrupy>=4.9.0,<5.0.0",
"pytest-watcher>=0.4.0,<1.0.0",
"pytest-asyncio>=0.21.0,<1.0.0",
"pytest-retry>=1.7.0,<2.0.0",
"pytest-socket>=0.7.0,<1.0.0",
"langchain-tests>=1.1.2,<2.0.0",
]
test_integration = [
"pytest>=8.4.0,<9.0.0",
]
[tool.ruff]
fix = true
[tool.ruff.format]
docstring-code-format = true
[tool.ruff.lint]
select = [ "ALL",]
ignore = [
"C90", # McCabe complexity
"COM812", # Messes with the formatter
"CPY", # No copyright
"FIX002", # Line contains TODO
"ISC001", # Messes with the formatter
"PERF203", # Rarely useful
"PLR09", # Too many something (arg, statements, etc)
"RUF012", # Doesn't play well with Pydantic
"TC001", # Doesn't play well with Pydantic
"TC002", # Doesn't play well with Pydantic
"TC003", # Doesn't play well with Pydantic
"TD002", # Missing author in TODO
"TD003", # Missing issue link in TODO
# TODO rules
"ANN401", # No Any types
"BLE", # Blind exceptions
"DOC", # Docstrings (preview)
"ERA", # No commented-out code
"PLR2004", # Comparison to magic number
"PLC0415", # Import top level
"SIM117", # Single with statement
"FBT", # Bool stuff
"PT",
"ARG", # Argument related
"SLF", # Self
"D", # Docstring related
"G",
"S",
"A",
"N",
"TRY",
"B",
"PGH",
"SIM",
"ASYNC",
"PTH",
"DTZ",
"PYI",
"PLW",
]
unfixable = [
"B028", # People should intentionally tune the stacklevel
"PLW1510", # People should intentionally set the check argument
]
[tool.ruff.lint.per-file-ignores]
"tests/**" = [ "D1", "S", "SLF", "ARG001", "PGH003", "PT011"]
"scripts/**" = [ "INP", "S",]
[tool.mypy]
plugins = ["pydantic.mypy"]
strict = true
disallow_untyped_defs = true
[[tool.mypy.overrides]]
module = ["paddleocr.*"]
ignore_missing_imports = true
# TODO: activate for 'strict' checking
disallow_any_generics = false
warn_return_any = false
[tool.coverage.run]
omit = [
"tests/*",
"*/site-packages/*",
"*/.venv/*",
"*/venv/*",
]
[tool.pytest.ini_options]
# --strict-markers will raise errors on unknown marks.
# https://docs.pytest.org/en/7.1.x/how-to/mark.html#raising-errors-on-unknown-marks
#
# https://docs.pytest.org/en/7.1.x/reference/reference.html
# --strict-config any warnings encountered while parsing the `pytest`
# section of the configuration file raise errors.
#
# https://github.com/tophat/syrupy
# --snapshot-warn-unused Prints a warning on unused snapshots rather than fail the test suite.
#addopts = "--snapshot-warn-unused --strict-markers --strict-config --durations=5"
# Registering custom markers.
# https://docs.pytest.org/en/7.1.x/example/markers.html#registering-markers
markers = [
"requires: mark tests as requiring a specific library",
"asyncio: mark tests as requiring asyncio",
"compile: mark placeholder test used to compile integration tests without running them",
]
asyncio_mode = "auto"