<commit_before>{% set name = "ESMValTool" %}
{% set version = "2.3.0" %}

package:
  name: {{ name|lower }}-suite
  version: {{ version }}

source:
  url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz
  sha256: cf1bdb4e22dba58ef5a2ccda78e5d61afa8b9c9b9277aa1568ba81f7e4da5943

build:
  number: 1

outputs:
  - name: esmvaltool-python
    build:
      noarch: python
    script: build_python.bat  # [win]
    script: build_python.sh  # [not win]
    requirements:
      build:
        - python >=3.7
        - pip
      host:
        - python >=3.7
        - setuptools_scm
        - pip
      run:
        - cartopy >=0.18
        - cdo >=1.9.7
        - cdsapi >=0.5.1
        - cf-units >=2.1
        - cftime >=1.2.1
        - cmocean >=2.0
        - cython
        - dask >=2.12
        - eccodes !=2.19.0  # cdo dependency; something messed up with libeccodes.so
        - ecmwf-api-client  # in esmvalgroup channel
        - eofs >=1.4
        - esmpy >=8.0.1
        - esmvalcore >=2.3.1,<2.4  # in esmvalgroup channel
        - fiona >=1.8.18
        - gdal >=3.1.4
        - iris >=3.0.2,<3.0.4
        - jinja2 >=2.11
        - joblib >=1.0
        - lime
        # bug in 3.3.1, issue with nc-time-axis for >=3.4, can be lifted with move to iris>=3.0.4
        - matplotlib-base >3.3.1,<3.4
        - mpich <3.4  # avoid 3.4.1 external_2 from conda-forge like the plague; stable 3.3.2 OK
        - natsort >=7.1
        - nc-time-axis
        - netCDF4 >=1.5.6
        - numpy >=1.20
        - pandas >=1.2.3
        - pyproj >=2.1
        - python >=3.7
        - python-cdo >=1.5.4
        - pyyaml
        - rasterio  # replaces pynio
        - ruamel.yaml >=0.16.12
        - scikit-image
        - scikit-learn >=0.24
        - seaborn
        - seawater
        - shapely
        - xarray >=0.12.0
        - xesmf >=0.3
        - xgboost
        - xlsxwriter
    test:
      source_files:
        - tests
        - setup.cfg
      requires:
        - pytest >=3.9,!=6.0.0rc1,!=6.0.0
        - pytest-cov
        - pytest-env
        - pytest-flake8
        - pytest-html !=2.1.0
        - pytest-metadata >=1.5.1
        - pytest-xdist
      imports:
        - esmvaltool
      commands:
        - pytest -n 2 --ignore="run_test.py" --ignore="tests/unit/test_docs.py" -k "not ([diagnostic.R] or [diagnostic.jl] or [diagnostic.ncl] or test_r_lint)"
        - esmvaltool --help
        - cmorize_obs --help
        - nclcodestyle --help
        - esmvaltool colortables --help
        - test_recipe --help

  # - name: esmvaltool-julia
  #   build:
  #     noarch: generic
  #     post-link: install-julia-deps
  #   requirements:
  #     run:
  #       - esmvaltool-python

  - name: esmvaltool-ncl
    build:
      noarch: generic
    requirements:
      run:
        - cdo >=1.9.7
        - esmvaltool-python
        - imagemagick
        - ncl >=6.6
        - nco
    test:
      source_files:
        - tests
        - setup.cfg
      requires:
        - pytest >=3.9,!=6.0.0rc1,!=6.0.0
        - pytest-cov
        - pytest-env
        - pytest-flake8
        - pytest-html !=2.1.0
        - pytest-metadata >=1.5.1
        - pytest-xdist
      commands:
        - pytest -n 2 -k "[diagnostic.ncl]"

  - name: esmvaltool-r
    build:
      noarch: generic
    requirements:
      run:
        - cdo >=1.9.7
        - compilers
        - esmvaltool-python
        - nco
        - r-base >=3.5
        - r-abind
        - r-akima
        - r-climdex.pcic
        - r-climprojdiags
        - r-docopt
        - r-dotcall64
        - r-functional
        - r-ggplot2
        - r-gridextra
        - r-lintr
        - r-logging
        - r-mapproj
        - r-maps
        - r-multiapply
        - r-ncdf4
        - r-ncdf4.helpers
        - r-pcict
        - r-plyr
        - r-rcolorbrewer
        - r-rcpp
        - r-s2dverification
        - r-snow
        - r-spei
        - r-styler
        - r-udunits2
        - r-yaml
    test:
      source_files:
        - tests
        - setup.cfg
      requires:
        - pytest >=3.9,!=6.0.0rc1,!=6.0.0
        - pytest-cov
        - pytest-env
        - pytest-flake8
        - pytest-html !=2.1.0
        - pytest-metadata >=1.5.1
        - pytest-xdist
      commands:
        - pytest -n 2 -k "[diagnostic.R] or test_r_lint"

  - name: esmvaltool
    build:
      noarch: python
    requirements:
      host:
        - python
      run:
        - python
        # - {{ pin_subpackage('esmvaltool-julia', exact=True) }}
        - {{ pin_subpackage('esmvaltool-ncl', exact=True) }}
        - {{ pin_subpackage('esmvaltool-python', exact=True) }}
        - {{ pin_subpackage('esmvaltool-r', exact=True) }}
    test:
      imports:
        - esmvaltool
      commands:
        - esmvaltool --help
        - cmorize_obs --help
        - nclcodestyle --help
        - esmvaltool colortables --help
        - test_recipe --help

