setup.py 3.23 KB
Newer Older
1
2
3
#!/usr/bin/env python
# -*- coding: utf-8 -*-

4
5
# geoarray, A fast Python interface for image geodata - either on disk or in memory.
#
6
7
8
9
# Copyright (C) 2017-2021
# - Daniel Scheffler (GFZ Potsdam, daniel.scheffler@gfz-potsdam.de)
# - Helmholtz Centre Potsdam - GFZ German Research Centre for Geosciences Potsdam,
#   Germany (https://www.gfz-potsdam.de/)
10
11
12
13
14
#
# This software was developed within the context of the GeoMultiSens project funded
# by the German Federal Ministry of Education and Research
# (project grant code: 01 IS 14 010 A-C).
#
15
16
17
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
18
#
19
#   http://www.apache.org/licenses/LICENSE-2.0
20
#
21
22
23
24
25
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
26

27
from setuptools import setup, find_packages
28

29

Daniel Scheffler's avatar
Daniel Scheffler committed
30
with open('README.rst') as readme_file:
31
32
33
34
35
    readme = readme_file.read()

with open('HISTORY.rst') as history_file:
    history = history_file.read()

36
version = {}
37
with open("geoarray/version.py") as version_file:
38
39
    exec(version_file.read(), version)

40
req = [
41
    'cartopy',
42
43
44
45
46
    'dill',
    'gdal>=2.1.0',
    'matplotlib',
    'numpy',
    'pandas',
47
    'pyepsg',  # optional dependency of cartopy, needed by geoarray
48
    'py_tools_ds>=0.19.0',
49
    'scikit-image',
50
    'shapely'
51
    ]
52
53
54
55
56
57
58
59
60

req_interactive_plotting = [
    'folium',
    'geojson',
    'holoviews'
]

req_setup = ['setuptools-git']

61
req_test = req + ["pytest", "pytest-cov", "pytest-reporter-hmtl1", "urlchecker", "parameterized"]
62
63
64

req_doc = ['sphinx-argparse', 'sphinx_rtd_theme']

Daniel Scheffler's avatar
Daniel Scheffler committed
65
req_lint = ['flake8', 'pycodestyle', 'pydocstyle']
66
67

req_dev = req_setup + req_test + req_doc + req_lint
68
69
70

setup(
    name='geoarray',
71
    version=version['__version__'],
72
    description="Fast Python interface for geodata - either on disk or in memory.",
73
    long_description=readme,
74
75
    author="Daniel Scheffler",
    author_email='danschef@gfz-potsdam.de',
76
    url='https://git.gfz-potsdam.de/danschef/geoarray',
77
    packages=find_packages(exclude=['tests*']),  # searches for packages with an __init__.py and returns a list
78
    package_dir={'geoarray': 'geoarray'},
79
    include_package_data=True,
80
    install_requires=req,
81
    license="Apache-2.0",
82
    zip_safe=False,
83
    keywords=['geoarray', 'geoprocessing', 'gdal', 'numpy'],
84
    classifiers=[
85
        'Development Status :: 4 - Beta',
86
        'Intended Audience :: Developers',
87
        'License :: OSI Approved :: Apache Software License',
88
        'Natural Language :: English',
89
        'Programming Language :: Python :: 3.6',
90
        'Programming Language :: Python :: 3.7',
91
92
        'Programming Language :: Python :: 3.8',
        'Programming Language :: Python :: 3.9',
93
    ],
94
    python_requires='>3.6',
95
    test_suite='tests',
96
97
98
99
100
101
102
103
104
    tests_require=req_test,
    setup_requires=req_setup,
    extras_require={
        "interactive_plotting": req_interactive_plotting,
        "doc": req_doc,
        "test": req_test,
        "lint": req_lint,
        "dev": req_dev
    }
105
)