{% set name = "greenlet" %}
{% set version = "0.4.15" %}
{% set sha256 = "9416443e219356e3c31f1f918a91badf2e37acf297e2fa13d24d1cc2380f8fbc" %}

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

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

build:
  number: 0
  script: python -m pip install --no-deps --ignore-installed .

requirements:
  build:
    - {{ compiler('c') }}

  host:
    - pip
    - python

  run:
    - python

test:
  imports:
    - greenlet

about:
  home: https://github.com/python-greenlet/greenlet
  license: MIT
  license_family: MIT
  license_file: LICENSE
  summary: 'Lightweight in-process concurrent programming'

  description: |
    The greenlet package is a spin-off of Stackless, a version of CPython that
    supports micro-threads called "tasklets". Tasklets run pseudo-concurrently
    (typically in a single or a few OS-level threads) and are synchronized with
    data exchanges on "channels".

    A "greenlet", on the other hand, is a still more primitive notion of
    micro-thread with no implicit scheduling; coroutines, in other words. This
    is useful when you want to control exactly when your code runs. You can
    build custom scheduled micro-threads on top of greenlet; however, it seems
    that greenlets are useful on their own as a way to make advanced control
    flow structures. For example, we can recreate generators; the difference
    with Python's own generators is that our generators can call nested
    functions and the nested functions can yield values too. Additionally,
    you don't need a "yield" keyword. See the example in
    tests/test_generator.py.

    Greenlets are provided as a C extension module for the regular unmodified
    interpreter.

    Greenlets are lightweight coroutines for in-process concurrent programming.
  doc_url: https://greenlet.readthedocs.io
  dev_url: https://github.com/python-greenlet/greenlet

extra:
  recipe-maintainers:
    - curtisalexander
