SVG batch inspection example Save inspect_svgs.py beside a folder named samples. Save the three SVG downloads inside samples with their original filenames. Python 3.10 or later is required. From that parent folder run: python inspect_svgs.py samples To retain the printed report in a new file: python inspect_svgs.py samples > report.json The script reads only the immediate folder. It does not edit SVGs, contact a service, generate graphics or consume SVG AI credits. Redirection creates or replaces report.json, so choose a new report filename when preserving old runs. The three samples are unmodified SVG AI outputs from September 5, 2026: matching-envelope.svg was generated from text; matching-bell.svg and matching-gear.svg used that envelope as a reference. They were created as owned tutorial examples, not customer projects. Complete prompts: https://www.svgai.org/blog/text-to-svg/text-to-svg-ai-tutorial The script and contact sheet were manually written for this tutorial. The expected-report.json file records the script's structural results for these exact samples. It does not measure generation speed, consistency or acceptance. Only explicit fill/stroke attributes are listed. CSS, inheritance, gradients, opacity and filters may change visible paint. has_css signals a style attribute or style element, even when it affects layout rather than color. No image element is not proof of safety, accessibility, a license or visual quality. Input scope: UTF-8, SVG namespace, at most 5 MiB per file. DTD/entity declarations are refused. Parse errors are reported per file; the script exits with code 1 when a file has an error. Invalid folders or empty folders exit with code 2. This is not a sanitizer. Inspect untrusted files with your normal security process before opening them in a browser or integrating them into a page.