Python dependency upgrade audit

Reviewed on 2026-10-23. Python selectors use 3.14 in the server, worker, and documentation environments. Existing version ceilings are preserved where unchanged; this upgrade introduces no new upper bounds. Lockfiles record the resolved versions, including the newly tracked Manim worker lockfile.

Compatibility decisions

  • Gradio 6.30 requires Pillow below 13, so the server retains Pillow 12.3. The Manim worker upgrades to Pillow 13.

  • Torchaudio 2.11 is the latest release and explicitly supports later Torch releases. It remains paired with Torch 2.14.1 and Torchvision 0.29.1.

  • Existing uv overrides/exclusions remain necessary: VGGT requests NumPy below 2 and the non-headless OpenCV distribution; Qwen requests Transformers 4.57.3 and unused Sox/ONNX Runtime modules; NeMo requests an older Pynini. Therefore a raw uv pip check reports those pre-existing metadata disagreements. Resolution uses Shrimply’s overrides, and the supported application paths are exercised separately. This is not a claim of compatibility for unused upstream features that require the excluded packages.

  • Manim advances from 9d57bcf to fafa083 without modifying its source. Shrimply adapts texture capture, sampling and array uploads. IR schema 11 rejects older packets; the animation cache exists only within the running process. Video and sprite rendering matches native Manim, including streamed frames, preloading, seeking, looping, transparency and sampling filters.

  • Transformers may discard an all-ones attention mask. IndexTTS now derives cached audio positions from the KV cache, and cached/uncached logits are compared directly during validation.

Source review

The following inventory covers changed and newly resolved Python packages. Release notes were reviewed together with intervening releases and linked migration notes where applicable. Commit history is used where upstream does not publish versioned release notes. The GTSAM development snapshot is reviewed against its release-line notes. Platform-only dependencies are resolved by the worker lockfile; Linux checks do not verify their macOS or Windows runtime.

Resolved upgrades

Package

Previous

Selected

Review

aiohttp

3.14.3

3.14.5

No Shrimply-facing migration identified in the reviewed release notes. Notes

alabaster

0.7.16

1.0.0

No Shrimply-facing migration identified in the reviewed release notes. Notes

anyio

4.14.2

4.15.1

No Shrimply-facing migration identified in the reviewed release notes. Notes

av

18.1.0

19.0.2

Adapted missing-rate checks and exact fraction conversion for AVRational. Notes

brotli

1.2.0

1.2.1

No Shrimply-facing migration identified in the reviewed release notes. Notes

certifi

2026.7.22

2026.10.23

Reviewed CA removals and restoration of unaffected emSign roots. Commits

charset-normalizer

3.5.1

3.5.2

No Shrimply-facing migration identified in the reviewed release notes. Notes

click

8.4.2

8.5.0

No Shrimply-facing migration identified in the reviewed release notes. Notes

cloudpickle

new

3.1.2

No Shrimply-facing migration identified in the reviewed release notes. Notes

contourpy

1.3.3

1.4.0

No Shrimply-facing migration identified in the reviewed release notes. Notes

cuda-bindings

12.9.7

12.9.10

No Shrimply-facing migration identified in the reviewed release notes. Notes

cuda-pathfinder

1.7.0

1.8.4

No Shrimply-facing migration identified in the reviewed release notes. Notes

cyclopts

4.23.2

5.3.0

Reviewed v5 parsing and exit-code changes; existing worker CLI remains compatible. Notes

diffusers

0.40.0.dev0

0.42.0

Released MiniMax H3/Wan APIs replace the development commit; dtype API reviewed. Notes

docutils

0.19

0.23

No Shrimply-facing migration identified in the reviewed release notes. Notes

executing

2.2.1

2.3.0

No Shrimply-facing migration identified in the reviewed release notes. Commits

fastapi

0.141.1

0.162.0

Reviewed intervening breaking changes; Shrimply uses explicit raw-body routes, not form defaults. Notes

filelock

3.32.4

4.2.4

