forked from Open-EO/openeo-geopyspark-driver
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.py
More file actions
147 lines (139 loc) · 5.34 KB
/
Copy pathsetup.py
File metadata and controls
147 lines (139 loc) · 5.34 KB
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
from setuptools import setup,find_packages
# Load the openeo version info.
#
# Note that we cannot simply import the module, since dependencies listed
# in setup() will very likely not be installed yet when setup.py run.
#
# See:
# https://packaging.python.org/guides/single-sourcing-package-version
__version__ = None
with open('openeogeotrellis/_version.py') as fp:
exec(fp.read())
version = __version__
yarn_require = [
"gssapi>=1.8.0",
"requests-gssapi>=1.2.3", # For Kerberos authentication
]
tests_require = [
'pytest',
'pytest-xdist',
'pytest-timeout',
'mock',
'moto[s3]>=5.0.0',
'schema',
'requests-mock>=1.8.0',
'openeo_udf>=1.0.0rc3',
"time_machine>=2.8.0,<3.0.0",
"kubernetes",
"google-auth<2.46.0; python_version<='3.8'", # quick-fix for google-auth python 3.8 compatibility issue
"re-assert",
"dirty-equals>=0.6",
"cryptography~=46.0.0",
"responses",
"rio_cogeo",
'pydantic~=1.0; python_version<"3.9"',
'pydantic; python_version>="3.9"',
"zarr",
"jsonschema",
"rioxarray",
# TODO: GDAL (aka osgeo.gdal) should be listed here. See https://github.com/Open-EO/openeo-geopyspark-driver/issues/1363
] + yarn_require
typing_require = [
'mypy-boto3-sts',
'mypy-boto3-s3',
]
setup(
name='openeo-geopyspark',
version=version,
python_requires=">=3.8",
packages=find_packages(exclude=('tests', 'scripts')),
include_package_data = True,
data_files=[
("openeo-geopyspark-driver", [
"CHANGELOG.md",
# TODO: make these config files real "package_data" so that they can be managed/found more easily in different contexts
"scripts/submit_batch_job_log4j.properties",
"scripts/submit_batch_job_log4j2.xml",
"scripts/batch_job_log4j2.xml",
"scripts/job_tracker-entrypoint.sh",
"scripts/async_task-entrypoint.sh",
"scripts/async_task_log4j2.xml",
"scripts/zookeeper_set.py",
"scripts/job_cleaner.py",
]),
],
tests_require=tests_require,
install_requires=[
# TODO: avoid excessive `python_version` based version constraints. https://github.com/Open-EO/openeo-geopyspark-driver/issues/1395
"openeo>=0.48.0.a4.dev",
"openeo_driver>=0.140.0a5.dev",
'pyspark>=4.0.0; python_version>"3.8"',
'pyspark>=3.5.0,<4.0.0; python_version<="3.8"',
'geopyspark_openeo==0.4.3.post1',
# rasterio is an undeclared but required dependency for geopyspark
# (see https://github.com/locationtech-labs/geopyspark/issues/683 https://github.com/locationtech-labs/geopyspark/pull/706)
'rasterio~=1.3.10; python_version<"3.9"',
'rasterio~=1.3.10; python_version>="3.9"',
'py4j',
'numpy==1.22.4; python_version<"3.9"',
'numpy>=2.3.3,<2.5; python_version>="3.9"',
'pandas>=1.4.0,<2.0.0; python_version<"3.9"',
'pandas; python_version>="3.9"',
'pyproj==3.4.1',
'protobuf~=3.9.2',
'kazoo~=2.8.0; python_version<="3.8"',
'kazoo~=2.11.0; python_version>"3.8"',
'h5py==2.10.0; python_version<"3.9"',
'h5py~=3.11.0; python_version>="3.9"',
'h5netcdf',
'requests>=2.26.0,<3.0',
'python_dateutil',
'pytz',
'affine',
'xarray~=0.16.2; python_version<"3.9"',
'xarray~=2024.7.0; python_version>="3.9"',
"netcdf4",
"shapely>=1.8.5", # TODO #1161 bump requirement to at least 2.0.0 for simplicity (once compatibility is verified on all deployments)
'epsel~=1.0.0',
'numbagg==0.1; python_version<"3.9"', #leave it to user environment to include this for newer pythons
'Bottleneck~=1.3.2; python_version<"3.9"',
'Bottleneck~=1.4.0; python_version>="3.9"',
"python-json-logger~=2.0", # Avoid breaking change in 3.1.0 https://github.com/nhairs/python-json-logger/issues/29
'jep==4.1.1; python_version<"3.9"',
'jep_openeo_numpy==4.1.2; python_version>="3.9"', # Required because Jep needs to compile against numpy 2.x
'kafka-python==1.4.6',
'deprecated>=1.2.12',
'elasticsearch==7.16.3',
"pystac>=1.8.4",
'pystac_client~=0.7.2',
'boto3>=1.16.25,<2.0',
"hvac>=1.0.2",
"pyarrow>=1.0.0", # For pyspark.pandas
"attrs>=22.1.0",
"planetary-computer~=1.0.0",
"reretry~=0.11.8",
'scipy>=1.8', # used by sentinel-3 reader
"PyJWT[crypto]>=2.9.0", # For identity tokens
"urllib3>=1.26.20",
"importlib_resources; python_version<'3.9'", # #1060 on python 3.8 we need importlib_resources backport
],
extras_require={
"dev": tests_require + typing_require,
"k8s": [
"kubernetes",
"PyYAML",
],
"yarn": yarn_require,
"spark35": ["pyspark>=3.5.0,<4.0.0"],
"spark4": ["pyspark>=4.0.0,<5.0.0"],
},
entry_points={
"console_scripts": [
"openeo_kube.py = openeogeotrellis.deploy.kube:main",
"openeo_kube_lite.py = openeogeotrellis.deploy.kube_webapp_lite:main",
"openeo_batch.py = openeogeotrellis.deploy.batch_job:start_main",
"openeo_local.py = openeogeotrellis.deploy.local:main",
"run_graph_locally.py = openeogeotrellis.deploy.run_graph_locally:main",
]
}
)