Skip to content

Add pandas component - #81

Merged
greyoak111 merged 1 commit into
mainfrom
comp/pandas
Nov 11, 2026
Merged

greyoak111 merged 1 commit into
mainfrom
comp/pandas

Conversation

@greyoak111

@greyoak111 greyoak111 commented Nov 11, 2026 •

Copy link
Copy Markdown
Owner

组件 / Component

  • id: pandas
  • 上游 / Upstream: pandas 3.1.1 (Termux main)
  • 许可证 / License: BSD-3-Clause
  • 主页 / Homepage: https://pandas.pydata.org/

What

pandas for tabular data on the device: read/write CSV and Parquet, filter, group and aggregate, handle missing values and date indexes.

The component is self-contained: numpy comes from the Termux package, and pandas' pure-Python dependencies (python-dateutil, six) are pinned in the recipe's pip field so the postinst never reaches PyPI. There are no component dependencies.

体积与共用包 / Size and sharing

  • 下载 22.3 MB · 装后 88.4 MB · 5 个包(pandas、numpy、libopenblas、dateutil、six)
  • 与 sci-python、ml-tflite 共用 python-numpy、libopenblas(同一 Termux 版本;有意做成自包含,不 requires sci-python)/ shares python-numpy and libopenblas with sci-python and ml-tflite (same Termux version; self-contained on purpose)

Tested

The selftest runs pandas-selftest with python3 -I, checks that numpy is importable, builds a DataFrame, runs groupby, handles missing values, a date range and a CSV round trip:

===== 总结 ===== pandas=3.1.1 numpy=2.5.4 groupby=PASS csv=PASS

Local audit against devkit-2026.10.28: the component has no errors; the remaining review flags are its own selftest script and python-pandas' postinst pip install (the recipe's pip field supplies dateutil/six, so the CI PIP_NO_INDEX=1 first run is satisfied). The staged package passed locally.

检查 / Checklist

  • node tools/check-recipes.mjs 通过 / passes
  • ci-build.mjs --dry 依赖都能解 / resolves (also built for devkit-2026.10.28)
  • 读过组件编写规则 / read the authoring rules
  • 描述与 skill 里的版本、能力以实际打进包的为准 / description and skill match what is packaged
  • 看过审计报告 / read the audit report (shared packages and risk levels above)
  • 第一次运行要下载的:skill 里写明大小与来源、先问用户 / first-run downloads disclosed and ask first (N/A — no runtime downloads)
  • SKILL.md 不会让 Claude 读取或打印令牌、密码 / never reads or prints secrets
  • 对外发布、删除类操作写明先问用户 / asks before public or destructive actions (N/A)
  • needs 如实填写 / filled honestly (shizuku, display, gpu all false)
  • 不涉及反代、共享或转售账户、破甲、批量操控账号 / not for reverse proxies, shared accounts, jailbreaking or mass-controlled accounts

真机测试 / Device test

  • node tools/verify-device.mjs 全过,记录另开 PR 进 verified.json / not run yet; can follow up
  • 设备 / Device:
  • cccodroid 版本 / version:

🤖 Generated with Claude Code

@github-actions

github-actions Bot commented Nov 11, 2026 •

Copy link
Copy Markdown

组件审计报告

底座 devkit-2026.10.28(3768afcf79a7)· 规则见 tools/audit.mjs 开头。🟢 看报告即可 · 🟡 要读脚本和 skill · 🔴 要逐行审

🟡 pandas 3.1.1-r1

下载 22.3 MB · 装后 88.4 MB · 3031 个文件 · 5 个包 (第一次发布)

  • ⚠️ 底座与仓库版本不同(组件按底座的版本用): ca-certificates 1:2026.10.20-1→1:2026.11.05-1, libexpat 2.9.0→2.10.0, libsqlite 3.54.1→3.54.1-1, python 3.14.8→3.14.10, python-pip 26.2.2-2→26.3, zlib 1.3.2→1.4
  • ✅ 不会盖掉底座的文件
  • ✅ 65 个 ELF 检查过
  • ✅ 每个 ELF 要的库都找得到
  • ✅ bin 入口与 selftest 命令都在
  • ✅ postinst 里会 pip install:python-pandas(配方的 pip 已带依赖,CI 自检用 PIP_NO_INDEX=1 跑首次运行,缺了会失败)

人要看的:

  • 🟡 SKILL.md 联网下载:L18 如果报 '找不到 numpy',就是组件没装完整——重装组件,不要 'pip install numpy' 另装一份。;L61 - **不要 'pip install pandas/numpy'**:会装第二份、和组件冲突;缺依赖就重装本组件。;L62 - **Excel 需要 openpyxl**:组件没带;要读 xlsx 先 'pip install --user openpyxl',或者用底座 'libr
  • 🟡 配方自带文件 1 个:usr/bin/pandas-selftest
  • 🟡 装完要跑包的 postinst:python-numpy、python-pandas
  • 🟡 带了 PyPI 的纯 Python 包 2 个:python_dateutil 2.9.0.post0、six 1.17.0(哈希打包时已核对)

和别的组件共用的包:octave:libopenblas;sci-python:libopenblas, python-numpy, python-dateutil, six

包清单
包 版本 下载
libopenblas 0.3.34 2.5 MB
python-numpy 2.5.4 3.5 MB
python-pandas 3.1.1 7.6 MB
python-dateutil 2.9.0.post0 0.2 MB
six 1.17.0 0.0 MB

CI 实跑 selftest(arm64 + termux-docker)

组件 结果 说明
pandas ✅ 退出码 0;最后一行:===== 总结 ===== pandas=3.1.1 numpy=2.5.4 groupby=PASS csv=PASS

环境同 App 里 Claude 的 Bash 工具(PREFIX / HOME / TMPDIR / termux-exec),没有 GPU、屏幕、Shizuku。通过只说明「装得上、跑得起来」,安卓特有的问题仍要真机。

python-pandas 3.1.1 for CSV/Parquet/Excel-style tabular work. It requires
the sci-python component and excludes python-numpy so numpy is not bundled
twice; the App installs the dependency first. The selftest covers DataFrame,
groupby, missing values, date ranges and a CSV round trip.

Co-Authored-By: Claude Code <noreply@anthropic.com>
@greyoak111
greyoak111 merged commit eaa00f5 into main Nov 11, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant