Anki add-on: Exam Scheduler for Anki

Exam Scheduler turns "I have an exam on this date and a pile of cards" into a concrete daily plan — for any deck, in any collection. Nothing is hard-coded to a particular course: every feature runs over the list of exam targets you configure. Add a Tools → Exam Scheduler menu: 📊 Study dashboard — per deck: total cards, % seen, new cards remaining, reviews due today, days to exam, and the exact new-cards/day needed to finish in time. 🎯 Set daily new-card limit from schedule — computes (new cards ÷ days left) for each deck and writes it straight to that deck's options preset. An optional safety buffer lets you finish N days early and/or add a % margin so you're done with slack, not cramming on exam eve. Each deck gets its own preset, so limits never clobber each other. ⏩ Bump reviews before exam — any review card scheduled to fall due after your exam is pulled forward to peak ~14 days before it (configurable, scattered ±3 days so you don't get a single brutal day). 🚀 Cram current deck / 🚀 Cram a chosen deck — one click lifts today's new + review limits for a deck and all its subdecks, so you can blitz a topic. It's today-only and self-resetting: your normal limits return at the next day rollover, with nothing to undo. 🔢 Zero-pad numbered deck names — renames "1 Cell Structure" → "01 Cell Structure" across the whole collection so numbered chapters sort correctly. 📅 Manage exam targets — add/remove the decks you're revising and set each one's exam date. First run: Tools → Exam Scheduler → Manage exam targets… → pick a deck, set its exam date, Save. Open the Study dashboard to see where you stand, then Set daily new-card limit to make Anki feed you the right number of cards each day. Notes: "Bump reviews" and "Zero-pad" register an undo checkpoint (Edit → Undo reverts them). Cram mode needs nothing restored. Works on Anki 23.10+ (PyQt6), with a PyQt5 fallback for older builds.