[project]
name = "fancy_gym"
version = "0.1.2"
description = "Fancy Gym: Unifying interface for various RL benchmarks with support for Black Box approaches."
readme = "README.md"
authors = [
    {name = "Fabian Otto", email = "fabian.otto@uni-tuebingen.de"},
    {name = "Onur Celik", email = "celik@kit.edu"},
    {name = "Dominik Roth", email = "fancy_gym@dominik-roth.eu"},
    {name = "Hongyi Zhou", email = "hongyi.zhou@kit.edu"}
]
license = { text = "MIT License" }
classifiers = [
    "Development Status :: 4 - Beta",
    "Intended Audience :: Science/Research",
    "License :: OSI Approved :: MIT License",
    "Natural Language :: English",
    "Operating System :: OS Independent",
    "Topic :: Scientific/Engineering :: Artificial Intelligence",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.7",
    "Programming Language :: Python :: 3.8",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11"
]

dependencies = [
    "mp_pytorch<=0.1.3",
    "mujoco==2.3.3",
    "gymnasium[mujoco]>=0.26.0"
]

requires-python = ">=3.7"

[project.urls]
"Homepage" = "https://github.com/ALRhub/fancy_gym/"
#"Documentation" = "https://github.com/ALRhub/fancy_gym/"
"Bug Tracker" = "https://github.com/ALRhub/fancy_gym/issues"
#"Repository" = "https://github.com/ALRhub/fancy_gym/"

[build-system]
requires = ["setuptools>=61.0.0", "wheel"]
build-backend = "setuptools.build_meta"

[project.optional-dependencies]
dmc = ["shimmy[dm-control]", "Shimmy==1.0.0"]
# PyPi does not allow external dependencies. Metaworld will have to be installed manually until Farama publishes up-to-date version of metaworld on PyPi.
#metaworld = ["metaworld @ git+https://github.com/Farama-Foundation/Metaworld.git@d155d0051630bb365ea6a824e02c66c068947439#egg=metaworld"]
box2d = ["gymnasium[box2d]>=0.26.0"]
mujoco-legacy = ["mujoco-py>=2.1,<2.2", "cython<3"]
jax = ["jax>=0.4.0", "jaxlib>=0.4.0"]

all = [
    # include all the optional dependencies
    "shimmy[dm-control]",
    "Shimmy==1.0.0",
    #"metaworld @ git+https://github.com/Farama-Foundation/Metaworld.git@d155d0051630bb365ea6a824e02c66c068947439#egg=metaworld",
    "mujoco==2.3.3",
    "gymnasium[box2d,mujoco]>=0.26.0",
    "mujoco-py>=2.1,<2.2",
    "cython<3",
    "jax>=0.4.0",
    "jaxlib>=0.4.0"
]

testing = [
    "pytest",
    # include all the optional dependencies as well
    "shimmy[dm-control]",
    "Shimmy==1.0.0",
    #"metaworld @ git+https://github.com/Farama-Foundation/Metaworld.git@d155d0051630bb365ea6a824e02c66c068947439#egg=metaworld",
    "mujoco==2.3.3",
    "gymnasium[box2d,mujoco]>=0.26.0",
    "mujoco-py>=2.1,<2.2",
    "cython<3",
    "jax>=0.4.0",
    "jaxlib>=0.4.0"
]