diff --git a/grayskull/strategy/py_build.py b/grayskull/strategy/py_build.py index a80024c0f..a3f67f251 100644 --- a/grayskull/strategy/py_build.py +++ b/grayskull/strategy/py_build.py @@ -8,12 +8,12 @@ from importlib.metadata import PathDistribution from pathlib import Path -import build from conda.exceptions import InvalidMatchSpec from conda.models.match_spec import MatchSpec from packaging.requirements import Requirement from souschef.recipe import Recipe +import build from grayskull.config import Configuration from grayskull.strategy.abstract_strategy import AbstractStrategy from grayskull.strategy.pypi import compose_test_section @@ -36,6 +36,18 @@ def fetch_data(recipe: Recipe, config: Configuration, sections=None): # without invoking pip e.g. setuptools_scm[toml] print("Requires for build:", build_system_requires, requires_for_build) + # Example of finding extra dependencies for a distribution 'scm' (is + # there a dict API?) Subtract "has non-extra marker" dependencies from + # this set. + # + # for e in scm.metadata.get_all('provides-extra'): + # print (e, [x for x in r if x.marker and x.marker.evaluate({'extra':e})]) + # + # docs [, , , , , ] + # rich [] + # test [, , , ] + # toml [] + # build the project's metadata "dist-info" directory metadata_path = Path(project.metadata_path(output_directory=output))