python-pydantic-monty

LOW
maintainer medaminezghal 1 votes scanned 2026-09-18 11:28:26.056104
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: Mohamed Amine Zghal (medaminezghal) <medaminezghal at outlook dot com>
2
3_name2=client
4_name1=runtime
5_name0=pydantic-monty
6pkgbase=python-$_name0
7pkgname=(python-$_name0-$_name2 python-$_name0-$_name1 python-$_name0)
8pkgver=0.0.23
9pkgrel=1
10arch=('any')
11_repo='https://github.com/pydantic/monty'
12license=('MIT')
13depends=('python')
14makedepends=('python-maturin'
15 'python-hatchling'
16 'python-build'
17 'python-installer'
18 'python-wheel')
19checkdepends=('python-anyio'
20 'python-dirty-equals'
21 'python-inline-snapshot'
22 'python-opentelemetry-sdk'
23 'python-pytest'
24 'python-pytest-examples'
25 'python-websockets')
26options=(!lto)
27source=("$_repo/archive/refs/tags/v$pkgver.tar.gz")
28sha256sums=('653bc739256dc511fa7600d1f7ee0a2f392ccbe91018a99e0c62c496197728a9')
29
30prepare() {
31 cd "$srcdir"/${_name0//pydantic-/}-$pkgver
32 # ruff >= 0.16 enables SIM117/B018 by default; docs examples predate that
33 sed -i "s/ruff_ignore=\['FA102'\]/ruff_ignore=['FA102', 'SIM117', 'B018']/" crates/${_name0//pydantic-/}-python/tests/test_readme_examples.py
34 # anyio >= 4.12 parametrizes anyio_backend over every importable backend;
35 # AsyncMonty is asyncio-only, so pin the backend instead of pulling in trio
36 cat >> crates/${_name0//pydantic-/}-python/tests/conftest.py <<'EOF'
37
38@pytest.fixture(scope='module')
39def anyio_backend():
40 return 'asyncio'
41EOF
42}
43
44
45build() {
46 export ZSTD_SYS_USE_PKG_CONFIG=1
47 cd "$srcdir"/${_name0//pydantic-/}-$pkgver
48 python -m build --wheel --no-isolation crates/${_name0//pydantic-/}-python
49 python -m build --wheel --no-isolation crates/${_name0//pydantic-/}-$_name1
50 python -m build --wheel --no-isolation packages/$_name0
51}
52
53check() {
54 local pytest_options=(
55 -vv
56 --disable-warnings
57 -W "ignore::pytest.PytestRemovedIn10Warning"
58 )
59 cd "$srcdir"/${_name0//pydantic-/}-$pkgver
60 python -m venv --system-site-packages test-env
61 test-env/bin/python -m installer crates/${_name0//pydantic-/}-python/dist/*.whl
62 test-env/bin/python -m installer crates/${_name0//pydantic-/}-$_name1/dist/*.whl
63 test-env/bin/python -m installer packages/$_name0/dist/*.whl
64 test-env/bin/python -m pytest "${pytest_options[@]}" crates/${_name0//pydantic-/}-python/tests
65 cargo test --locked --release -j 2 -p ${_name0//pydantic-/}-$_name1
66}
67
68package_python-pydantic-monty-client() {
69 pkgdesc='Python client for the Monty sandboxed Python interpreter.'
70 depends+=('python-typing_extensions' 'glibc' 'libgcc')
71 optdepends=('python-opentelemetry-api: opentelemetry')
72 url="$_repo/tree/main/crates/${_name0//pydantic-/}-python"
73 cd "$srcdir"/${_name0//pydantic-/}-$pkgver
74 python -m installer --destdir="$pkgdir" crates/${_name0//pydantic-/}-python/dist/*.whl
75}
76
77package_python-pydantic-monty-runtime() {
78 pkgdesc='The monty CLI binary — spawned as worker subprocesses by pydantic-monty.'
79 depends=('glibc' 'libgcc')
80 url="$_repo/tree/main/crates/${_name0//pydantic-/}-$_name1"
81 cd "$srcdir"/${_name0//pydantic-/}-$pkgver
82 python -m installer --destdir="$pkgdir" crates/${_name0//pydantic-/}-$_name1/dist/*.whl
83}
84
85package_python-pydantic-monty() {
86 pkgdesc='The Monty sandboxed Python interpreter: bindings plus the worker binary.'
87 depends+=('python-pydantic-monty-client' 'python-pydantic-monty-runtime')
88 optdepends=('python-opentelemetry-api: opentelemetry')
89 url="$_repo/tree/main/packages/$_name0"
90 cd "$srcdir"/${_name0//pydantic-/}-$pkgver
91 python -m installer --destdir="$pkgdir" packages/$_name0/dist/*.whl
92}
93

Scan history

Scanned at (UTC)SeverityRules
2026-09-18 11:28:26 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