Reviewed v4 ownership/context changes; model-download dependencies import successfully. Notes

fonttools

4.63.0

4.67.0

No Shrimply-facing migration identified in the reviewed release notes. Notes

fsspec

2026.7.0

2026.9.0

No Shrimply-facing migration identified in the reviewed release notes. Notes

furo

2025.9.25

2025.12.19

No Shrimply-facing migration identified in the reviewed release notes. Notes

glfw

2.10.2

2.11.0

No Shrimply-facing migration identified in the reviewed release notes. Notes

gradio

6.26.0

6.30.0

No Shrimply-facing migration identified in the reviewed release notes. Notes

gradio-client

2.6.1

2.7.2

No Shrimply-facing migration identified in the reviewed release notes. Notes

gtsam-develop

4.3a2.dev202608252015

4.3.2.dev202610230405

Reviewed GTSAM 4.3 removals; retained existing development distribution. Notes

hf-xet

1.6.0

1.7.0

No Shrimply-facing migration identified in the reviewed release notes. Notes

httpcore2

new

2.16.0

Transport paired with httpx2; no direct Shrimply calls. Notes

httpx2

new

2.16.0

Hub HTTP transport; server requests verified with the installed stack. Notes

huggingface-hub

1.28.0

2.3.0

HTTP stack changes to httpx2; download/progress adapters and imports checked. Notes

idna

3.19

3.20

No Shrimply-facing migration identified in the reviewed release notes. Notes

importlib-metadata

9.0.0

10.1.0

Python 3.10 support removed; supported by the Python 3.14 runtime. Notes

inflect

7.5.0

7.6.0

No Shrimply-facing migration identified in the reviewed release notes. Notes

iniconfig

2.3.0

2.3.1

No Shrimply-facing migration identified in the reviewed release notes. Notes

ipython

9.16.1

9.17.1

No Shrimply-facing migration identified in the reviewed release notes. Commits

jaraco-functools

new

4.6.0

No Shrimply-facing migration identified in the reviewed release notes. Notes

jedi

0.20.0

0.20.1

No Shrimply-facing migration identified in the reviewed release notes. Notes

joblib

1.5.3

1.6.0

No Shrimply-facing migration identified in the reviewed release notes. Notes

kiwisolver

1.5.0

1.5.1

No Shrimply-facing migration identified in the reviewed release notes. Notes

lazy-loader

0.5

0.6

No Shrimply-facing migration identified in the reviewed release notes. Notes

llvmlite

0.49.0

0.50.0

No Shrimply-facing migration identified in the reviewed release notes. Notes

manimpango

0.6.1

0.7.0

Python 3.10+ and glyph rounding changes; native visual comparisons passed. Notes

markupsafe

3.0.3

3.0.4

No Shrimply-facing migration identified in the reviewed release notes. Notes

matplotlib

3.11.1

3.11.2

No Shrimply-facing migration identified in the reviewed release notes. Notes

more-itertools

11.1.0

11.2.1

No Shrimply-facing migration identified in the reviewed release notes. Notes

msgpack

1.2.1

1.2.3

No Shrimply-facing migration identified in the reviewed release notes. Notes

msgspec

0.21.1

0.22.0

gc=False/weakref restriction does not apply to Shrimply; MessagePack endpoints checked. Notes

multidict

6.7.1

7.1.0

Reviewed unique-key iteration and istr subclass restriction; no direct Shrimply calls. Notes

narwhals

2.25.0

2.27.1

No Shrimply-facing migration identified in the reviewed release notes. Notes

networkx

3.6.1

3.7

No Shrimply-facing migration identified in the reviewed release notes. Notes

numba

0.67.0

0.68.0

No Shrimply-facing migration identified in the reviewed release notes. Notes

numpy

2.5.2

2.5.4

Reviewed non-finite linalg input checks and patch fixes; finite media/GPU paths checked. Notes

nvidia-nvjitlink-cu12

12.6.85

12.9.86

CUDA 12.9 component within the CUDA 12 family; GPU compilation checked. Notes

