# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS-IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. """Module setuptools script.""" from __future__ import absolute_import from __future__ import division from __future__ import print_function import os from setuptools import setup, find_packages from importlib import import_module here = os.path.abspath(os.path.dirname(__file__)) meta_module = import_module('ding') meta = meta_module.__dict__ with open('README.md', mode='r', encoding='utf-8') as f: readme = f.read() setup( name=meta['__TITLE__'], version=meta['__VERSION__'], description=meta['__DESCRIPTION__'], long_description=readme, long_description_content_type='text/markdown', author=meta['__AUTHOR__'], author_email=meta['__AUTHOR_EMAIL__'], url='https://github.com/opendilab/DI-engine', license='Apache License, Version 2.0', keywords='Decision AI Engine', packages=[ # framework *find_packages(include=('ding', "ding.*")), # application *find_packages(include=('dizoo' 'dizoo.*')), ], package_data={ package_name: ['*.yaml', '*.xml', '*cfg', '*SC2Map'] for package_name in find_packages(include=('ding.*')) }, python_requires=">=3.7", install_requires=[ 'setuptools<=66.1.1', 'yapf==0.29.0', 'gym==0.25.1', # pypy incompatible; some environments only support gym==0.22.0 'gymnasium', 'torch>=1.1.0', 'numpy>=1.18.0', 'DI-treetensor>=0.4.0', 'DI-toolkit>=0.1.0', 'trueskill', 'tensorboardX>=2.2', 'wandb', 'matplotlib', 'easydict==1.9', 'pyyaml', 'enum_tools', 'cloudpickle', 'hickle', 'tabulate', 'click>=7.0.0', 'requests>=2.25.1', # interaction 'flask~=1.1.2', # interaction 'responses~=0.12.1', # interaction 'URLObject>=2.4.0', # interaction 'MarkupSafe==2.0.1', # interaction, compatibility 'pynng', # parallel 'sniffio', # parallel 'redis', # parallel 'mpire>=2.3.5', # parallel ], extras_require={ 'test': [ 'coverage>=5,<=7.0.1', 'mock>=4.0.3', 'pytest~=7.0.1', # required by gym>=0.25.0 'pytest-cov~=3.0.0', 'pytest-mock~=3.6.1', 'pytest-xdist>=1.34.0', 'pytest-rerunfailures~=10.2', 'pytest-timeout~=2.0.2', 'readerwriterlock', 'pandas', 'lz4', 'h5py', 'scipy', 'scikit-learn', 'gym[box2d]==0.25.1', 'pettingzoo<=1.22.3', 'opencv-python', # pypy incompatible ], 'style': [ 'yapf==0.29.0', 'flake8<=3.9.2', 'importlib-metadata<5.0.0', # compatibility ], 'fast': [ 'numpy-stl', 'numba>=0.53.0', ], 'video': [ 'moviepy', 'imageio[ffmpeg]', ], 'dist': [ 'redis-py-cluster==2.1.0', ], 'common_env': [ 'ale-py', # >=0.7.5', # atari 'autorom', 'gym[all]==0.25.1', 'cmake>=3.18.4', 'opencv-python', # pypy incompatible ], 'gfootball_env': [ 'gfootball', 'kaggle-environments', ], 'procgen_env': [ 'procgen', ], 'bsuite_env': [ 'bsuite', ], 'minigrid_env': [ 'minigrid>=2.0.0', ], # 'd4rl_env': [ # 'd4rl @ git+https://github.com/rail-berkeley/d4rl@master#egg=d4rl', # ], # 'pybulletgym_env': [ # 'pybulletgym @ git+https://github.com/benelot/pybullet-gym@master#egg=pybulletgym', # ], # 'gym_hybrid_env': [ # 'gym-hybrid @ git+https://github.com/thomashirtz/gym-hybrid@master#egg=gym-hybrid', # ], # 'gobigger_env': [ # 'gobigger @ git+https://github.com/opendilab/GoBigger@main#egg=gobigger', # ], # 'gym_soccer_env': [ # 'gym-soccer @ git+https://github.com/LikeJulia/gym-soccer@dev-install-packages#egg=gym-soccer', # ], 'slimevolleygym_env': [ 'slimevolleygym', ], 'smac_env': [ 'pysc2', ], 'k8s': [ 'kubernetes', ], 'envpool': [ 'envpool', ], # 'dmc2gym': [ # 'dmc2gym @ git+https://github.com/denisyarats/dmc2gym@master#egg=dmc2gym', # ], # 'rocket_recycling': [ # 'rocket_recycling @ git+https://github.com/nighood/rocket-recycling@master#egg=rocket_recycling', # ], 'sokoban': [ 'gym-sokoban', ], 'mario': [ 'gym-super-mario-bros>=7.3.0', ], }, entry_points={'console_scripts': ['ding=ding.entry.cli:cli', 'ditask=ding.entry.cli_ditask:cli_ditask']}, classifiers=[ 'Development Status :: 5 - Production/Stable', "Intended Audience :: Science/Research", 'License :: OSI Approved :: Apache Software License', 'Operating System :: POSIX :: Linux', 'Operating System :: Microsoft :: Windows', 'Operating System :: MacOS :: MacOS X', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Topic :: Scientific/Engineering :: Artificial Intelligence', ], )