Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
_discovery.py34 linesDownload Raw Back to setuptools
1import functools2import operator3 4import packaging.requirements5 6 7# from coherent.build.discovery8def extras_from_dep(dep):9    try:10        markers = packaging.requirements.Requirement(dep).marker._markers11    except AttributeError:12        markers = ()13    return set(14        marker[2].value15        for marker in markers16        if isinstance(marker, tuple) and marker[0].value == 'extra'17    )18 19 20def extras_from_deps(deps):21    """22    >>> extras_from_deps(['requests'])23    set()24    >>> extras_from_deps(['pytest; extra == "test"'])25    {'test'}26    >>> sorted(extras_from_deps([27    ...     'requests',28    ...     'pytest; extra == "test"',29    ...     'pytest-cov; extra == "test"',30    ...     'sphinx; extra=="doc"']))31    ['doc', 'test']32    """33    return functools.reduce(operator.or_, map(extras_from_dep, deps), set())34 
codekingpro/portable-devtools · Team Ai