forked from openego/eDisGo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
104 lines (92 loc) · 2.2 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
102
103
104
"""Setup"""
import os
import sys
from setuptools import find_packages, setup
if sys.version_info[:2] < (3, 8):
error = (
"eDisGo requires Python 3.8 or later (%d.%d detected)." % sys.version_info[:2]
)
sys.stderr.write(error + "\n")
sys.exit(1)
def read(fname):
"""
Read a text file.
Parameters
----------
fname : str or PurePath
Path to file
Returns
-------
str
File content
"""
return open(os.path.join(os.path.dirname(__file__), fname)).read()
requirements = [
"beautifulsoup4",
"contextily",
"dash",
"demandlib",
"descartes",
"egoio >= 0.4.7",
"geoalchemy2 < 0.7.0",
"geopandas >= 0.12.0",
"geopy >= 2.0.0",
"jupyterlab",
"jupyter_dash",
"matplotlib >= 3.3.0",
"multiprocess",
"networkx >= 2.5.0",
"pandas >= 1.2.0, < 2.0.0",
"plotly",
"pydot",
"pygeos",
"pyomo <= 6.4.2", # Problem with PyPSA 20.1 fixed in newest PyPSA release
"pypower",
"pyproj >= 3.0.0",
"pypsa >= 0.17.0, <= 0.20.1",
"pyyaml",
"saio",
"scikit-learn",
"shapely >= 1.7.0",
"sqlalchemy < 1.4.0",
"sshtunnel",
"workalendar",
]
dev_requirements = [
"black",
"flake8",
"isort",
"pre-commit",
"pylint",
"pytest",
"pytest-notebook",
"pyupgrade",
"sphinx >= 4.3.0, < 5.1.0",
"sphinx_rtd_theme >=0.5.2",
"sphinx-autodoc-typehints",
"sphinx-autoapi",
]
extras = {"dev": dev_requirements}
setup(
name="eDisGo",
version="0.3.0dev",
packages=find_packages(),
url="https://github.com/openego/eDisGo",
license="GNU Affero General Public License v3.0",
author=(
"birgits, AnyaHe, khelfen, mltja, gplssm, nesnoj, jaappedersen, Elias, "
"boltbeard"
),
author_email="anya.heider@rl-institut.de",
description="A python package for distribution network analysis and optimization",
long_description=read("README.md"),
long_description_content_type="text/markdown",
install_requires=requirements,
extras_require=extras,
package_data={
"edisgo": [
os.path.join("config", "*.cfg"),
os.path.join("equipment", "*.csv"),
]
},
)