name: ee508
channels:
  - conda-forge
dependencies:
  - python >=3.12

  # Jupyter ecosystem
  - jupyter >=1.1              # Jupyter notebooks
  - jupyterlab_execute_time >=3.2  # Show cell execution times
  - jupyter-ruff >=0.2        # Format notebook cells with ruff

  # Code quality
  - ruff >=0.12               # Fast linter + formatter

  # Core data science
  - numpy >=1.26              # Arrays
  - pandas >=2.2              # Tabular data
  - pyarrow >=17              # Fast columnar data format

  # Geospatial analysis
  - geopandas >=1.0           # Vector data (pulls shapely, pyproj, pyogrio)
  - shapely >=2.0             # Geometric operations (imported directly)
  - pyproj >=3.7              # Coordinate transformations (imported directly)
  - rasterio >=1.4            # Raster data I/O
  - rioxarray >=0.18          # Xarray integration for rasterio
  - rio-cogeo >=5.4           # Cloud Optimized GeoTIFF tools
  - rasterstats >=0.20        # Zonal statistics
  - exactextract >=0.2        # Exact zonal statistics

  # Machine learning
  - statsmodels >=0.14        # Statistical modeling
  - scikit-learn >=1.5        # General ML library
  - xgboost >=2.0             # Gradient boosting
  - lightgbm >=4.0            # Microsoft's gradient boosting
  - catboost >=1.2            # Yandex's gradient boosting

  # Visualization
  - matplotlib >=3.8          # Basic plotting
  - folium >=0.17             # Interactive maps
  # - plotly                  # Interactive plots (optional)
  # - altair                  # Grammar of graphics (optional)

  # File I/O
  - openpyxl >=3.1            # Excel files
