easyblock = 'PythonBundle'

name = 'ELIC_Python'
version = '1'
versionsuffix = '-Python-%(pyver)s'

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

toolchain = {'name': 'intel', 'version': '2019b'}

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

dependencies = [
    ('Python', '3.7.4'),
    ('matplotlib', '3.1.1', versionsuffix),
    #('GDAL', '3.0.2', versionsuffix),
    #('NCL', '6.6.2'),
    ('CDO', '1.9.8'),
    ('NCO', '4.9.1'),
    ('ncview', '2.1.7'),
    ('libmo_unpack', '3.1.2'),
    ('orca', '1.3.0'),
]

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

exts_list = [
    # Python deps, order is important!
    ('pip', '20.0.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 ' +
                '--prefix="%(installdir)s" '
]

#pip install eofs dask cf-units Cartopy netCDF4 mpi4py GitPython keyring --user
#pip install certifi requests OWSLib netCDF4 geoval Shapely dask astropy oktopus bs4 tqdm cf-units cftime pyugrid cycler singledispatch backports_abc tornado toolz patsy statsmodels nc-time-axis yamale psutil bcrypt cffi cryptography Cython decorator mpi4py numpy pandas pbr pycparser scipy six virtualenv xlrd affine atomicwrites boto3 botocore click click-plugins cligj cloudpickle configobj docutils fiona geopandas jmespath more-itertools motionless munch networkx pathlib2 pluggy py pytest python-utils rasterio s3transfer scandir snuggs xarray py-expression-eval PyWavelets attrs progressbar2 scikit-image PyNaCl descartes graphviz wcwidth Bottleneck pickleshare simplegeneric prompt_toolkit Pygments ptyprocess pexpect typelib testpath parso jedi backcall scikit-learn ldap3 skills XlsxWriter retrying pyrsistent jsonschema plotly-charts --user
#pip install SkillMetrics cdo PyQt5 --user

moduleclass = 'numlib'
