-
Notifications
You must be signed in to change notification settings - Fork 4
/
setup.py
executable file
·125 lines (119 loc) · 4.1 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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
from __future__ import absolute_import, print_function
from glob import glob
from os.path import basename, dirname, join, splitext
import io
import re
from setuptools import find_packages, setup
def read(*names, **kwargs):
with io.open(
join(dirname(__file__), *names),
encoding=kwargs.get("encoding", "utf8"),
) as fh:
return fh.read()
setup(
name="egon.data",
version="0.0.0",
license="AGPL-3.0-or-later",
description=(
"The data used in the eGo^N project along with the code importing, "
"generating and processing it."
),
long_description="%s\n%s"
% (
re.compile("^.. start-badges.*^.. end-badges", re.M | re.S).sub(
"", read("README.rst")
),
re.sub(":[a-z]+:`~?(.*?)`", r"``\1``", read("CHANGELOG.rst")),
),
author="Guido Pleßmann, Ilka Cußman, Stephan Günther",
author_email=(
),
url="https://github.com/openego/eGon-data",
packages=["egon"] + ["egon." + p for p in find_packages("src/egon")],
package_dir={"": "src"},
py_modules=[splitext(basename(path))[0] for path in glob("src/*.py")],
include_package_data=True,
zip_safe=False,
classifiers=[
# complete classifier list:
# http://pypi.python.org/pypi?%3Aaction=list_classifiers
"Development Status :: 1 - Planning",
"Intended Audience :: Developers",
(
"License :: OSI Approved :: "
"GNU Affero General Public License v3 or later (AGPLv3+)"
),
"Operating System :: Unix",
"Operating System :: POSIX",
"Operating System :: Microsoft :: Windows",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: Implementation :: CPython",
# uncomment if you test on these interpreters:
# "Programming Language :: Python :: Implementation :: PyPy",
# "Programming Language :: Python :: Implementation :: IronPython",
# "Programming Language :: Python :: Implementation :: Jython",
# "Programming Language :: Python :: Implementation :: Stackless",
"Topic :: Utilities",
],
project_urls={
"Documentation": "https://eGon-data.readthedocs.io/",
"Changelog": (
"https://eGon-data.readthedocs.io/en/latest/changelog.html"
),
"Issue Tracker": "https://github.com/openego/eGon-data/issues",
},
keywords=[
# eg: 'keyword1', 'keyword2', 'keyword3',
],
python_requires=">=3.7",
install_requires=[
# eg: 'aspectlib==1.1.1', 'six>=1.7',
"apache-airflow>=1.10.14,<2.0", # See accompanying commit message
"atlite==0.2.5",
"cdsapi",
"click",
"geopandas>=0.10.0,<0.11.0",
"geopy",
"geovoronoi==0.3.0",
"importlib-resources",
"loguru",
"markupsafe<2.1.0", # MarkupSafe>=2.1.0 breaks WTForms<3
"matplotlib",
"netcdf4",
"numpy<1.23", # incompatibilities with shapely 1.7.
# See: https://stackoverflow.com/a/73354885/12460232
"oedialect==0.0.8",
"omi",
"openpyxl",
"pandas>1.2.0,<1.4", # pandas>=1.4 needs SQLAlchemy>=1.4
"psycopg2",
"pyaml",
"pypsa==0.17.1",
"rasterio",
"rioxarray",
"rtree",
"saio",
"seaborn",
"shapely",
"snakemake<7",
"sqlalchemy<1.4", # Airflow<2.0 is not compatible with SQLAlchemy>=1.4
"wtforms<3", # WTForms>=3.0 breaks Airflow<2.0
"xarray",
"xlrd",
],
extras_require={
"dev": ["black", "flake8", "isort>=5", "pre-commit", "pytest", "tox"]
# eg:
# 'rst': ['docutils>=0.11'],
# ':python_version=="2.6"': ['argparse'],
},
entry_points={"console_scripts": ["egon-data = egon.data.cli:main"]},
)