chore(deps): lock pandas to 2.3.3 and add upper bounds

This commit is contained in:
egg
2026-02-13 14:41:34 +08:00
parent 5a47bc87d8
commit 653900dc15
3 changed files with 66 additions and 65 deletions

View File

@@ -2,7 +2,7 @@
# Usage: conda env create -f environment.yml
# conda activate mes-dashboard
#
# Note: Most packages use minimum version pins (>=) to allow automatic security updates.
# 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
@@ -19,28 +19,28 @@ dependencies:
- pip
- pip:
# Core Framework
- flask>=3.0.0
- flask>=3.0.0,<4.0.0
# Database
- oracledb>=2.0.0
- sqlalchemy>=2.0.0
- oracledb>=2.0.0,<4.0.0
- sqlalchemy>=2.0.0,<3.0.0
# Data Processing
- pandas>=2.0.0
- pandas==2.3.3 # Pin DBAPI2-compatible release for current pd.read_sql flow
- openpyxl>=3.0.0
# Cache (Redis)
- redis>=5.0.0
- hiredis>=2.0.0 # C parser for better performance
- 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
- requests>=2.28.0,<3.0.0
# Configuration
- python-dotenv>=1.0.0
- python-dotenv>=1.0.0,<2.0.0
# WSGI Server (Production)
- gunicorn>=21.2.0
- gunicorn>=21.2.0,<25.0.0
# System Monitoring
- psutil>=5.9.0
- psutil>=5.9.0,<7.0.0

View File

@@ -22,36 +22,37 @@ classifiers = [
"License :: OSI Approved :: MIT License",
]
# Note: Using minimum version pins (>=) to allow automatic security updates.
# Note: Use bounded ranges (>=,<) to avoid accidental major-version breaks.
# For reproducible builds, use: pip freeze > requirements.lock
dependencies = [
# Core Framework
"flask>=3.0.0",
"flask>=3.0.0,<4.0.0",
# Database
"oracledb>=2.0.0",
"sqlalchemy>=2.0.0",
"oracledb>=2.0.0,<4.0.0",
"sqlalchemy>=2.0.0,<3.0.0",
# Data Processing
"pandas>=2.0.0",
# Pin pandas to a DBAPI2-compatible release for current pd.read_sql flow.
"pandas==2.3.3",
"openpyxl>=3.0.0",
# Cache (Redis)
"redis>=5.0.0",
"hiredis>=2.0.0",
"redis>=5.0.0,<6.0.0",
"hiredis>=2.0.0,<4.0.0",
# HTTP Client
"requests>=2.28.0",
"requests>=2.28.0,<3.0.0",
# Configuration
"python-dotenv>=1.0.0",
"python-dotenv>=1.0.0,<2.0.0",
# WSGI Server
"gunicorn>=21.2.0",
"waitress>=2.1.2; platform_system == 'Windows'",
"gunicorn>=21.2.0,<25.0.0",
"waitress>=2.1.2,<4.0.0; platform_system == 'Windows'",
# System Monitoring
"psutil>=5.9.0",
"psutil>=5.9.0,<7.0.0",
]
[project.optional-dependencies]

View File

@@ -2,35 +2,35 @@
# ===========================
#
# Version Strategy:
# Using minimum version pins (>=) to allow automatic security updates.
# 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
flask>=3.0.0,<4.0.0
# Database
oracledb>=2.0.0
sqlalchemy>=2.0.0
oracledb>=2.0.0,<4.0.0
sqlalchemy>=2.0.0,<3.0.0
# Data Processing
pandas>=2.0.0 # Note: numpy is installed as a dependency
pandas==2.3.3 # pandas 3.x removed DBAPI2 flow used by current pd.read_sql + SQLAlchemy usage
openpyxl>=3.0.0 # Excel file support
# Cache (Redis)
redis>=5.0.0
hiredis>=2.0.0 # C parser for better Redis performance
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
requests>=2.28.0,<3.0.0
# Configuration
python-dotenv>=1.0.0
python-dotenv>=1.0.0,<2.0.0
# WSGI Server
gunicorn>=21.2.0 # Linux/macOS production server
waitress>=2.1.2; platform_system=="Windows" # Windows alternative
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 # Process and system utilities
psutil>=5.9.0,<7.0.0 # Process and system utilities