about:
  home: https://www.esmvaltool.org
  license: Apache-2.0
  license_file: LICENSE
  summary: A community diagnostic and performance metrics tool for routine evaluation of Earth system models in CMIP.
  description: A community diagnostic and performance metrics tool for routine evaluation of Earth system models in CMIP.

extra:
  recipe-maintainers:
    - zklaus
    - valeriupredoi
    - nielsdrost
    - jvegasbsc
    - bouweandela
<commit_msg>Add entry points to meta.yml<commit_after>{% set name = "ESMValTool" %}
{% set version = "2.3.0" %}

package:
  name: {{ name|lower }}-suite
  version: {{ version }}

source:
  url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz
  sha256: cf1bdb4e22dba58ef5a2ccda78e5d61afa8b9c9b9277aa1568ba81f7e4da5943

build:
  number: 1

outputs:
  - name: esmvaltool-python
    build:
      noarch: python
      entry_points:
        - cmorize_obs = esmvaltool.cmorizers.obs.cmorize_obs:main
        - mip_convert_setup = esmvaltool.cmorizers.mip_convert.esmvt_mipconv_setup:main
        - nclcodestyle = esmvaltool.utils.nclcodestyle.nclcodestyle:_main
        - test_recipe = esmvaltool.utils.testing.recipe_settings.install_expand_run:main
        - recipe_filler = esmvaltool.utils.recipe_filler:run
    script: build_python.bat  # [win]
    script: build_python.sh  # [not win]
    requirements:
      build:
        - python >=3.7
        - pip
      host:
        - python >=3.7
        - setuptools_scm
        - pip
      run:
        - cartopy >=0.18
        - cdo >=1.9.7
        - cdsapi >=0.5.1
        - cf-units >=2.1
        - cftime >=1.2.1
        - cmocean >=2.0
        - cython
        - dask >=2.12
        - eccodes !=2.19.0  # cdo dependency; something messed up with libeccodes.so
        - ecmwf-api-client  # in esmvalgroup channel
        - eofs >=1.4
        - esmpy >=8.0.1
        - esmvalcore >=2.3.1,<2.4  # in esmvalgroup channel
        - fiona >=1.8.18
        - gdal >=3.1.4
        - iris >=3.0.2,<3.0.4
        - jinja2 >=2.11
        - joblib >=1.0
        - lime
        # bug in 3.3.1, issue with nc-time-axis for >=3.4, can be lifted with move to iris>=3.0.4
        - matplotlib-base >3.3.1,<3.4
        - mpich <3.4  # avoid 3.4.1 external_2 from conda-forge like the plague; stable 3.3.2 OK
        - natsort >=7.1
        - nc-time-axis
        - netCDF4 >=1.5.6
        - numpy >=1.20
        - pandas >=1.2.3
        - pyproj >=2.1
        - python >=3.7
        - python-cdo >=1.5.4
        - pyyaml
        - rasterio  # replaces pynio
        - ruamel.yaml >=0.16.12
        - scikit-image
        - scikit-learn >=0.24
        - seaborn
        - seawater
        - shapely
        - xarray >=0.12.0
        - xesmf >=0.3
        - xgboost
        - xlsxwriter
    test:
      source_files:
        - tests
        - setup.cfg
      requires:
        - pytest >=3.9,!=6.0.0rc1,!=6.0.0
        - pytest-cov
        - pytest-env
        - pytest-flake8
        - pytest-html !=2.1.0
        - pytest-metadata >=1.5.1
        - pytest-xdist
      imports:
        - esmvaltool
      commands:
        - pytest -n 2 --ignore="run_test.py" --ignore="tests/unit/test_docs.py" -k "not ([diagnostic.R] or [diagnostic.jl] or [diagnostic.ncl] or test_r_lint)"
        - esmvaltool --help
        - cmorize_obs --help
        - nclcodestyle --help
        - esmvaltool colortables --help
        - test_recipe --help

  # - name: esmvaltool-julia
  #   build:
  #     noarch: generic
  #     post-link: install-julia-deps
  #   requirements:
  #     run:
  #       - esmvaltool-python

  - name: esmvaltool-ncl
    build:
      noarch: generic
    requirements:
      run:
        - cdo >=1.9.7
        - esmvaltool-python
        - imagemagick
        - ncl >=6.6
        - nco
    test:
      source_files:
        - tests
        - setup.cfg
      requires:
        - pytest >=3.9,!=6.0.0rc1,!=6.0.0
        - pytest-cov
        - pytest-env
        - pytest-flake8
        - pytest-html !=2.1.0
        - pytest-metadata >=1.5.1
        - pytest-xdist
      commands:
        - pytest -n 2 -k "[diagnostic.ncl]"

  - name: esmvaltool-r
    build:
      noarch: generic
    requirements:
      run:
        - cdo >=1.9.7
        - compilers
        - esmvaltool-python
        - nco
        - r-base >=3.5
        - r-abind
        - r-akima
        - r-climdex.pcic
        - r-climprojdiags
        - r-docopt
        - r-dotcall64
        - r-functional
        - r-ggplot2
        - r-gridextra
        - r-lintr
        - r-logging
        - r-mapproj
        - r-maps
        - r-multiapply
        - r-ncdf4
        - r-ncdf4.helpers
        - r-pcict
        - r-plyr
        - r-rcolorbrewer
        - r-rcpp
        - r-s2dverification
        - r-snow
        - r-spei
        - r-styler
        - r-udunits2
        - r-yaml
    test:
      source_files:
        - tests
        - setup.cfg
      requires:
        - pytest >=3.9,!=6.0.0rc1,!=6.0.0
        - pytest-cov
        - pytest-env
        - pytest-flake8
        - pytest-html !=2.1.0
        - pytest-metadata >=1.5.1
        - pytest-xdist
      commands:
        - pytest -n 2 -k "[diagnostic.R] or test_r_lint"

  - name: esmvaltool
    build:
      noarch: python
    requirements:
      host:
        - python
      run:
        - python
        # - {{ pin_subpackage('esmvaltool-julia', exact=True) }}
        - {{ pin_subpackage('esmvaltool-ncl', exact=True) }}
        - {{ pin_subpackage('esmvaltool-python', exact=True) }}
        - {{ pin_subpackage('esmvaltool-r', exact=True) }}
    test:
      imports:
        - esmvaltool
      commands:
        - esmvaltool --help
        - cmorize_obs --help
        - nclcodestyle --help
        - esmvaltool colortables --help
        - test_recipe --help

about:
  home: https://www.esmvaltool.org
  license: Apache-2.0
  license_file: LICENSE
  summary: A community diagnostic and performance metrics tool for routine evaluation of Earth system models in CMIP.
  description: A community diagnostic and performance metrics tool for routine evaluation of Earth system models in CMIP.

extra:
  recipe-maintainers:
    - zklaus
    - valeriupredoi
    - nielsdrost
    - jvegasbsc
    - bouweandela

{'fraction_non_alphanumeric': 0.12565912950218966, 'fraction_numerical': 0.03950308338546787, 'mean_word_length': 1.3956326268464996, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 85, 'https://': 4, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7363786', 'n_tokens_mistral': 4235, 'n_tokens_neox': 4187, 'n_words': 801}