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

4
5
# AROSICS - Automated and Robust Open-Source Image Co-Registration Software
#
6
# Copyright (C) 2017-2020  Daniel Scheffler (GFZ Potsdam, daniel.scheffler@gfz-potsdam.de)
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#
# 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).
#
# This program is free software: you can redistribute it and/or modify it under
# the terms of the GNU Lesser General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
# details.
#
# You should have received a copy of the GNU Lesser General Public License along
# with this program.  If not, see <http://www.gnu.org/licenses/>.

25
26
27
"""The setup script."""

from setuptools import setup, find_packages
28

29
30
31
32
33
34
35

with open('README.rst') as readme_file:
    readme = readme_file.read()

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

Daniel Scheffler's avatar
Daniel Scheffler committed
36
37
38
39
version = {}
with open("arosics/version.py") as version_file:
    exec(version_file.read(), version)

40
req = [
41
    'cartopy',
42
43
44
45
46
47
48
49
50
51
52
53
    'cmocean',
    'folium>=0.6.0',
    'gdal',
    'geojson',
    'geoarray>=0.9.0',
    'geopandas',
    'matplotlib',
    'numpy',
    'pandas',
    'plotly',
    'pyfftw',
    'pykrige',
Daniel Scheffler's avatar
Daniel Scheffler committed
54
    'py_tools_ds>=0.15.10',
55
    'scikit-image>=0.16.0',
56
57
    'shapely',
    'six',
58
]
59

60
req_setup = [
Daniel Scheffler's avatar
Daniel Scheffler committed
61
62
    'setuptools',
    'setuptools-git'
63
64
]

65
66
req_intplot = ['holoviews', 'ipython']

67
req_test = ['coverage', 'nose', 'nose2', 'nose-htmloutput', 'rednose', 'urlchecker'] + req_intplot
68

69
req_doc = ['sphinx-argparse', 'sphinx_rtd_theme', 'sphinx-autodoc-typehints']
70
71
72
73

req_lint = ['flake8', 'pycodestyle', 'pydocstyle']

req_dev = req_setup + req_test + req_doc + req_lint
74
75
76
77
78

setup(
    author="Daniel Scheffler",
    author_email='daniel.scheffler@gfz-potsdam.de',
    classifiers=[
79
        'Development Status :: 5 - Production/Stable',
80
        'Intended Audience :: Science/Research',
81
        'Topic :: Scientific/Engineering',
82
        'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)',
83
        'Natural Language :: English',
84
85
86
87
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.4',
        'Programming Language :: Python :: 3.5',
        'Programming Language :: Python :: 3.6',
88
        'Programming Language :: Python :: 3.7',
89
90
        'Programming Language :: Python :: 3.8',
        'Programming Language :: Python :: 3.9',
91
    ],
92
93
    description="An Automated and Robust Open-Source Image Co-Registration Software for Multi-Sensor Satellite Data",
    extras_require={
94
        "interactive_plotting": req_intplot,
95
96
97
98
99
100
101
102
103
104
105
106
107
108
        "doc": req_doc,
        "test": req_test,
        "lint": req_lint,
        "dev": req_dev
    },
    include_package_data=True,
    install_requires=req,
    keywords=['arosics', 'image co-registration', 'geometric pre-processing', 'remote sensing', 'sensor fusion'],
    license="GPL-3.0-or-later",
    long_description=readme + '\n\n' + history,
    name='arosics',
    packages=find_packages(exclude=['tests*']),
    scripts=["bin/arosics_cli.py"],
    setup_requires=req_setup,
109
    test_suite='tests',
110
    tests_require=req + req_test,
111
    url='https://git.gfz-potsdam.de/danschef/arosics',
112
113
    version=version['__version__'],
    zip_safe=False,
114
)