docling

LOW
maintainer RubenKelevra 0 votes scanned 2026-08-28 07:34:53.969727
View on AUR
Why flagged

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

Triggered rules

Low Few votes, recently uploaded zero_votes_recent

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

PKGBUILD

1# Maintainer: @RubenKelevra <rubenkelevra@gmail.com>
2
3pkgname='docling'
4pkgver='2.122.0'
5pkgrel=1
6pkgdesc='Meta-package and command-line interface for local document processing'
7url="https://github.com/docling-project/${pkgname}"
8license=('MIT')
9arch=('any')
10depends=(
11 "python-${pkgname}=${pkgver}"
12 'python-numpy>=1.24.0'
13 'python-pillow>=10.0.0'
14 'python-rtree>=1.3.0'
15 'python-scipy>=1.6.0'
16 'python-pypdfium2>=4.30.2'
17 'python-docling-parse>=7.12.0'
18 'python-docling-ibm-models>=3.13.0'
19 'python-pytorch>=2.2.2'
20 'python-torchvision'
21 'python-transformers>=5.4.0'
22 'python-lxml'
23 'python-defusedxml>=0.7.1'
24 'python-typer026>=0.12.5'
25 'python-rich>=13.0.0'
26 'python-opencv>=4.6.0'
27)
28makedepends=(
29 'python-build'
30 'python-installer'
31 'python-hatchling'
32 'python-wheel'
33)
34checkdepends=('python-pytest')
35optdepends=(
36 'python-polyfactory>=2.22.2: document extraction support'
37 'python-docx>=1.2.0: DOCX input support'
38 'python-pptx>=1.0.2: PowerPoint input support'
39 'python-openpyxl>=3.1.5: Excel input support'
40 'python-beautifulsoup4>=4.12.3: HTML input support'
41 'python-marko>=2.1.2: Markdown input support'
42 'python-pylatexenc>=2.10: LaTeX input support'
43 'python-odfdo>=3.22.0: OpenDocument input support'
44 'python-mail-parser>=4.1.4: email input support'
45 'python-oxmsg>=0.0.2: Outlook MSG input support'
46 'python-rapidocr>=3.9.1: RapidOCR engine'
47 'python-easyocr>=1.7: EasyOCR engine'
48 'python-tesserocr>=2.7.1: Tesseract OCR engine'
49 'python-playwright>=1.58.0: dynamic HTML rendering'
50 'python-semchunk>=2.2.0: semantic chunking support'
51 'python-tree-sitter>=0.25.0: semantic chunking support'
52 'python-tree-sitter-python>=0.23.6: Python-aware semantic chunking'
53 'python-tree-sitter-c>=0.23.4: C-aware semantic chunking'
54 'python-tree-sitter-javascript>=0.23.1: JavaScript-aware semantic chunking'
55 'python-tree-sitter-typescript>=0.23.2: TypeScript-aware semantic chunking'
56 'python-httpx>=0.28: remote Docling service support'
57 'python-websockets>=14.0: remote Docling service streaming'
58 'python-dotenv>=1.0: load CLI configuration from .env files'
59 'python-openai-whisper>=20250625: audio transcription support'
60 'python-numba>=0.63.0: audio transcription support'
61)
62source=(
63 "${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz"
64 'slim_meta_package.patch'
65)
66b2sums=(
67 'efb947d366cbf33ace15341879a3bbc97860e025a7acd18d4cc82f204459bc2fffc981033ba1bcf0ebfa97660d7d5e0706ef384edb2d742946e59a66bff50c8a'
68 '534eecb1b7af0d09196c0f431867fbe0344d754445f233438a87e6ce9168a12e0b18021a88a8368d34d37e57f430f50a427c4165f6cdeac973546acdab6a2929'
69)
70
71prepare() {
72 cd -- "${pkgname}-${pkgver}" || return 1
73
74 # Arch exposes the standard feature set through optdepends, so keep the
75 # Python meta-package dependency limited to the separately packaged SDK.
76 patch -Np1 -i "${srcdir}/slim_meta_package.patch"
77}
78
79build() {
80 cd -- "${pkgname}-${pkgver}/packages/docling" || return 1
81 python -m build --wheel --no-isolation
82}
83
84check() {
85 local _python_version
86 local _checkdir="${srcdir}/${pkgname}-check"
87
88 _python_version=$(python --version)
89 _python_version=${_python_version#Python }
90 _python_version=${_python_version%.*}
91 if [[ ! ${_python_version} =~ ^[0-9]+\.[0-9]+$ ]]; then
92 printf 'Unable to determine Python major.minor version: %s\n' "${_python_version}" >&2
93 return 1
94 fi
95
96 rm -rf -- "${_checkdir}"
97 cd -- "${pkgname}-${pkgver}" || return 1
98 python -m installer --destdir="${_checkdir}" packages/docling/dist/*.whl
99
100 PYTHONPATH="${_checkdir}/usr/lib/python${_python_version}/site-packages" \
101 HF_HUB_OFFLINE=1 TRANSFORMERS_OFFLINE=1 python -m pytest -q \
102 tests/test_cli.py::test_cli_help \
103 tests/test_cli.py::test_cli_convert_help \
104 tests/test_cli.py::test_cli_version \
105 tests/test_cli.py::test_split_list_handles_none_and_delimiters \
106 tests/test_cli.py::test_image_export_policy_covers_all_output_formats \
107 tests/test_cli.py::test_cli_invalid_ocr_mode_is_rejected \
108 tests/test_cli.py::test_cli_page_range_accepts_single_page \
109 tests/test_cli.py::test_cli_invalid_page_range_is_rejected \
110 tests/test_cli_tools.py::test_tools_help_lists_models_subcommand \
111 tests/test_cli_tools.py::test_tools_without_arguments_shows_help \
112 tests/test_cli_tools.py::test_models_without_arguments_shows_help
113
114 # Default PDF table structure uses TableFormer V1.
115 python -m pydoc docling_ibm_models.tableformer.data_management.tf_predictor >/dev/null
116}
117
118package() {
119 cd -- "${pkgname}-${pkgver}" || return 1
120 python -m installer --destdir="${pkgdir}" packages/docling/dist/*.whl
121 install -D -m644 -- LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
122}
123

Scan history

Scanned at (UTC)SeverityRules
2026-08-28 07:34:53 Low 1

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion