# 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 # Plugin contract version checking (shopdb/plugins/loader.py). # Declared explicitly because it reaches dev and CI only as a pytest # dependency: every test passes while a production venv, which has no pytest, # cannot import shopdb at all. packaging>=23.0 # 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