# --- Core framework ---------------------------------------------------------
Flask==3.1.1
Werkzeug==3.1.3
Jinja2==3.1.6
itsdangerous==2.2.0
click==8.1.8
blinker==1.9.0


# --- Auth -------------------------------------------------------------------
Flask-Login==0.6.3

# --- Database ---------------------------------------------------------------
SQLAlchemy==2.0.41
Flask-SQLAlchemy==3.1.1
PyMySQL==1.1.1             # MySQL driver for SQLAlchemy (use this in your URI: mysql+pymysql://...)

# --- PDFs (salary slips) ----------------------------------------------------
WeasyPrint==66.0           # you’ve confirmed 66.0 works with your env

# --- Data / Excel exports ---------------------------------------------------
pandas>=2.2,<3.0           # used in consolidated views; looser pin for Python 3.13 wheels
openpyxl>=3.1              # pandas .to_excel() engine

# --- HTTP / Utilities (likely used across routes) ---------------------------
requests>=2.31             # safe utility dependency (used in many integrations)

# --- Production server ------------------------------------------------------
waitress>=3.0              # you have run_waitress.pyFlask-Bcrypt==1.0.1
cryptography==46.0.3
