Files
lego-instructions-manager/.claude-context/sessions/2025-12-12-python-314-autostart.md
T

1.9 KiB

Python 3.14 Compatibility and Windows Auto-Start

Date: 2025-12-12 Project: lego-instructions-manager Status: resolved Tags: python-3.14, dependencies, pymupdf, pillow, sqlalchemy, windows, task-scheduler, waitress

Context

After the v1.5.0 initial commit (2025-12-09), installing on the Windows host (E:\LIM, Python 3.14) failed: several packages had no 3.14 wheels at the pinned versions and SQLAlchemy raised a TypingOnly assertion error at import. Jess also wanted the app to start automatically with Windows.

Key Decisions

  • Raise minimums rather than downgrade Python: PyMuPDF >=1.24.0, Pillow >=11.0.0, SQLAlchemy >=2.0.35 (the TypingOnly fix).
  • Flexible version ranges instead of exact pins — fewer breakages on new Python releases; requirements-flexible.txt kept alongside requirements.txt.
  • Task Scheduler + batch file for auto-start rather than a Windows service — simpler to set up and debug.
  • waitress as the WSGI server on Windows (gunicorn doesn't run on Windows).

Technical Details

  • Install path: E:\LIM.
  • Startup: start_lim.bat; setup_startup.bat registers the scheduled task.
  • PYTHON_314_COMPATIBILITY.md — package/version matrix.

Code Changes

  • requirements.txt / requirements-flexible.txt — updated minimums and ranges.
  • start_lim.bat, setup_startup.bat, STARTUP_README.md — new.
  • PYTHON_314_COMPATIBILITY.md — new.

Open Questions / Next Steps

  • Repo root contains stray files named 0.6.0, 1.0.0, 1.2.0, 1.23.0, 2.31.0, 3.0.0, 3.1.0 — almost certainly created by running pip install package>=x.y.z unquoted in cmd, where > redirects output to a file. Safe to delete; quote version specifiers in future (pip install "Pillow>=11.0.0").

Artifacts

  • c1d6789 — Fix SQLAlchemy version for Python 3.14
  • 9f55b1e — Update all dependencies for Python 3.14 with flexible version ranges
  • 0ec5f27 — Add Windows Task Scheduler setup script