python-parsl
LOW
maintainer Smoolak
0 votes
scanned 2026-11-01 20:01:18.389276
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: Smoolak <smoolak@gmail.com>
2
3
pkgname=python-parsl
4
pkgver=2026.10.26
5
pkgrel=1
6
pkgdesc='Parallel Python workflows with data dependency tracking'
7
arch=(any)
8
url=https://github.com/Parsl/parsl
9
license=(Apache-2.0)
10
depends=('python' 'python-pyzmq' 'python-typeguard' 'python-typing_extensions' 'python-dill' 'python-tblib' 'python-requests' 'python-sortedcontainers' 'python-psutil' 'python-setproctitle' 'python-filelock')
11
makedepends=('python-build' 'python-installer' 'python-setuptools' 'python-wheel')
12
checkdepends=('python-pytest' 'python-pytest-cov' 'python-sqlalchemy' 'python-numpy' 'python-pandas')
13
_commit=60f3905dcf27844a218e243659140b385a824de8
14
source=("$pkgname-$pkgver.tar.gz::$url/archive/$_commit.tar.gz"
15
pytest9-path-hook.patch)
16
sha256sums=('c45b9af773dda025957be8d124893c74554000fba674b058cef4f6bf58b4d322'
17
'a51ee1f7da5aab4b907e0536efc3c6285e0b50930a6dca4f7e18b98836fbce43')
18
optdepends=('python-sqlalchemy: workflow monitoring' 'python-boto3: AWS execution' 'python-kubernetes: Kubernetes execution' 'python-google-api-python-client: Google Cloud execution' 'python-globus-sdk: Globus data transfers' 'python-networkx: workflow visualization' 'python-pydot: workflow visualization' 'python-flask: workflow visualization' 'python-flask-sqlalchemy: workflow visualization' 'python-pandas: workflow visualization' 'python-plotly: workflow visualization' 'python-daemon: visualization server')
19
prepare() {
20
cd "parsl-$_commit"
21
# Match upstream release CI, since Git tags retain the development version.
22
VERSION="$pkgver" bash tag_and_release.sh update_version
23
# pytest 9 removed the legacy py.path hook argument.
24
patch -Np1 -i "$srcdir/pytest9-path-hook.patch"
25
}
26
27
build() {
28
cd "parsl-$_commit"
29
python -m build --wheel --no-isolation
30
}
31
32
check() {
33
python -m venv --system-site-packages --without-pip "$srcdir/check-env"
34
"$srcdir/check-env/bin/python" -m installer "parsl-$_commit"/dist/*.whl
35
# Exercise local thread/dataflow behavior without external execution providers.
36
local tests="parsl-$_commit/parsl/tests"
37
MPLBACKEND=Agg "$srcdir/check-env/bin/python" -I -m pytest --import-mode=importlib -v \
38
--config "$tests/configs/local_threads.py" \
39
"$tests/test_python_apps/test_basic.py" \
40
"$tests/test_python_apps/test_pipeline.py" \
41
"$tests/test_python_apps/test_futures.py" \
42
"$tests/test_python_apps/test_dependencies.py" \
43
"$tests/test_python_apps/test_dep_standard_futures.py" \
44
"$tests/test_python_apps/test_depfail_propagation.py" \
45
"$tests/test_python_apps/test_join.py" \
46
"$tests/test_python_apps/test_memoize_1.py" \
47
--junitxml="$srcdir/pytest-dataflow.xml"
48
MPLBACKEND=Agg "$srcdir/check-env/bin/python" -I -m pytest --import-mode=importlib -v \
49
--config local \
50
"$tests/test_threads/test_configs.py" \
51
"$tests/test_threads/test_lazy_errors.py" \
52
"$tests/test_python_apps/test_memoize_exception.py" \
53
"$tests/test_error_handling/test_retries.py" \
54
"$tests/test_serialization/test_basic.py" \
55
--junitxml="$srcdir/pytest-local.xml"
56
}
57
58
package() {
59
cd "parsl-$_commit"
60
python -m installer --destdir="$pkgdir" dist/*.whl
61
# The upstream suite is exercised by check(), not installed as runtime code.
62
rm -r "$pkgdir"/usr/lib/python*/site-packages/parsl/tests
63
python - "$pkgdir" <<'PYTHON'
64
import csv
65
import pathlib
66
import sys
67
record = next(pathlib.Path(sys.argv[1]).glob("usr/lib/python*/site-packages/parsl-*.dist-info/RECORD"))
68
with record.open(newline="") as source:
69
rows = [row for row in csv.reader(source) if not row[0].startswith("parsl/tests/")]
70
with record.open("w", newline="") as target:
71
csv.writer(target).writerows(rows)
72
PYTHON
73
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
74
}
75
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 20:01:18 | Low | 1 |