maestro/runtime/python-requirements.txt
2026-06-03 05:08:00 +00:00

38 lines
2.1 KiB
Plaintext

# Python packages pre-baked into the runtime's system python (read-only
# bind-mounted into every Bash sandbox). The agent CANNOT `pip install` at
# runtime — it is rejected in all modes — so anything it might `import` must
# be listed here and re-provisioned. See docs/operations/bash-sandbox-provisioning.md.
#
# NOTE: the Bash sandbox runs with --unshare-net (no network), so network
# libraries (requests/httpx/aiohttp/yt-dlp/scrapy ...) are intentionally NOT
# listed — outbound HTTP must go through the WebFetch/DownloadFile/MCP tools.
# ── Documents / file-format readers ──────────────────────────
pypdf
pymupdf>=1.24 # fitz; PDF render/extract (musllinux wheels >=1.24)
pdfplumber # PDF text + table extraction (pdfminer.six based)
python-docx # .docx read/write
python-pptx # .pptx read/write
openpyxl # .xlsx read/write
xlsxwriter # .xlsx write with formatting/charts
xlrd # legacy .xls (pre-2007 Excel) read
odfpy # OpenDocument .odt / .ods
striprtf # .rtf -> plain text
beautifulsoup4 # HTML/XML parsing
lxml # fast XML/HTML backend
markdownify # HTML -> Markdown
markdown # Markdown -> HTML
# ── Data / analysis ──────────────────────────────────────────
numpy
pandas
tabulate # render tables as markdown/plain text
python-dateutil # flexible date parsing
matplotlib # offline charts -> image files in output/ (HEAVY: on
# alpine/musl needs freetype/libpng build deps; fine on host)
# ── Images / text ────────────────────────────────────────────
Pillow # image processing
charset-normalizer # robust encoding detection for messy text
PyYAML # YAML read/write (stdlib json covers JSON)