onnx

1.22.0

1.23.2

No Shrimply-facing migration identified in the reviewed release notes. Notes

opentelemetry-api

new

1.45.1

No Shrimply-facing migration identified in the reviewed release notes. Notes

orjson

3.12.0

3.13.0

No Shrimply-facing migration identified in the reviewed release notes. Notes

pandas

3.0.5

3.1.0

Reviewed datetime resolution and array frequency changes; no direct Shrimply calls. Notes

peft

0.20.0

0.21.2

Includes compatibility fixes for Transformers >=5.18 and TorchAO 0.18. Notes

pillow

12.3.0

13.0.0

Worker uses Pillow 13; server retains Pillow 12 because Gradio requires it. Notes

platformdirs

4.11.4

4.13.5

No Shrimply-facing migration identified in the reviewed release notes. Notes

pluggy

1.6.0

1.7.0

No Shrimply-facing migration identified in the reviewed release notes. Notes

propcache

0.5.2

0.5.4

No Shrimply-facing migration identified in the reviewed release notes. Notes

protobuf

7.36.0

7.36.2

No Shrimply-facing migration identified in the reviewed release notes. Notes

pure-eval

0.2.3

0.2.4

No Shrimply-facing migration identified in the reviewed release notes. Commits

pycolmap-cuda12

4.1.1

4.2.1

Reviewed 4.2 changes and hash-map ABI fix; CUDA support checked. Notes

pycparser

3.0

3.12

No Shrimply-facing migration identified in the reviewed release notes. Commits

pydantic

2.13.4

2.14.1

Reviewed 2.14 schema/validation changes; protocol models and endpoints checked. Notes

pydantic-core

2.46.4

2.50.1

Updated with its matching Pydantic release; strict protocol validation checked. Notes

pyparsing

3.3.2

3.3.3

No Shrimply-facing migration identified in the reviewed release notes. Notes

pyrefly

1.2.0

1.4.0

Stricter inference exposed nullable channels and decorated method signatures; fixed call sites. Notes

python-dateutil

2.9.0.post0

3.0.0

Reviewed timezone API changes; no direct Shrimply calls. Notes

pytorch-lightning

2.6.5

2.6.6

No Shrimply-facing migration identified in the reviewed release notes. Notes

pytz

2026.3.post1

2026.5

No Shrimply-facing migration identified in the reviewed release notes. Commits

regex

2026.7.19

2026.9.29

No Shrimply-facing migration identified in the reviewed release notes. Commits

rich-rst

2.1.0

2.2.0

Includes directive file-access restrictions; worker CLI help checked. Notes

roman-numerals

new

4.1.0

No Shrimply-facing migration identified in the reviewed release notes. Notes

rubicon-objc

0.5.6

0.5.7

Python 3.11 minimum and platform processor requirements; macOS runtime needs platform validation. Notes

scikit-learn

1.9.0

1.9.1

No Shrimply-facing migration identified in the reviewed release notes. Notes

setuptools

84.0.0

84.2.1

No Shrimply-facing migration identified in the reviewed release notes. Notes

soupsieve

2.9.2

3.0.4

Reviewed v3 Python minimum and selector changes; documentation builds passed. Notes

sphinx

6.2.0

9.2.0

Reviewed 7/8/9 migrations; upgraded theme/extensions and warning-as-error build passed. Notes

sphinx-tabs

3.4.7

3.5.0

Raises minimum Sphinx to 7; documentation builds on Sphinx 9. Notes

sphinxcontrib-jsmath

1.0.1

2.0.0

Supports current Sphinx math context and Python 3.14. Notes

starlette

1.6.0

1.9.0

No Shrimply-facing migration identified in the reviewed release notes. Notes

threadpoolctl

3.6.0

3.7.0

No Shrimply-facing migration identified in the reviewed release notes. Notes

tokenizers

0.22.2

0.23.3

Reviewed normalization change and overflowing-token patch; paired with Transformers. Notes

torch

2.13.0+cu126

2.14.1+cu126

