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

"""The setup script."""

from setuptools import setup, find_packages
Daniel Scheffler's avatar
Daniel Scheffler committed
7
import warnings
8
from importlib import util
9
10
11
12
13
14
15

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

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

16
requirements = ['numpy', 'gdal', 'shapely', 'scikit-image', 'matplotlib', 'geopandas', 'geoarray>=0.6.16',
17
                'py_tools_ds>=0.12.1', 'plotly', 'cmocean', 'six',
18
19
20
21
                # 'pykrige'  # conda install --yes -c conda-forge pykrige
                # 'pyfftw', # conda install --yes -c conda-forge pyfftw=0.10.4 ; \
                # 'basemap', # conda install --yes -c conda-forge basemap; \
                ]
22
23
24
25
26

setup_requirements = [
    # TODO(danschef): put setup requirements (distutils extensions, etc.) here
]

Daniel Scheffler's avatar
Daniel Scheffler committed
27
test_requirements = requirements + ['coverage', 'nose', 'nose-htmloutput', 'rednose']
28
29
30

setup(
    name='arosics',
Daniel Scheffler's avatar
Daniel Scheffler committed
31
    version='0.7.0',
32
33
34
35
    description="An Automated and Robust Open-Source Image Co-Registration Software for Multi-Sensor Satellite Data",
    long_description=readme + '\n\n' + history,
    author="Daniel Scheffler",
    author_email='daniel.scheffler@gfz-potsdam.de',
Daniel Scheffler's avatar
Daniel Scheffler committed
36
    url='https://gitext.gfz-potsdam.de/danschef/arosics',
Daniel Scheffler's avatar
Daniel Scheffler committed
37
    packages=find_packages(),
38
    include_package_data=True,
39
    scripts=["bin/arosics_cli.py"],
40
    install_requires=requirements,
Daniel Scheffler's avatar
Daniel Scheffler committed
41
    license="GNU General Public License v3",
42
43
44
    zip_safe=False,
    keywords='arosics',
    classifiers=[
Daniel Scheffler's avatar
Daniel Scheffler committed
45
        'Development Status :: 4 - Beta',
46
        'Intended Audience :: Developers',
Daniel Scheffler's avatar
Daniel Scheffler committed
47
        'License :: OSI Approved :: GNU General Public License v3 (GPLv3)',
48
        'Natural Language :: English',
49
        "Programming Language :: Python :: 2",
50
        'Programming Language :: Python :: 2.7',
51
52
53
54
55
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.3',
        'Programming Language :: Python :: 3.4',
        'Programming Language :: Python :: 3.5',
        'Programming Language :: Python :: 3.6',
56
57
58
59
60
    ],
    test_suite='tests',
    tests_require=test_requirements,
    setup_requires=setup_requirements,
)
Daniel Scheffler's avatar
Daniel Scheffler committed
61
62


63
64
# check for pyfftw
if not util.find_spec('pyfftw'):
Daniel Scheffler's avatar
Daniel Scheffler committed
65
    warnings.warn('You need to install pyfftw manually (see https://pypi.python.org/pypi/pyFFTW) for speeding up '
66
                  'the computation. It is not automatically installed.')
Daniel Scheffler's avatar
Daniel Scheffler committed
67
68

# check for basemap
69
if not util.find_spec('mpl_toolkits.basemap'):
70
    warnings.warn('You need to install basemap manually if you want to plot maps (see www./matplotlib.org/basemap). '
71
                  'It is not automatically installed.')
72
73

# check for pykrige
74
if not util.find_spec('pykrige'):
75
    warnings.warn('You need to install pykrige manually if you want to interpolate tie point grids produced by AROSICS '
76
                  '(see https://github.com/bsmurphy/PyKrige). It is not automatically installed.')