Files
Jamison Lahman e05ec67b09 Add reportlab and svglib PDF-generation libraries (#64)
* Add reportlab and svglib PDF-generation libraries

Add two PDF-generation libraries to the executor bundle:

- reportlab (>=5.0.0, BSD): the standard library for programmatic PDF
  generation. Pillow is already bundled, so this adds only 1 package.
- svglib (>=2.0.2, LGPL-3.0): converts SVG into ReportLab drawings,
  giving a clean path from matplotlib SVG output to PDF. Adds 4 small
  pure-Python deps (cssselect2, tinycss2, webencodings + itself).

Skipped xhtml2pdf (HTML->PDF): it pulls ~20 packages including a
PDF-signing/crypto stack (pyHanko, oscrypto, asn1crypto) and pins
reportlab<5, which is at odds with the "lightweight" goal.

svglib's LGPL-3.0 license matches the existing fpdf2 dependency, so it
introduces no new licensing posture. Bump executor 0.4.4 -> 0.4.5.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Bump code-interpreter and Helm chart to 0.4.5

Keep code-interpreter in sync with the executor version bump: update
code-interpreter/pyproject.toml, its uv.lock, and the Helm chart version
from 0.4.4 to 0.4.5. Matches the release convention from #63.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 11:32:29 -07:00

40 lines
850 B
TOML

[build-system]
requires = ["hatchling>=1.25.0"]
build-backend = "hatchling.build"
[project]
name = "executor"
version = "0.4.5"
description = "Dependency bundle for the code interpreter executor image"
requires-python = ">=3.11,<3.12"
license = { text = "MIT" }
authors = [{ name = "Chris Weaver" }]
dependencies = [
"fpdf2==2.8.7",
"matplotlib==3.9.1",
"matplotlib-inline>=0.1.7",
"matplotlib-venn>=1.1.2",
"numpy==1.26.4",
"opencv-python>=4.11.0.86",
"openpyxl>=3.1.5",
"pandas==2.2.2",
"pdfplumber>=0.11.7",
"pydantic>=2.11.9",
"pypdf==6.13.3",
"python-docx==1.2.0",
"python-pptx>=1.0.2",
"reportlab>=5.0.0",
"scikit-image>=0.25.2",
"scikit-learn>=1.7.2",
"scipy>=1.16.2",
"seaborn>=0.13.2",
"svglib>=2.0.2",
"xgboost>=3.0.5",
]
[tool.hatch.build.targets.wheel]
packages = []
include = [
"README.md",
]