blob: af147fb225155112c78e7728be0c55b5094e65d6 (
plain)
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
72
73
74
75
|
# Maintainer: Hasan Çatalgöl < hasancatalgol at gmail.com>
# Package: python-bigframes
#
# BigQuery DataFrames (aka BigFrames). This builds from the PyPI sdist and
# installs the wheel into the Arch filesystem layout.
pkgname=python-bigframes # Arch naming: python-<modulename>
pkgver=2.15.0 # Upstream version (update when PyPI updates)
pkgrel=1 # Increment on packaging-only changes
pkgdesc="BigQuery DataFrames — scalable analytics & ML with BigQuery (BigFrames)"
arch=('any') # Pure Python → arch-independent
url="https://github.com/googleapis/python-bigquery-dataframes"
license=('Apache-2.0') # SPDX identifier
# Runtime dependencies (import/use time). Keep these lean but functional.
depends=(
'python' # CPython runtime
'python-google-cloud-bigquery' # BigQuery client (engine calls)
'python-pandas' # pandas-like API surface
'python-numpy' # array/dtype helpers used by the API
'python-pyarrow' # Arrow/Parquet I/O & dtypes
)
# Build-time tools & possible backends.
# - python-build / python-installer / python-wheel: PEP 517 toolchain
# - Some google projects use setuptools; others use hatchling — include both so
# --no-isolation works regardless of backend.
makedepends=(
'python-build'
'python-installer'
'python-wheel'
'python-setuptools'
'python-hatchling'
)
# Optional extras surfaced as Arch optdepends (maps to PyPI "Provides-Extra").
optdepends=(
'python-scikit-learn: ML APIs and model utilities (extra: scikit-learn)'
'python-polars: enable Polars interop (extra: polars)'
'python-anywidget: notebook widgets for rich display (extra: anywidget)'
)
# Provide the bare name for reverse deps that might refer to 'bigframes'.
provides=('bigframes')
conflicts=('bigframes')
# PyPI sdist (note: lowercase path segment under /source/<first-letter>/<name>/)
source=("https://files.pythonhosted.org/packages/source/b/bigframes/bigframes-$pkgver.tar.gz")
# Set to SKIP while drafting; run `updpkgsums` to lock in the real SHA256.
sha256sums=('80d68fbead62f40ebff205689fbd1d853e12873ed0a7cc3dfa63944c72573f43')
build() {
cd "bigframes-$pkgver"
# Build a wheel using system-installed backends (no isolated venv).
python -m build --wheel --no-isolation
}
# Upstream tests are cloud-heavy; skip here. Add a smoke import instead if desired.
# check() {
# cd "bigframes-$pkgver"
# python - <<'PY'
# import importlib; import sys
# importlib.import_module("bigframes")
# print("bigframes import OK")
# PY
# }
package() {
cd "bigframes-$pkgver"
# Install the built wheel into $pkgdir (PEP 517/installer).
python -m installer --destdir="$pkgdir" dist/*.whl
# License to the standard location for pacman
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
|