forked from BDonnot/Grid2Op
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
101 lines (94 loc) · 3.27 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# Copyright (c) 2019-2020, RTE (https://www.rte-france.com)
# See AUTHORS.txt
# This Source Code Form is subject to the terms of the Mozilla Public License, version 2.0.
# If a copy of the Mozilla Public License, version 2.0 was not distributed with this file,
# you can obtain one at http://mozilla.org/MPL/2.0/.
# SPDX-License-Identifier: MPL-2.0
# This file is part of Grid2Op, Grid2Op a testbed platform to model sequential decision making in power systems.
import sys
import setuptools
from setuptools import setup
import unittest
def my_test_suite():
test_loader = unittest.TestLoader()
test_suite = test_loader.discover('grid2op/tests', pattern='test_*.py')
return test_suite
with open("README.md", "r", encoding="utf-8") as fh:
long_description = fh.read()
pkgs = {
"required": [
"numpy>=1.20",
"scipy>=1.4.1",
"pandas>=1.0.3",
"pandapower>=2.2.2",
"tqdm>=4.45.0",
"networkx>=2.4",
"requests>=2.23.0",
"packaging" # because gym changes the way it uses numpy prng in version 0.26 and i need both gym before and after...
],
"extras": {
"optional": [
"nbformat>=5.0.4",
"jupyter-client>=6.1.0",
"jyquickhelper>=0.3.128",
"numba>=0.48.0",
"matplotlib>=3.2.1",
"plotly>=4.5.4",
"seaborn>=0.10.0",
"imageio>=2.8.0",
"pygifsicle>=1.0.1",
"psutil>=5.7.0",
"gym>=0.17.2",
"lightsim2grid",
],
"docs": [
"numpydoc>=0.9.2",
"sphinx>=2.4.4",
"sphinx-rtd-theme>=0.4.3",
"sphinxcontrib-trio>=1.1.0",
"autodocsumm>=0.1.13",
"gym>=0.17.2"
],
"api": [
"flask",
"flask_wtf",
"ujson"
],
"plot": ["imageio"],
"test": ["lightsim2grid",
"numba",
"gym>=0.26"
],
"chronix2grid": [
"ChroniX2Grid@https://github.com/BDonnot/ChroniX2Grid/tarball/ramp_forecast"
]
}
}
pkgs["extras"]["test"] += pkgs["extras"]["optional"]
pkgs["extras"]["test"] += pkgs["extras"]["plot"]
pkgs["extras"]["test"] += pkgs["extras"]["chronix2grid"]
if sys.version_info.minor <= 7:
# typing "Literal" not available on python 3.7
pkgs["required"] = "typing_extensions"
setup(description='An gym compatible environment to model sequential decision making for powersystems',
long_description=long_description,
long_description_content_type="text/markdown",
author='Benjamin DONNOT',
author_email='benjamin.donnot@rte-france.com',
python_requires='>=3.7',
url="https://github.com/rte-france/Grid2Op",
packages=setuptools.find_packages(),
include_package_data=True,
install_requires=pkgs["required"],
extras_require=pkgs["extras"],
zip_safe=False,
entry_points={
'console_scripts': [
'grid2op.main=grid2op.command_line:main',
'grid2op.download=grid2op.command_line:download',
'grid2op.replay=grid2op.command_line:replay',
'grid2op.testinstall=grid2op.command_line:testinstall'
]
},
test_suite='setup.my_test_suite'
)