{% set name = "networkx" %}
{% set version = "2.8.4" %}

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

source:
  url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz
  sha256: 5e53f027c0d567cf1f884dbb283224df525644e43afd1145d64c9d88a3584762
build:
  number: 0
  skip: True  # [py<38]
  script: {{ PYTHON }} -m pip install . -vv

requirements:
  host:
    - python
    - pip
    - setuptools
    - wheel
  run:
    - python
    # 2021/7/28: Optional dependencies numpy, scipy, matplotlib, pandas,
    # but they can cause issues when try to build scipy or pythran,
    # see https://github.com/networkx/networkx/commit/5b86d913117ee22d9522755d607b5c6256cd57b9
    #- numpy >=1.19
    #- scipy >=1.8
    #- matplotlib >=3.4
    #- pandas >=1.3
    # Optional lxml, pygraphviz, pydot, gdal packages provide additional functionality

test:
  imports:
    - networkx
    - networkx.algorithms
    - networkx.algorithms.approximation
    - networkx.algorithms.assortativity
    - networkx.algorithms.bipartite
    - networkx.algorithms.centrality
    - networkx.algorithms.coloring
    - networkx.algorithms.community
    - networkx.algorithms.components
    - networkx.algorithms.connectivity
    - networkx.algorithms.flow
    - networkx.algorithms.isomorphism
    - networkx.algorithms.link_analysis
    - networkx.algorithms.minors
    - networkx.algorithms.node_classification
    - networkx.algorithms.operators
    - networkx.algorithms.shortest_paths
    - networkx.algorithms.traversal
    - networkx.algorithms.tree
    - networkx.classes
    - networkx.drawing
    - networkx.generators
    - networkx.linalg
    - networkx.readwrite
    - networkx.readwrite.json_graph
    - networkx.tests
    - networkx.testing
    - networkx.utils
  requires:
    - pip
  commands:
    - pip check
  #downstreams:
  #  - pythran
  #  - scikit-image
  #  - pomegranate

about:
  home: https://networkx.github.io/
  license: BSD-3-Clause
  license_file: LICENSE.txt
  license_family: BSD
  summary: Python package for creating and manipulating complex networks
  description: |
    NetworkX is a Python language software package for the creation,
    manipulation, and study of the structure, dynamics, and functions of complex
    networks.
  doc_url: https://networkx.org/documentation/stable
  dev_url: https://github.com/networkx/networkx
  doc_source_url: https://github.com/networkx/networkx/blob/v1.11/doc/source/index.rst

extra:
  recipe-maintainers:
    - synapticarbors
    - ocefpaf
    - SylvainCorlay
    - FelixMoelder
