1.9 KiB
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(theTypingOnlyfix). - Flexible version ranges instead of exact pins — fewer breakages on new Python releases;
requirements-flexible.txtkept alongsiderequirements.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.batregisters 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 runningpip install package>=x.y.zunquoted 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.149f55b1e— Update all dependencies for Python 3.14 with flexible version ranges0ec5f27— Add Windows Task Scheduler setup script