# Core scientific computing
pandas>=1.3.0,<3.0.0
matplotlib>=3.5.0,<4.0.0
numpy>=1.20.0,<2.0.0  # 1.20+ supports Python 3.8-3.11
tqdm>=4.60.0,<5.0.0
scipy>=1.7.0,<2.0.0
Pillow>=12.2.0
opencv-python>=4.5.0,<5.0.0  # Computer vision - required for gradient field processing

# Data formats
PyYAML>=5.4.0,<7.0.0

# Visualization and analysis
seaborn>=0.11.0,<1.0.0
ipywidgets>=7.6.0,<9.0.0
ipython>=7.16.0,<9.0.0  # Supports Python 3.8+
jupyter>=1.0.0,<2.0.0  # For interactive CLI demos
jupyter-core>=4.0.0,<6.0.0  # Core jupyter functionality
PyQt5>=5.15.0,<6.0.0  # GUI toolkit for desktop applications

# Machine learning dependencies (heavy)
torch>=1.11.0,<3.0.0; python_version>="3.8"  # Required by segment-anything
segment-anything>=1.0,<2.0.0; python_version>="3.8"  # Segmentation models
torchvision

# Optional/newer dependencies - may cause issues
kagglehub>=0.1.0,<1.0.0; python_version>="3.8"  # Conditional for newer Python