-
Notifications
You must be signed in to change notification settings - Fork 42
/
setup.py
111 lines (100 loc) · 3.35 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
from setuptools import find_packages, setup
# 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 = {}
with open("openeo/_version.py") as fp:
exec(fp.read(), _version)
with open("README.md", "r") as fh:
long_description = fh.read()
tests_require = [
"pytest>=4.5.0",
"mock",
"requests-mock>=1.8.0",
"httpretty>=1.1.4",
"netCDF4>=1.7.0",
"matplotlib", # TODO: eliminate matplotlib as test dependency
"geopandas",
"flake8>=5.0.0",
"time_machine",
"pyproj>=3.2.0", # Pyproj is an optional, best-effort runtime dependency
"dirty_equals>=0.8.0",
"pyarrow>=10.0.1", # For Parquet read/write support in pandas
]
docs_require = [
"sphinx",
"sphinx-autodoc-annotation",
"sphinx-autodoc-typehints>=2.2.3",
"myst-parser",
]
localprocessing_require = [
"rioxarray>=0.13.0",
"pyproj",
"openeo_pg_parser_networkx>=2023.5.1",
"openeo_processes_dask[implementations]>=2023.7.1",
]
jupyter_require = [
"ipyleaflet>=0.17.0",
"ipython",
]
name = "openeo"
setup(
name=name,
version=_version["__version__"],
author="Jeroen Dries",
author_email="[email protected]",
description="Client API for openEO",
long_description=long_description,
long_description_content_type="text/markdown",
url="https://github.com/Open-EO/openeo-python-client",
python_requires=">=3.8",
packages=find_packages(include=["openeo*"]),
include_package_data=True,
tests_require=tests_require,
test_suite="tests",
install_requires=[
"requests>=2.26.0",
"shapely>=1.6.4",
"numpy>=1.17.0",
"xarray>=0.12.3",
"pandas>0.20.0",
# TODO #578: pystac 1.5.0 is highest version available for lowest Python version we still support (3.7).
"pystac>=1.5.0",
"deprecated>=1.2.12",
'oschmod>=0.3.12; sys_platform == "win32"',
"importlib_resources; python_version<'3.9'",
],
extras_require={
"tests": tests_require,
"dev": tests_require + docs_require,
"docs": docs_require,
"oschmod": [ # install oschmod even when platform is not Windows, e.g. for testing in CI.
"oschmod>=0.3.12"
],
"localprocessing": localprocessing_require,
"jupyter": jupyter_require,
},
entry_points={
"console_scripts": ["openeo-auth=openeo.rest.auth.cli:main"],
},
classifiers=[
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"License :: OSI Approved :: Apache Software License",
"Development Status :: 5 - Production/Stable",
"Operating System :: OS Independent",
],
project_urls={
"Documentation": "https://open-eo.github.io/openeo-python-client/",
"Source Code": "https://github.com/Open-EO/openeo-python-client",
"Bug Tracker": "https://github.com/Open-EO/openeo-python-client/issues",
"Changelog": "https://github.com/Open-EO/openeo-python-client/blob/master/CHANGELOG.md",
},
)