setup.py 4.7 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.*')),
    ],
S
Swain 已提交
43
    package_data={package_name: ['*.yaml', '*.xml', '*cfg', '*SC2Map']
N
v0.1.0  
niuyazhe 已提交
44 45 46 47
                  for package_name in find_packages(include=('ding.*'))},
    python_requires=">=3.6",
    install_requires=[
        'numpy>=1.10',
48
        'requests>=2.25.1',
N
v0.1.0  
niuyazhe 已提交
49
        'six',
50
        'gym>=0.20.0',  # pypy incompatible
51
        'torch>=1.3.1,<=1.9.0',  # PyTorch 1.9.0 is available, if some errors, you need to do something like https://github.com/opendilab/DI-engine/discussions/81
N
v0.1.0  
niuyazhe 已提交
52 53 54 55
        'pyyaml',
        'easydict==1.9',
        'tensorboardX>=2.1,<=2.2',
        'matplotlib',  # pypy incompatible
56
        'seaborn',
N
v0.1.0  
niuyazhe 已提交
57 58 59 60 61 62 63 64 65
        'yapf==0.29.0',
        'responses~=0.12.1',
        'flask~=1.1.2',
        'lz4',
        'cloudpickle',
        'tabulate',
        'sortedcontainers',
        'click==7.1.2',
        'URLObject~=2.4.3',
66
        'urllib3>=1.26.5',
N
v0.1.0  
niuyazhe 已提交
67 68 69
        'readerwriterlock',
        'namedlist',
        'opencv-python',  # pypy incompatible
N
niuyazhe 已提交
70 71
        'enum_tools',
        'scipy',
S
Swain 已提交
72
        'trueskill',
73
        'h5py',
N
v0.1.0  
niuyazhe 已提交
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
    ],
    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',
92 93
        ],
        'dist': [
N
v0.1.0  
niuyazhe 已提交
94 95 96 97
            'redis==3.5.3',
            'redis-py-cluster==2.1.0',
        ],
        'common_env': [
98
            'ale-py',  # atari
N
v0.1.0  
niuyazhe 已提交
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
            'box2d-py',
            'cmake>=3.18.4',
            'opencv-python',  # pypy incompatible
        ],
        'sumo_env': [
            'sumolib',
            'traci',
        ],
        'gfootball_env': [
            'gfootball',
            'kaggle-environments',
        ],
        'procgen_env': [
            'procgen',
        ],
114 115 116
        'bsuite_env': [
            'bsuite',
        ],
N
niuyazhe 已提交
117 118 119
        'minigrid_env': [
            'gym-minigrid',
        ],
120 121 122 123 124 125
        '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',
        ],
N
v0.1.0  
niuyazhe 已提交
126 127 128 129 130 131 132 133 134 135 136 137 138
        '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',
        ],
139 140 141
        'k8s': [
            'kubernetes',
        ]
N
v0.1.0  
niuyazhe 已提交
142 143 144 145
    },
    entry_points={'console_scripts': ['ding=ding.entry.cli:cli']},
    classifiers=[
        'Development Status :: 5 - Production/Stable',
146
        "Intended Audience :: Science/Research",
N
v0.1.0  
niuyazhe 已提交
147 148 149 150 151 152 153 154 155 156
        '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',
    ],
)