{% set name = "voila" %}
{% set version = "0.5.7" %}

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

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

build:
  number: 0
  skip: true # [py<38 or s390x]
  script: {{ PYTHON }} -m pip install . --no-deps --no-build-isolation --ignore-installed --no-cache-dir -vvv
  entry_points:
    - voila = voila.app:main

requirements:
  host:
    - python
    - pip
    - hatch-jupyter-builder >=0.5.3
    - hatchling >=1.8.1
    - jupyter_core
  run:
    - python
    - jupyter_client >=7.4.4,<9
    - jupyter_core >=4.11.0
    - jupyter_server >=2.0.0,<3
    - jupyterlab_server >=2.3.0,<3
    - nbclient >=0.4.0
    - nbconvert >=6.4.5,<8
    - traitlets >=5.0.3,<6
    - websockets >=9.0
  run_constrained:
    - ipywidgets =8 # set by core developer on cf recipe.

test:
  imports:
    - voila
  requires:
    - pip
  commands:
    - pip check
    - voila --help


about:
  home: https://github.com/voila-dashboards/voila
  license: BSD-3-Clause
  license_family: BSD
  license_file: LICENSE
  summary: Rendering of live Jupyter notebooks with interactive widgets
  description: |
    Voila serves live Jupyter notebooks including Jupyter interactive widgets.
    Unlike the usual HTML-converted notebooks, each user connecting to the
    Voila tornado application is associated with a dedicated Jupyter kernel
    which can execute triggered by Jupyter interactive widgets.

    By default, voila disallows execute requests from the front-end, disabling
    the ability to execute arbitrary code.
  dev_url: https://github.com/voila-dashboards/voila
  doc_url: https://voila.readthedocs.io/

extra:
  recipe-maintainers:
    - SylvainCorlay
    - maartenbreddels
    - JohanMabille
    - jtpio
    - trungleduc
    - martinRenou
