Files
DashBoard/environment.yml
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

48 lines
1.3 KiB
YAML

# Conda environment for MES Dashboard
# Usage: conda env create -f environment.yml
# conda activate mes-dashboard
#
# Note: Packages use bounded ranges (>=,<) to avoid accidental major-version breaks.
# For reproducible builds, generate a lock file: pip freeze > requirements.lock
name: mes-dashboard
channels:
- conda-forge
- defaults
dependencies:
# Python version - pinned for consistency across deployments
- python=3.11
# Frontend build toolchain (Vite)
- nodejs>=22
# Use pip for Python packages (better compatibility with pypi packages)
- pip
- pip:
# 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 # Pin DBAPI2-compatible release for current pd.read_sql flow
- pyarrow>=17.0.0,<20.0.0 # Parquet serialization for Redis DataFrame cache
- openpyxl>=3.0.0
# Cache (Redis)
- redis>=5.0.0,<6.0.0
- hiredis>=2.0.0,<4.0.0 # C parser for better performance
# HTTP Client
- requests>=2.28.0,<3.0.0
# Configuration
- python-dotenv>=1.0.0,<2.0.0
# WSGI Server (Production)
- gunicorn>=21.2.0,<25.0.0
# System Monitoring
- psutil>=5.9.0,<7.0.0