REQ-D: restore waitress and tzdata to requirements.in. They existed ONLY in the
generated requirements.txt (hand-added in bf9e60e), so the next
`uv pip compile` would have silently removed the WSGI server and the IANA
timezone database from every Windows install.
REQ-E: split production and development requirements. requirements.txt was
installing pytest, pytest-cov, pytest-flask, coverage, iniconfig and pluggy onto
production servers. Verified on a real Windows Server box before this change.
CI, scripts/test-external-plugin.sh and the dev docs now use requirements-dev.txt.
REQ-F: standardise on Python 3.14. The repo declared four different versions
(Dockerfile 3.12, DEPLOY-WINDOWS-IIS 3.12, INSTALL-WINDOWS-IIS 3.13, CI 3.13,
plus README, web.config and PLUGIN-EXTERNAL-REPO). 3.14 is in active bugfix
support until ~Apr 2027 and supported to Oct 2030; 3.13 entered security-only in
Apr 2026. All four compiled dependencies publish win_amd64 wheels for 3.14
(cryptography via an abi3 wheel), verified by building an offline wheelhouse and
installing it on Windows Server 2025.
REQ-G: state MySQL 8.0 as the standard for new installs; 5.7+/5.6 remain
supported on an existing server.
Lockfiles regenerated with uv pip compile. Production deps 44 -> 38.
38 lines
869 B
Plaintext
38 lines
869 B
Plaintext
# Flask and extensions
|
|
flask>=3.0
|
|
flask-sqlalchemy>=3.1
|
|
flask-migrate>=4.0
|
|
flask-jwt-extended>=4.6
|
|
flask-cors>=4.0
|
|
flask-caching>=2.0
|
|
flask-marshmallow>=1.2
|
|
marshmallow-sqlalchemy>=0.29
|
|
|
|
# Database
|
|
mysql-connector-python>=8.0
|
|
pymysql>=1.1
|
|
cryptography>=42.0 # pymysql needs it for MySQL 8 caching_sha2_password auth
|
|
|
|
# CLI and utilities
|
|
click>=8.1
|
|
python-dotenv>=1.0
|
|
tabulate>=0.9
|
|
|
|
# HTTP/API clients
|
|
requests>=2.31
|
|
|
|
# Security
|
|
werkzeug>=3.0
|
|
|
|
# Windows/IIS runtime
|
|
# waitress is the WSGI server IIS launches via HttpPlatformHandler.
|
|
# tzdata ships the IANA timezone database, which Windows does not provide;
|
|
# without it the notifications plugin fails on zoneinfo lookups.
|
|
# Both were previously hand-added to requirements.txt only, so a recompile
|
|
# would have silently dropped them from every Windows install.
|
|
waitress>=3.0
|
|
tzdata
|
|
|
|
# Validation
|
|
email-validator>=2.0
|