name: rl-lab
channels:
  - pytorch
  - nvidia
  - conda-forge
  - defaults

dependencies:
  # ----------------------------------------------------------------------------
  # Python & Core Tools
  # ----------------------------------------------------------------------------
  - python=3.11
  - pip
  - notebook
  - ipywidgets

  # ----------------------------------------------------------------------------
  # PyTorch (CPU build by default; swap pytorch-cuda for GPU)
  # ----------------------------------------------------------------------------
  - pytorch
  - torchvision
  # - conda-forge::torchvision  # Sometimes needed for TorchVision with MacOS
  - torchaudio
  - cpuonly                     # remove this line and add pytorch-cuda=12.1 for GPU
  - pytorch-ignite
  
  # ----------------------------------------------------------------------------
  # General Scientific
  # ----------------------------------------------------------------------------
  - numpy
  - matplotlib
  - pandas
  - scipy

  # ----------------------------------------------------------------------------
  # Image /  Vision
  # ----------------------------------------------------------------------------
  - opencv
  - pillow
  # - libjeg-turbo          # Sometimes needed for TorchVision with MacOS
  # - libpng                # Sometimes needed for TorchVision with MacOS 

  # ----------------------------------------------------------------------------
  # RL Packages
  # ----------------------------------------------------------------------------
  - stable-baselines3
  - ray-tune
  - tensorboard

  # ----------------------------------------------------------------------------
  # Gymnasium Dependencies
  # ----------------------------------------------------------------------------
  - swig
  - mujoco

  # ----------------------------------------------------------------------------
  # Testing / type checking
  # ----------------------------------------------------------------------------
  - pytest
  - mypy

  # ----------------------------------------------------------------------------
  # PyPI Packages (installed via pip)
  # ----------------------------------------------------------------------------
  - pip:
    - torchrl
    - ptan
    - gymnasium
    - "gymnasium[mujoco,box2d]>=1.0.0"
    - minigrid
    - ale-py
    - pettingzoo
    - sb3-contrib
    - "ray[rllib]>=2.54.0"
    - pygame
    - mlflow
    - supersuit
    - shimmy
    - moviepy
