Files
DashBoard/requirements.txt
egg 58e4c87fb6 feat(reject-history): two-phase query architecture with cached views
Replace per-interaction Oracle queries with a two-phase model:
- POST /query: single Oracle hit, cache full LOT-level DataFrame (L1+L2)
- GET /view: read cache, apply supplementary/interactive filters via pandas

Add container query mode (LOT/工單/WAFER LOT with wildcard support),
supplementary filters (Package/WC GROUP/Reason) from cached data,
PB_* series exclusion (was PB_Diode only), and query loading spinner.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 07:08:27 +08:00

38 lines
1.0 KiB
Plaintext

# MES Dashboard Dependencies
# ===========================
#
# Version Strategy:
# Use bounded version ranges (>=,<) to avoid accidental major-version breaks.
# For reproducible builds, generate a lock file: pip freeze > requirements.lock
#
# Python Version: >=3.9 (recommended: 3.11)
# Core Framework
flask>=3.0.0,<4.0.0
# Database
oracledb>=2.0.0,<4.0.0
sqlalchemy>=2.0.0,<3.0.0
# Data Processing
pandas==2.3.3 # pandas 3.x removed DBAPI2 flow used by current pd.read_sql + SQLAlchemy usage
pyarrow>=17.0.0,<20.0.0 # Parquet serialization for Redis DataFrame cache
openpyxl>=3.0.0 # Excel file support
# Cache (Redis)
redis>=5.0.0,<6.0.0
hiredis>=2.0.0,<4.0.0 # C parser for better Redis performance
# HTTP Client
requests>=2.28.0,<3.0.0
# Configuration
python-dotenv>=1.0.0,<2.0.0
# WSGI Server
gunicorn>=21.2.0,<25.0.0 # Linux/macOS production server
waitress>=2.1.2,<4.0.0; platform_system=="Windows" # Windows alternative
# System Monitoring
psutil>=5.9.0,<7.0.0 # Process and system utilities