setup.py 5.4 KB
Newer Older
N
v0.1.0  
niuyazhe 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
# 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
21
from importlib import import_module
N
v0.1.0  
niuyazhe 已提交
22 23

here = os.path.abspath(os.path.dirname(__file__))
24 25
meta_module = import_module('ding')
meta = meta_module.__dict__
N
v0.1.0  
niuyazhe 已提交
26 27 28 29 30 31

setup(
    name=meta['__TITLE__'],
    version=meta['__VERSION__'],
    description=meta['__DESCRIPTION__'],
    author=meta['__AUTHOR__'],
32 33
    author_email=meta['__AUTHOR_EMAIL__'],
    url='https://github.com/opendilab/DI-engine',
N
v0.1.0  
niuyazhe 已提交
34 35 36 37 38 39 40 41 42
    license='Apache License, Version 2.0',
    keywords='Decision AI Engine',
    packages=[
        # framework
        *find_packages(include=('ding', "ding.*")),
        # application
        *find_packages(include=('dizoo'
                                'dizoo.*')),
    ],
43 44 45 46
    package_data={
        package_name: ['*.yaml', '*.xml', '*cfg', '*SC2Map']
        for package_name in find_packages(include=('ding.*'))
    },
N
v0.1.0  
niuyazhe 已提交
47 48 49
    python_requires=">=3.6",
    install_requires=[
        'numpy>=1.10',
50
        'requests>=2.25.1',
N
v0.1.0  
niuyazhe 已提交
51
        'six',
52
        'gym==0.20.0',  # pypy incompatible
53
        'torch>=1.1.0,<=1.10.0',  # PyTorch 1.10.0 is available, if some errors, you need to do something like https://github.com/opendilab/DI-engine/discussions/81
54
        'pyyaml<6.0',
N
v0.1.0  
niuyazhe 已提交
55 56 57
        'easydict==1.9',
        'tensorboardX>=2.1,<=2.2',
        'matplotlib',  # pypy incompatible
58
        'seaborn',
N
v0.1.0  
niuyazhe 已提交
59 60 61 62 63 64 65 66 67
        'yapf==0.29.0',
        'responses~=0.12.1',
        'flask~=1.1.2',
        'lz4',
        'cloudpickle',
        'tabulate',
        'sortedcontainers',
        'click==7.1.2',
        'URLObject~=2.4.3',
68
        'urllib3>=1.26.5',
N
v0.1.0  
niuyazhe 已提交
69 70 71
        'readerwriterlock',
        'namedlist',
        'opencv-python',  # pypy incompatible
N
niuyazhe 已提交
72 73
        'enum_tools',
        'scipy',
S
Swain 已提交
74
        'trueskill',
75
        'h5py',
76
        'rich',
X
Xu Jingxin 已提交
77
        'mpire @ git+https://github.com/Slimmer-AI/mpire.git@v2.3.3',
78
        'pynng'
N
v0.1.0  
niuyazhe 已提交
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
    ],
    extras_require={
        'test': [
            'pytest==5.1.1',
            'pytest-xdist==1.31.0',
            'pytest-cov==2.8.1',
            'pytest-forked~=1.3.0',
            'pytest-mock~=3.3.1',
            'pytest-rerunfailures~=9.1.1',
            'pytest-timeouts~=1.2.1',
        ],
        'style': [
            'yapf==0.29.0',
            'flake8',
        ],
        'fast': [
            'numpy-stl',
            'numba>=0.53.0',
97 98
        ],
        'dist': [
N
v0.1.0  
niuyazhe 已提交
99 100 101 102
            'redis==3.5.3',
            'redis-py-cluster==2.1.0',
        ],
        'common_env': [
103
            'ale-py==0.7.0',  # atari
N
v0.1.0  
niuyazhe 已提交
104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
            'box2d-py',
            'cmake>=3.18.4',
            'opencv-python',  # pypy incompatible
        ],
        'sumo_env': [
            'sumolib',
            'traci',
        ],
        'gfootball_env': [
            'gfootball',
            'kaggle-environments',
        ],
        'procgen_env': [
            'procgen',
        ],
119 120 121
        'bsuite_env': [
            'bsuite',
        ],
N
niuyazhe 已提交
122 123 124
        'minigrid_env': [
            'gym-minigrid',
        ],
N
v0.2.0  
niuyazhe 已提交
125 126 127 128 129 130
        # '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',
        # ],
131
        # 'gym_hybrid_env': [
132
        #     'gym-hybrid @ git+https://github.com/thomashirtz/gym-hybrid@master#egg=gym-hybrid',
133
        # ],
S
Swain 已提交
134 135 136 137

        # 'gobigger_env': [
        #     'gobigger @ git+https://github.com/opendilab/GoBigger@main#egg=gobigger',
        # ],
138 139 140
        # 'gym_soccer_env': [
        #     'gym-soccer @ git+https://github.com/LikeJulia/gym-soccer@dev-install-packages#egg=gym-soccer',
        # ],
N
v0.1.0  
niuyazhe 已提交
141 142 143 144 145 146 147 148 149 150 151 152 153
        'sc2_env': [
            'absl-py>=0.1.0',
            'future',
            'futures; python_version == "2.7"',
            'mpyq',
            'mock',
            'portpicker>=1.2.0',
            'websocket-client',
            'protobuf>=2.6',
            'sk-video',  # pypy incompatible
            'whichcraft',
            'joblib',
        ],
154 155 156
        'slimevolleygym_env': [
            'slimevolleygym',
        ],
157 158 159
        'k8s': [
            'kubernetes',
        ]
N
v0.1.0  
niuyazhe 已提交
160
    },
161
    entry_points={'console_scripts': ['ding=ding.entry.cli:cli', 'ditask=ding.entry.cli_ditask:cli_ditask']},
N
v0.1.0  
niuyazhe 已提交
162 163
    classifiers=[
        'Development Status :: 5 - Production/Stable',
164
        "Intended Audience :: Science/Research",
N
v0.1.0  
niuyazhe 已提交
165 166 167 168 169 170 171 172 173 174
        'License :: OSI Approved :: Apache Software License',
        'Operating System :: POSIX :: Linux',
        'Operating System :: Microsoft :: Windows',
        'Operating System :: MacOS :: MacOS X',
        'Programming Language :: Python :: 3.6',
        'Programming Language :: Python :: 3.7',
        'Programming Language :: Python :: 3.8',
        'Topic :: Scientific/Engineering :: Artificial Intelligence',
    ],
)