Dependencies
Dependencies are logical capabilities used by skills and artifacts. The
installer does not hardcode personal paths; precheck resolves each
capability from environment overrides, repo-local runtimes, PATH,
Python import checks, native Windows locations, WSL-backed commands,
or remote-service placeholders.
Use this page to understand what software may be needed before an install. Use Profiles or Skills to see which capabilities are selected for a workflow, and use Windows or Linux for platform-specific detection notes.
Minimum installer prerequisites:
Python 3.10 or newer.
A shell that can run the launcher: POSIX shell plus
makeon Linux/macOS, or./make.ps1with PowerShell on native Windows.Existing agent homes for any agents you want to install into. Missing agent homes are skipped rather than created implicitly.
Common commands:
make doctor ARGS="--profile research-core"
make precheck ARGS="--profile research-core"
make precheck ARGS="--profile full-research --interactive"
make precheck ARGS="--profile math --json"
Status vocabulary used by precheck:
present: the capability was found and can be used from the current substrate.missing: the capability was not found and may need installation.degraded: the capability appears to exist, but some part could not be executed or fully inspected.present-unverified: the capability was found as a file or install root, but the current substrate cannot safely execute it.manual: the capability depends on credentials, local databases, or service setup outside this repo.
Logical Tools
Logical Tool |
Description |
|---|---|
|
Calibre command line tools for ebook metadata and conversion. |
|
Chromium/Chrome/Edge for CDP-driven page screenshots and browser-print PDF evidence. |
|
Classroom50 instructor GitHub CLI extension executable. Install with |
|
eSpeak NG phonemizer used by offline TTS engines (Kokoro/Piper). |
|
FFmpeg/ffprobe for video encoding, audio normalization, and duration probing. |
|
Optional OpenGauss gauss CLI for manual live formal workflows. |
|
getscipapers console script from the maintainer fork, provisioned by the getscipapers-requester skill into a dedicated runtime-owned venv (~/.getscipapers_venv). |
|
Git command line client for repository-backed workflows and GitHub publishing. |
|
GitHub CLI for workflows that need local Actions, PR, issue, or authentication commands. |
|
GnuPG (gpg) for optional PGP/MIME signing of outgoing email in send-email. |
|
Hetzner Cloud CLI used by the hetzner-research-compute lane to provision, run on, and DESTROY disposable compute servers. |
|
ImageMagick convert/magick for optional post-capture cropping. |
|
Kaggle CLI (>=1.8.0) used by the kaggle-research-compute lane to push kernels, poll status, and download output. Installed by the kaggle Python package; kagglehub (>=0.4.1) validates the API token. Auth is the new single Kaggle API token from KAGGLE_API_TOKEN (or ~/.kaggle/access_token) in the environment, never the legacy KAGGLE_USERNAME + KAGGLE_KEY pair or a kaggle.json. |
|
Lake command line executable for optional Lean project checks. |
|
Lean command line executable for optional local formal typechecking. |
|
LaTeX engine with dvisvgm and standalone/preview (plus cairo/pango) for Manim MathTex rendering. |
|
Manually managed mathlib cache or project dependency state for optional Lean checks. |
|
Node runtime for MCP servers that use npx. |
|
NVIDIA GPU inspection tool used by resource preflight when available. |
|
OCR command line runtime, normally Tesseract. |
|
Poppler pdftotext for extracting expected markers from browser-print PDF evidence. |
|
PowerShell runtime for Windows bootstrap and argument forwarding. |
|
PPTX renderer: Microsoft PowerPoint on Windows or LibreOffice elsewhere. |
|
Python runtime with venv, pip, and ssl support. |
|
ripgrep command line search used by local research and session-inspection workflows. |
|
AMD ROCm GPU inspection tool used by resource preflight when available. |
|
SageMath runtime, local on Linux or WSL-backed on Windows. |
|
TeX engine for TikZ compile checks. |
|
uvx command for optional manual AXLE MCP server execution. |
|
Windows Subsystem for Linux runtime. |
Packages And Services
Dependency |
Type |
Detail |
|---|---|---|
|
|
remote-service |
|
|
calibre-cli |
|
|
chromium-browser-system-tool |
|
|
course_hoanganhduc; candidate set |
|
|
docling_mcp; candidate set |
|
|
docling; candidate set |
|
|
ebooklib |
|
|
edge_tts |
|
|
espeak-ng-system-tool |
|
|
feedparser |
|
|
ffmpeg-system-tool |
|
|
getscipapers-cli |
|
|
git-cli |
|
|
github-cli |
|
|
gnupg-system-tool |
|
|
googleapiclient |
|
|
google.oauth2 |
|
|
hcloud-cli |
|
|
remote-service |
|
|
imagemagick-system-tool |
|
|
remote-service |
|
|
kaggle-cli |
|
|
kaggle; candidate set |
|
|
kagglehub; candidate set |
|
|
kokoro |
|
|
manual-data |
|
|
lean_explore; candidate set |
|
|
remote-service |
|
|
manim; candidate set |
|
|
manim-tex-runtime |
|
|
remote-service |
|
|
modal; candidate set |
|
|
networkx |
|
|
numpy |
|
|
nvidia-smi-tool |
|
|
ocr-runtime |
|
|
pdf2image |
|
|
pdfplumber |
|
|
pdftotext-system-tool |
|
|
PIL |
|
|
piper |
|
|
pptx-render-system-tool |
|
|
psutil |
|
|
pylatexenc |
|
|
fitz |
|
|
PyPDF2 |
|
|
pypdfium2; candidate set |
|
|
pytest |
|
|
pptx |
|
|
pyzotero |
|
|
rapidocr; candidate set |
|
|
requests |
|
|
responses |
|
|
ripgrep-cli |
|
|
rocm-smi-tool |
|
|
shapely |
|
|
soundfile |
|
|
svgelements |
|
|
torch; candidate set |
|
|
torchvision; candidate set |
|
|
remote-service |
|
|
vnu_eoffice, requests, bs4; candidate set |
|
|
websocket |
|
|
remote-service |
Current Linux And Windows Config Inventory
This sanitized inventory is derived from the maintainer’s current Linux and Windows target configs for Codex, Claude, DeepSeek, Copilot, OpenCode, and Antigravity where present. It intentionally excludes auth files, provider secrets, session/history/log files, local library databases, caches, backups, and file-history snapshots.
Personal paths are represented as <LINUX_HOME> or <WINDOWS_HOME>.
Evidence inspected:
Linux Codex AGENTS/instruction/skill docs
Linux DeepSeek AGENTS/skill docs
Linux Claude CLAUDE/command/skill docs
Linux Codex runtime skill requirement files and Python imports
Windows Codex AGENTS/config/skill docs
Windows Claude CLAUDE/command/skill docs
Windows Claude skill requirement files and Python imports
npm metadata for the deepseek-tui to codewhale package rename
Extra Software
Software |
Requirement |
Linux |
Windows |
Used By |
|---|---|---|---|---|
|
required on Linux and inside WSL-backed Windows flows |
Used by shared runtime runner and shell skill wrappers. |
Used through WSL for SageMath and other Linux-substrate commands. |
|
|
optional for richer ebook library operations |
calibredb and ebook-convert on PATH. |
calibredb.exe and ebook-convert.exe on PATH. |
|
|
optional for url-to-screenshot capture and venue-ranking-evidence browser-print proof; installed manually and reported by doctor rather than treated as an install gate |
chromium or google-chrome on PATH, e.g. apt-get install chromium. Venue proof is limited to the public unauthenticated ICORE detail page; licensed or authenticated browser-profile capture is not implemented. |
chrome.exe or msedge.exe at the default Program Files path or on PATH. Venue proof is limited to the public unauthenticated ICORE detail page; licensed or authenticated browser-profile capture is not implemented. |
|
|
optional CLI layer for docling workflows |
Current Claude docs use <LINUX_HOME>/.local/share/docling-venv/bin/docling. |
Current Claude docs use <WINDOWS_HOME>/.venv-docling/Scripts/docling.exe. |
|
|
optional, for offline TTS (Kokoro/Piper phonemization) |
espeak-ng on PATH, e.g. apt-get install espeak-ng. |
espeak-ng on PATH or at the default winget path C:\Program Files\eSpeak NG\espeak-ng.exe. |
|
|
required for slides-to-video rendering (video encode, audio normalize, duration probe) |
FFmpeg + ffprobe on PATH (LGPL build with libx264), e.g. apt-get install ffmpeg. |
ffmpeg.exe + ffprobe.exe on PATH (LGPL build), via winget/choco or a static build. |
|
|
required for repository workflows and publishing |
git on PATH. |
git.exe or git on PATH. |
|
|
optional for GitHub workflows that need local gh commands |
gh on PATH with auth configured when needed. |
gh.exe or gh on PATH with auth configured when needed. |
|
|
optional; only needed for PGP/MIME email signing (send-email –sign) |
gpg on PATH with your secret key in the keyring, e.g. apt-get install gnupg. |
gpg.exe on PATH (Gpg4win), with your secret key imported. |
|
|
optional resource preflight enhancement |
nvidia-smi for NVIDIA or rocm-smi for AMD when present. |
nvidia-smi.exe or rocm-smi.exe when present; WSL GPU visibility depends on host driver support. |
|
|
optional until up/push/run/wait/fetch/down are used |
hcloud on PATH; HCLOUD_TOKEN supplied via the environment, never an hcloud context file. |
hcloud.exe or hcloud on PATH; HCLOUD_TOKEN supplied via the environment. |
|
|
optional until push/status/wait/fetch/run are used |
kaggle on PATH (pip install ‘kaggle>=1.8.0’ ‘kagglehub>=0.4.1’); the new Kaggle API token is supplied via KAGGLE_API_TOKEN (or ~/.kaggle/access_token) in the environment, never a legacy kaggle.json or KAGGLE_USERNAME + KAGGLE_KEY. |
kaggle.exe or kaggle on PATH (pip install ‘kaggle>=1.8.0’ ‘kagglehub>=0.4.1’); KAGGLE_API_TOKEN supplied via the environment (or %USERPROFILE%.kaggle\access_token). |
|
|
optional for local Lean project checks; never installed by wrappers |
Lake executable on PATH, via AAS_LAKE, or via an existing elan install. |
Lake executable on PATH, via AAS_LAKE, or via an existing per-user elan install. |
|
|
optional for local formal typechecking; never installed by wrappers |
Lean 4 executable on PATH, via AAS_LEAN, or via an existing elan install. |
Lean 4 executable on PATH, via AAS_LEAN, or via an existing per-user elan install. |
|
|
optional PPTX renderer; not needed on Windows when Microsoft PowerPoint is installed |
soffice/libreoffice on PATH, e.g. apt-get install libreoffice. |
soffice.exe on PATH from a LibreOffice install. |
|
|
optional convenience entrypoint |
make invokes installer commands. |
./make.ps1 invokes installer commands without requiring GNU Make. |
|
|
required for manim-math-animation rendering (heavier than plain tex-runtime) |
LaTeX (texlive + texlive-latex-extra + cm-super) with dvisvgm and the standalone/preview packages, plus libcairo2-dev and libpango1.0-dev; e.g. apt-get install dvisvgm texlive texlive-latex-extra libcairo2-dev libpango1.0-dev. |
MiKTeX/TeX Live providing latex + dvisvgm + standalone/preview; cairo/pango ship in the Manim Windows wheels. |
|
|
optional manually prepared Lean dependency cache |
Existing project-local mathlib cache or manually prepared Lake cache. |
Existing project-local mathlib cache or manually prepared Lake cache. |
|
|
optional until submit/deploy/wait/fetch are used |
Installed by the modal Python package and authenticated with modal token set/new. |
Installed into the agent virtualenv; wrappers add the venv Scripts directory to PATH. |
|
|
required for Node-backed MCP servers and optional Zotero translation-server workflows |
Node.js 18+ with npm. |
Node.js 18+ with npm/npx; Windows Codex config uses npx for the sequential-thinking MCP server. |
|
|
optional for scanned-document OCR |
Tesseract with tessdata available; current Claude docling docs use TESSDATA_PREFIX=/usr/share/tessdata/. |
Current Windows docling flow prefers rapidocr Python extras; Tesseract may be used through WSL if needed. |
|
|
optional for venue lookup; required for venue-ranking-evidence browser-proof marker verification |
pdftotext on PATH from Poppler, e.g. apt-get install poppler-utils. |
pdftotext.exe from a Poppler distribution on PATH. |
|
|
required for Windows bootstrap and Windows wrapper execution |
not required |
PowerShell 5.1+ or PowerShell 7+. |
|
|
optional, required only for PPTX input rendering |
LibreOffice soffice/libreoffice on PATH, e.g. apt-get install libreoffice. |
Microsoft PowerPoint from Microsoft Office via COM automation, or LibreOffice soffice.exe on PATH. |
|
|
required for runtime-backed skills and the installer |
Native Python 3.10+ detected from environment override, repo venv, python3, or python. |
Native Python 3.10+ detected from environment override, repo venv, C:\Python3*, per-user Python installs, Program Files installs, py -3, python.exe, or python. |
|
|
optional but expected by local search/session workflows |
rg on PATH. |
rg.exe or rg on PATH. |
|
|
required for the sagemath skill and optional Sage-backed graph/TikZ workflows |
Native executable via |
WSL-backed SageMath inside Ubuntu 24.04, detected through wsl.exe when runnable, current local WSL paths when precheck runs from WSL/Linux, mounted WSL rootfs paths when available, or an ext4.vhdx presence warning when the distro image is not inspectable. |
|
|
required for TikZ compile checks and optional annotated-review LaTeX/PDF output |
TeX Live or compatible distribution providing pdflatex, lualatex, or xelatex. |
MiKTeX, TeX Live, or compatible distribution providing pdflatex.exe, lualatex.exe, or xelatex.exe. |
|
|
optional manual command runner for AxiomMath AXLE MCP; never invoked by installer, precheck, or smoke |
uvx on PATH for manual live AXLE MCP setup. |
uvx.exe or uvx on PATH for manual live AXLE MCP setup. |
|
|
required when a Windows skill delegates to Linux-only tools |
not applicable |
Current SageMath flow uses direct WSL execution with an Ubuntu 24.04 distro. When precheck is run from WSL/Linux against a mounted Windows profile, the current local WSL filesystem is also inspected. Mounted rootfs directories are inspected when present; ext4.vhdx presence is reported as a degraded inspection gap because Sage inside the image cannot be verified without WSL, a local WSL filesystem, or a mounted rootfs. Docker is explicitly not required by the current Windows Sage config. |
|
Python Packages
Package |
Import |
Requirement |
Platforms |
Used By |
|---|---|---|---|---|
|
|
Pillow>=10.2 |
|
|
|
|
pymupdf; tikz semantic verifier pins PyMuPDF==1.27.2.2; slides-to-video pins PyMuPDF>=1.24 |
|
|
|
|
PyPDF2>=3.0.0 |
|
|
|
|
docling>=2.88.0,<3 |
|
|
|
|
docling-mcp |
|
|
|
|
ebooklib>=0.18 |
|
|
|
|
edge-tts>=7,<8 |
|
|
|
|
feedparser |
|
|
|
|
google-api-python-client>=2.100.0 |
|
|
|
|
google-auth>=2.23.0 |
|
|
|
|
kaggle>=1.8.0 |
|
|
|
|
kagglehub>=0.4.1 |
|
|
|
|
kokoro>=0.9.4 |
|
|
|
|
lean-explore |
|
|
|
|
optional local helper package with a maintainer-specific import name |
|
|
|
|
manim==0.20.1 on Python >=3.11; manim==0.19.1 on Python 3.10 |
|
|
|
|
modal |
|
|
|
|
networkx |
|
|
|
|
numpy==1.26.4 for TikZ semantic verifier; numpy>=1.26 for slides-to-video audio; numpy in Modal CPU image |
|
|
|
|
pdf2image>=1.17 |
|
|
|
|
pdfplumber>=0.10.0 |
|
|
|
|
piper-tts>=1.2 |
|
|
|
|
psutil |
|
|
|
|
pylatexenc |
|
|
|
|
pypdfium2>=4 |
|
|
|
|
pytest>=7.0.0 |
|
|
|
|
python-pptx>=1.0 |
|
|
|
|
pyzotero>=1.10.0 |
|
|
|
|
docling[rapidocr] extra |
|
|
|
|
requests>=2.28.0 |
|
|
|
|
responses>=0.23.0 |
|
|
|
|
shapely==2.1.2 for TikZ semantic verifier |
|
|
|
|
soundfile>=0.12 |
|
|
|
|
svgelements==1.9.6 for optional SVG parsing parity |
|
|
|
|
tomli>=2 on Python <3.11 for TOML config and authority parsing |
|
|
|
|
torch CPU wheel for Windows docling; torch in Modal GPU image |
|
|
|
|
torchvision CPU wheel for Windows docling |
|
|
|
|
websocket-client>=1.6 |
|
|
Node Packages
Package |
Requirement |
Used By |
Notes |
|---|---|---|---|
|
codewhale npm package; successor to deprecated deepseek-tui |
|
npm package metadata for codewhale and deepseek-tui rename. |
|
@modelcontextprotocol/server-sequential-thinking via npx |
|
Windows Codex config.toml. |
|
Vendored Zotero translation-server package.json |
|
Linux Codex Zotero translation-server-src/package.json. Runtime deps: |
Manual Integrations
Integration |
Description |
Used By |
|---|---|---|
|
AxiomMath AXLE API key and MCP client configuration are configured manually outside this repo; helpers report presence only and never write config. |
|
|
GitHub app/CLI authentication is configured outside this repo. |
|
|
Copilot CLI account, provider, and model entitlement state is detected as target precheck metadata when the Copilot target is detected or selected; known credential sources are reported by presence rather than value, config secret values are not read, and command arguments/version output are redacted. |
|
|
Google Drive service-account or OAuth credentials are configured outside this repo. |
|
|
Hetzner Cloud API token from a dedicated least-privilege project is configured outside this repo and read from the HCLOUD_TOKEN environment variable at runtime; it is never written to argv, logs, an hcloud context file, or a provisioned server. |
|
|
The new single Kaggle API token is configured outside this repo and read from the KAGGLE_API_TOKEN environment variable (or ~/.kaggle/access_token) at runtime; kagglehub validates it and the kaggle CLI authenticates kernel ops with it. It is never written to argv, logs, a legacy kaggle.json, or a kernel, and the legacy KAGGLE_USERNAME + KAGGLE_KEY pair is not used. ToS: use for modest, legitimate research workloads only. |
|
|
LeanExplore API key, MCP client configuration, and local search data are configured manually outside this repo; helpers report presence only and never write config or download data. |
|
|
Modal token file and workspace credentials are configured outside this repo. |
|
|
OpenAI, Claude, DeepSeek, Copilot, and other provider auth/config files are intentionally excluded. |
|
|
Scopus, Web of Science, JCR, and other licensed venue-source subscriptions, export access, API keys, and institutional access remain outside this repo. The runtime accepts only user-supplied authorized normalized imports for those sources; it never acquires credentials, automates licensed UIs, reuses browser profiles, or bypasses provider access controls. |
|
|
Zotero API/library/WebDAV credentials are configured outside this repo. |
|
Windows Substrate Notes
SageMath is WSL-backed on the inspected Windows config, not native Windows.
Docling OCR is Windows-native through rapidocr extras; Tesseract is a Linux/WSL option.
Docker is explicitly not required by the inspected Windows Sage config.
Windows wrapper commands may use PowerShell scripts, native Python venvs, and WSL in the same workflow; CMD runtime launchers are not published.
Docling And OCR Runtime Notes
The managed Docling runtime is local-only by default. The wrappers
accept local paths for doctor, convert, extract, chunk, and quality,
load Docling lazily after argument/config validation, and reject URL
sources, network-style paths, HTML/Markdown inputs with remote assets,
remote service config fields, provider URLs, API tokens, and OCR.space
settings in config files.
Useful local OCR controls include:
--preset local-accuratefor normal high-quality local parsing.--preset scan-heavyfor stronger scanned/image-backed paper OCR.--ocr-mode never|auto|alwaysand--force-full-page-ocr.--ocr-engine auto|easyocr|ocrmac|rapidocr|tesseract|tesserocr.--table-mode fast|accurate,--page-range,--max-num-pages, and--max-file-sizefor bounded conversions.quality --source <pdf>to score local extraction quality before fallback.
Config discovery order is --config, AAS_DOCLING_CONFIG,
DOCLING_CONFIG, $AAS_RUNTIME_WORKSPACE/config/docling.toml, and
$OPENCLAW_WORKSPACE/config/docling.toml only when
--allow-openclaw-config is passed. docling.example.toml is the
tracked template; live configs, caches, downloaded PDFs, and runtime
data are not promoted into the managed runtime manifest.
OCR.space is available only as an explicit remote fallback: pass
--ocr-fallback ocrspace --allow-remote-ocr to convert, provide
OCRSPACE_API_KEY or OCR_SPACE_API_KEY, and use --ocr-audit-output
when you need an upload/quality audit. The fallback runs only when local
Docling conversion fails or the quality gate degrades. Splitting a PDF
into one image per page may help satisfy per-request size or timeout
limits, but it does not bypass account-level quota, rate, or concurrency
limits. The adapter redacts secrets and uses OCR Engine 3 for paper
extraction quality.
Live OCR.space smoke is separate from default post-install smoke. Run
ocrspace-smoke --allow-remote-ocr only when a real OCR.space key is
configured and a live remote request is acceptable. The command
generates and uploads a synthetic one-page PDF rather than user data.
Slides-To-Video Runtime Notes
slides-to-video turns prepared slides (PNG/PDF/PPTX) into a narrated,
captioned MP4 using only free tools. ffmpeg is the one required system
tool (use an LGPL build); espeak-ng is needed for offline TTS and
Microsoft PowerPoint on Windows or LibreOffice elsewhere is needed only
for PPTX input. Python packages install into a dedicated
venv at ~/.local/share/slides-to-video-venv via the setup subcommand;
the wrappers use S2V_PYTHON first, then auto-select that venv, then
fall back to AAS_RUNTIME_PYTHON.
Install the system tools first, then run setup, then doctor:
Debian/Ubuntu sudo apt-get install ffmpeg espeak-ng libreoffice,
Fedora sudo dnf install ffmpeg espeak-ng libreoffice, macOS
brew install ffmpeg espeak-ng (LibreOffice via cask), Windows
winget install Gyan.FFmpeg eSpeak-NG.eSpeak-NG. Microsoft Office
PowerPoint satisfies PPTX input on Windows; espeak-ng is only for
offline TTS.
It runs a three-phase, human-in-the-loop flow: analyze (ingest slides),
draft then verbalize (per-slide spoken transcript, math read aloud),
and render – which is blocked until approve pins the transcript SHA,
and re-blocks automatically if the transcript changes afterward.
Timing is duration-driven: each slide’s narration is synthesized,
normalized to WAV, measured with ffprobe, and its clip is set to exactly
that length, then clips concatenate losslessly. Captions (SRT + VTT) are
engine-agnostic and re-based on the same measured durations.
TTS uses a language-aware ladder: edge-tts (online, best) then offline
Kokoro/Piper, dropping engines without a voice for the language – e.g.
Vietnamese routes to edge-tts vi-VN then Piper vi_VN, never Kokoro.
English and Vietnamese ship tuned lexicons (voices + spoken math); other
languages are supported generically via live edge-tts voice enumeration.
Tier-1 effects (Ken Burns, highlight, spotlight, laser, reveal) run as
ffmpeg filters on the slide pixels and need no slide source. A slide’s
visual can also be a pre-rendered video clip (set clip_path, or insert
one with add-interlude) – this is how a manim-math-animation clip is
mixed into a narrated deck: the segment runs to max(clip, narration),
narration stays in this skill’s TTS ladder, and the concat stays drift-free.
The default selftest smoke is offline: it validates the deterministic
core (pairing, re-basing, the engine ladder, verbalization, effect
filtergraph building, captions, clip args, and the approval gate) with no
network, package install, ffmpeg, or TTS. Run doctor to report whether
ffmpeg, fonts, and the venv packages are present before a real render.
Manim Math Animation Runtime Notes
manim-math-animation is the optional Manim companion to slides-to-video.
From a JSON scene spec (equations + optional title + emphasis) it generates
a Manim scene and renders a SILENT clip normalized to the slides-to-video
canonical profile (resolution, fps, yuv420p, silent 48 kHz stereo AAC), so
the clip splices into a deck without re-encoding. Narration stays in
slides-to-video (one timing owner per segment); Manim is rendered silent.
Animations: Write of typeset equations (handwriting feel),
TransformMatchingTex morphing between steps, and Indicate/Circumscribe/
Flash/Wiggle emphasis. Vietnamese/other-script prose uses the spec title
via Pango Text + a Unicode font; math (MathTex) is language-neutral.
Manim is heavier than the default smoke contract: it needs a LaTeX distro
with dvisvgm + the standalone/preview packages + cm-super, the cairo/pango
dev libraries, and ffmpeg (the manim-tex-runtime system dependency), plus
Manim CE in a dedicated venv at ~/.local/share/manim-math-animation-venv
created by setup. The default selftest smoke is offline and presence-
free: it validates the scene-spec round-trip, the generated Manim source,
and the manim/ffmpeg argv builders with no Manim, LaTeX, or ffmpeg. Run
doctor to confirm the render toolchain before render; a real render is
intentionally not part of default CI smoke.
Detection Notes
Python package checks use root-relative candidate sets, including
agent virtualenvs, user-local site-package directories, Codex runtime
site-package directories, dedicated Docling environments, official
Windows Python install roots, and per-user Windows package directories.
When inspecting a mounted Windows home from Linux, precheck can
verify package markers in site-packages, find common TeX Live and
MiKTeX install roots, detect Sage in the current WSL/Linux
filesystem, and detect mounted WSL rootfs Sage paths or WSL VHDX
presence. It still marks native Windows executables as
present-unverified instead of trying to execute them.
Related pages: Installation, Windows, Linux, Troubleshooting.