# --- NumPy ---
numpy>=2.1.0  ; python_version >= '3.13' and python_version < '4.0'   # Python 3.13+
numpy>=2.0.0  ; python_version >= '3.11' and python_version < '3.13'  # Python 3.11–3.12
numpy>=2.0.0  ; python_version >= '3.9'  and python_version < '3.11'  # Python 3.9–3.10

# --- Joblib ---
joblib>=1.2.0

# --- PyYAML ---
pyyaml>=6.0.2,<7  ; python_version >= '3.10' and python_version < '4.0'  # Python 3.10+
pyyaml>=6.0.2,<7  ; python_version >= '3.9'  and python_version < '3.10' # Python 3.9

# --- Fiona ---
fiona>=1.10.1  ; python_version >= '3.11' and python_version < '4.0'  # Python 3.11+
fiona>=1.10.1  ; python_version >= '3.9'  and python_version < '3.11' # Python 3.9–3.10

# --- scikit-learn ---
scikit-learn>=1.6.0  ; python_version >= '3.13' and python_version < '4.0'  # Python 3.13+
scikit-learn>=1.5.0  ; python_version >= '3.12' and python_version < '3.13'  # NumPy 2.0 support starts
scikit-learn>=1.5.0  ; python_version >= '3.11' and python_version < '3.12'
scikit-learn>=1.5.0  ; python_version >= '3.10' and python_version < '3.11'
scikit-learn>=1.5.0 ; python_version >= '3.9'  and python_version < '3.10'

# --- scikit-image ---
scikit-image>=0.24.0  ; python_version >= '3.12' and python_version < '4.0'  # NumPy 2.0 compatible
scikit-image>=0.20.0  ; python_version >= '3.11' and python_version < '3.12'
scikit-image>=0.19.3  ; python_version >= '3.10' and python_version < '3.11'
scikit-image>=0.18.1  ; python_version >= '3.9'  and python_version < '3.10'

# --- pandas ---
pandas>=2.2.3  ; python_version >= '3.12' and python_version < '4.0'  # NumPy 2.0+ compatible
pandas>=2.2.3  ; python_version >= '3.11' and python_version < '3.12'
pandas>=2.2.3, <2.3; python_version >= '3.9'  and python_version < '3.11'

# --- rasterio ---
rasterio>=1.4  ; python_version >= '3.9' and python_version < '4.0'
