# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

{% set version = "0.7.0" %}

package:
  name: tvm
  version: {{ version }}

source:
  path: ../..

build:
  number: 0

requirements:
  build:
    - {{ compiler('cxx') }}
  host:
    - python {{ python }}
    - cython
    - numpy
    - setuptools
    - decorator
    - tvm-libs {{ version }}
  run:
    - python {{ python }}
    - {{ pin_compatible('numpy') }}
    - decorator
    - tvm-libs {{ version }}
    - psutil

test:
  imports:
    - tvm
  requires:
    - pytest
    - scipy
  source_files:
    - tests/python
  commands:
    - python -m pytest -v tests/python/integration

about:
  home: https://github.com/apache/incubator-tvm
  license: Apache-2.0
  license_family: Apache
  summary: a low level domain specific language for compiling tensor computation pipelines
