{% set version = "3.0.1" %}
{% set cov_fail_under = 83 %}
# if this becomes a list, should be ` or `-delimited, with parentheses: "(exclude_patterns or foo_bar)"
{% set test_skip = "exclude_patterns" %}

package:
  name: werkzeug
  version: {{ version }}

source:
  url: https://pypi.io/packages/source/w/werkzeug/werkzeug-{{ version }}.tar.gz
  sha256: 507e811ecea72b18a404947aded4b3390e1db8f826b494d76550ef45bb3b1dcc

build:
  noarch: python
  number: 0
  script: {{ PYTHON }} -m pip install . --no-deps -vv --no-build-isolation

requirements:
  host:
    - pip
    - python >=3.8
    - flit-core <4
  run:
    - markupsafe >=2.1.1
    - python >=3.8

test:
  source_files:
    - tests
    - pyproject.toml
  requires:
    - coverage
    - cryptography
    - ephemeral-port-reserve
    - greenlet
    - mypy
    - pip
    - pytest
    - pytest-timeout
    - pytest-xprocess
    - types-setuptools
    - watchdog
  imports:
    - werkzeug
  commands:
    - pip check
    - coverage run -m pytest -vv -k "not {{ test_skip }}"
    - coverage report --fail-under={{ cov_fail_under }}
    - mypy -p werkzeug

about:
  home: https://palletsprojects.com/p/werkzeug/
  license: BSD-3-Clause
  license_family: BSD
  license_file: LICENSE.rst
  summary: The comprehensive WSGI web application library.
  description: |
    **_werkzeug_** German noun: "tool". Etymology: *werk* ("work"), *zeug* ("stuff")

    Werkzeug is a comprehensive [WSGI](https://wsgi.readthedocs.io/en/latest/) web application library. It began as
    a simple collection of various utilities for WSGI applications and has
    become one of the most advanced WSGI utility libraries.

    It includes:

      -   An interactive debugger that allows inspecting stack traces and
          source code in the browser with an interactive interpreter for any
          frame in the stack.
      -   A full-featured request object with objects to interact with
          headers, query args, form data, files, and cookies.
      -   A response object that can wrap other WSGI applications and handle
          streaming data.
      -   A routing system for matching URLs to endpoints and generating URLs
          for endpoints, with an extensible system for capturing variables
          from URLs.
      -   HTTP utilities to handle entity tags, cache control, dates, user
          agents, cookies, files, and more.
      -   A threaded WSGI server for use while developing applications
          locally.
      -   A test client for simulating HTTP requests during testing without
          requiring running a server.

    Werkzeug doesn't enforce any dependencies. It is up to the developer to
    choose a template engine, database adapter, and even how to handle
    requests. It can be used to build all sorts of end user applications
    such as blogs, wikis, or bulletin boards.

    [Flask](https://www.palletsprojects.com/p/flask/) wraps Werkzeug, using it to handle the details of WSGI while
    providing more structure and patterns for defining powerful
    applications.
  doc_url: https://werkzeug.palletsprojects.com/
  dev_url: https://github.com/pallets/werkzeug

extra:
  recipe-maintainers:
    - goanpeca
    - mcs07
    - bollwyvl
