distributable:
  url: git+https://github.com/vanna-ai/vanna.git
  ref: ${{version.tag}}

display-name: Vanna

versions:
  github: vanna-ai/vanna

dependencies:
  python.org: ^3.12
  linux:
    openmp.llvm.org: 17 # needed by chromadb

runtime:
  env:
    PYTHONPATH: ${{prefix}}/lib/python{{deps.python.org.version.major}}/site-packages:$PYTHONPATH

build:
  script:
    - python -m pip install . --prefix={{prefix}}
    # additional requirements as of 0.1.0
    - run: python -m pip install openai mistralai --prefix={{prefix}}
      if: '>=0.1'
    # additional requirements as of 0.2.0
    - run: python -m pip install chromadb python-dotenv --prefix={{prefix}}
      if: '>=0.2'
    # additional requirements as of 0.3.0
    - run: python -m pip install anthropic --prefix={{prefix}}
      if: '>=0.3'
    # additional requirements as of 0.4.0
    - run: python -m pip install google-generativeai --prefix={{prefix}}
      if: '>=0.4'
    # additional requirements as of 0.4.1
    - run: python -m pip install qdrant-client fastembed --prefix={{prefix}}
      if: '>=0.4.1'
    # additional requirements as of 0.6.1
    - run: python -m pip install 'pymilvus[model]' --prefix={{prefix}}
      if: '>=0.6.1'
    # protobuf ^5.27 (transient dep) currently not playing nicely with other components
    - run: |
        rm -rf ${{prefix}}/lib/python{{deps.python.org.version.marketing}}/site-packages/proto
        python -m pip install proto-plus==1.24.0.dev1 --prefix={{prefix}}
      if: '>=0.6.0'

    - run: ln -s python{{deps.python.org.version.marketing}} python{{deps.python.org.version.major}}
      working-directory: ${{prefix}}/lib
  env:
    linux:
      CC: clang
      CXX: clang++
      LD: clang

test:
  dependencies:
    curl.se: '*'
  script:
    - curl -LO "https://raw.githubusercontent.com/vanna-ai/vanna/{{ version.tag }}/tests/test_imports.py"
    - python test_imports.py
