easyblock = 'PythonBundle'

name = 'ELIC_Python'
version = '1'

homepage = 'https://gogs.elic.ucl.ac.be'
description = """This repo provides additional Python and R extensions for ELIC ecosystem."""

toolchain = {'name': 'foss', 'version': '2020b'}

builddependencies = [
    ('pkg-config', '0.29.2'),
]

dependencies = [
    ('Python', '3.8.6'),
    ('SciPy-bundle', '2020.11'),
    ('matplotlib', '3.3.3'),
    ('GDAL', '3.2.1'),
    ('NCL', '6.6.2'),
    ('CDO', '1.9.10'),
    ('NCO', '4.9.7'),
    ('ncview', '2.1.7'),
    #('libmo_unpack', '3.1.2'),
    #('orca', '3.4.3'),
]

exts_defaultclass = 'PythonPackage'
exts_default_options = {
    'source_tmpl': '%(name)s-%(version)s.tar.gz',
}

exts_list = [
    # Python deps, order is important!
    ('pip', '21.2.2', {
        'modulename': 'pip',
        'source_tmpl': '%(version)s.tar.gz',
        'source_urls': ['https://github.com/pypa/pip/archive/'],
    }),
    ('PyKE', '1.1.1', {
        'modulename': 'pyke',
        'source_tmpl': 'pyke3-%(version)s.zip',
        'source_urls': ['https://sourceforge.net/projects/%(name)s/files/%(name)s/%(version)s'],
        'use_pip': True,
    }),
    #('stratify', '0.1.1', {
    #    'modulename': 'stratify',
    #    'source_tmpl': 'v%(version)s.tar.gz',
    #    'source_urls': ['https://github.com/SciTools-incubator/python-stratify/archive/'],
    #}),
    #('mo_pack', '0.2.0', {
    #    'source_tmpl': 'v%(version)s.tar.gz',
    #    'source_urls': ['https://github.com/SciTools/mo_pack/archive/'],
    #    'checksums': ['4aa70e1f846b666670843bc2514435dedf7393203e88abaf74d48f8f2717a726'],
    #}),
    ('basemap', '1.2.1rel', {
        'modulename': 'mpl_toolkits',
        'source_tmpl': 'v%(version)s.tar.gz',
        'source_urls': ['https://github.com/matplotlib/basemap/archive'],
        'use_pip': True,
    }),
]

modextrapaths = {
    'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages',
    'PYTHONUSERBASE': '',
}

postinstallcmds = [
    "cd %(installdir)s && " +
    'pip install setuptools --upgrade && ' +
    'pip install olefile pyproj pyshp chardet urllib3 --prefix="%(installdir)s" && ' +
    'pip install OWSLib ' +
                'netCDF4 ' +
                'dask ' +
                'cf-units ' +
                'Cartopy ' +
                #'Shapely ' +
                #'astropy ' +
                #'tqdm ' +
                #'cf-units ' +
                #'cftime ' +
                #'singledispatch ' +
                #'backports_abc ' +
                #'tornado ' +
                #'toolz ' +
                #'patsy ' +
                #'statsmodels ' +
                #'nc-time-axis ' +
                #'yamale ' +
                #'affine ' +
                #'boto3 ' +
                #'botocore ' +
                #'click-plugins ' +
                #'cligj ' +
                #'cloudpickle ' +
                #'fiona ' +
                #'geopandas ' +
                #'jmespath ' +
                #'munch ' +
                #'networkx ' +
                #'python-utils ' +
                #'rasterio ' +
                #'s3transfer ' +
                #'snuggs ' +
                #'xarray ' +
                #'PyWavelets ' +
                #'progressbar2 ' +
                #'scikit-image ' +
                #'descartes ' +
                #'graphviz ' +
                #'Bottleneck ' +
                #'pickleshare ' +
                #'prompt_toolkit ' +
                #'ptyprocess ' +
                #'pexpect ' +
                #'typelib ' +
                #'testpath ' +
                #'parso ' +
                #'jedi ' +
                #'scikit-learn ' +
                #'ldap3 ' +
                #'skills ' +
                #'XlsxWriter ' +
                #'pyrsistent ' +
                #'jsonschema ' +
                #'plotly-charts ' +
                #'rpy2 ' +
                '--prefix="%(installdir)s" '
]

moduleclass = 'numlib'
