MisterAI's picture
download
raw
836 Bytes
import functools
import operator
import packaging.requirements
# from coherent.build.discovery
def extras_from_dep(dep):
try:
markers = packaging.requirements.Requirement(dep).marker._markers
except AttributeError:
markers = ()
return set(
marker[2].value
for marker in markers
if isinstance(marker, tuple) and marker[0].value == 'extra'
)
def extras_from_deps(deps):
"""
>>> extras_from_deps(['requests'])
set()
>>> extras_from_deps(['pytest; extra == "test"'])
{'test'}
>>> sorted(extras_from_deps([
... 'requests',
... 'pytest; extra == "test"',
... 'pytest-cov; extra == "test"',
... 'sphinx; extra=="doc"']))
['doc', 'test']
"""
return functools.reduce(operator.or_, map(extras_from_dep, deps), set())

Xet Storage Details

Size:
836 Bytes
·
Xet hash:
e6e695fc7a1b2096b296327eceefca7dc83e685e0adae01ec3e3f93223a841d6

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.