Reviewed 2.14 changes; GPU execution, compilation and INT8 quantization checked. Notes

torch-einops-utils

0.1.21

0.1.42

No Shrimply-facing migration identified in the reviewed release notes. Commits

torchvision

0.28.0+cu126

0.29.1+cu126

Matching 0.29.1 release; image codec deprecations do not affect Shrimply media decoding. Notes

tqdm

4.70.0

4.70.1

No Shrimply-facing migration identified in the reviewed release notes. Notes

transformers

5.15.1

5.20.2

Adapted IndexTTS cached token positions when generation drops an all-ones mask. Notes

trimesh

5.0.0

5.1.1

No Shrimply-facing migration identified in the reviewed release notes. Notes

triton

3.7.1

3.8.0

Reviewed 3.8 compiler changes; compiled GPU operation checked. Notes

truststore

new

0.10.5

No Shrimply-facing migration identified in the reviewed release notes. Notes

typer

0.27.1

0.27.3

No Shrimply-facing migration identified in the reviewed release notes. Notes

types-tqdm

4.70.0.20260805

4.70.0.20260906

No Shrimply-facing migration identified in the reviewed release notes. Notes

tzdata

new

2026.5

No Shrimply-facing migration identified in the reviewed release notes. Notes

urllib3

2.7.0

2.8.0

No Shrimply-facing migration identified in the reviewed release notes. Notes

uv

0.12.6

0.13.5

Reviewed 0.13 changes and managed interpreter/certificate fixes; used in Docker builds. Notes

uvicorn

0.52.4

0.54.0

No Shrimply-facing migration identified in the reviewed release notes. Notes

validators

0.35.0

0.36.0

Stricter checks and Python 3.11 minimum; worker CLI remains compatible. Notes

wcwidth

0.8.2

0.9.3

No Shrimply-facing migration identified in the reviewed release notes. Notes

wrapt

2.3.0

2.5.1

No Shrimply-facing migration identified in the reviewed release notes. Notes

yarl

1.24.5

1.25.1

No Shrimply-facing migration identified in the reviewed release notes. Notes

zipp

4.1.0

4.1.2

No Shrimply-facing migration identified in the reviewed release notes. Notes

Manim revision notes: VideoMobject and Sprite.

Container variants

CUDA 12.6 remains the default. CI also builds CUDA 13.0, using copies of the manifest and lockfile transformed inside the Docker build. The CUDA 13 variant builds PyCOLMAP 4.2.1 from pinned upstream source, packages its native dependencies, and installs it instead of the CUDA 12 wheel. Runtime dependencies are installed at image build time; application startup performs no dependency resolution.

The native wheel stage precedes application source copies. CI exports intermediate layers with mode=max in separate GHCR cache images for each CUDA variant, so source-only changes reuse the wheel and dependency layers. A source revision, toolkit or build-setting change invalidates the corresponding native build layer.

See COLMAP 4.2.1 notes and CUDA 13.0 Update 2 notes. CUDA 13 requires a compatible NVIDIA driver and Turing or newer GPUs; use the CUDA 12.6 variant for older supported hardware.

The CUDA 13 runtime selected by Torch uses CUDA 13.0 Update 3, which includes a cuBLAS correctness fix. The wheel builder uses the compatible CUDA 13.0 Update 2 development toolkit.

Build tooling reviewed for the new native wheel stage includes auditwheel 6.8.2 (deterministic SBOM fix), scikit-build-core 1.1.1 (wheel performance and interpreter discovery fixes), and upstream’s pinned pybind11 3.0.4 (Python 3.13+ traversal and C++ ownership fixes).

The wheel repair stage pins patchelf 0.19.2 and verifies its release archive checksum. Its segment-alignment and binary-corruption fixes prevent the invalid OpenBLAS mappings produced by Ubuntu’s patchelf 0.18.0. OpenGL dispatch, GLX, and OpenGL libraries remain supplied together by the runtime image, alongside XRender, to avoid mixing bundled and system graphics libraries.