Sha256: 618302e7a461e6f1ff064ffbf964ee17049b748b67f1642635d466adbc108e57

Contents?: true

Size: 1009 Bytes

Versions: 2

Compression:

Stored size: 1009 Bytes

Contents

#!/usr/bin/env python

import json
import sys

try:
        from pip._internal.req import parse_requirements
except ImportError:
        from pip.req import parse_requirements
try:
        from pip._internal.download import PipSession
except ImportError:
        from pip.download import PipSession

from pip._vendor import pkg_resources
from pip._vendor.six import print_

reqs = []
for req in parse_requirements(sys.argv[1], session=PipSession()):
    if req.req == None or (req.markers != None and not req.markers.evaluate()): continue
    reqs.append(req)

requirements = [pkg_resources.Requirement.parse(str(req.req)) for req in reqs]

transform = lambda dist: {
        'name': dist.project_name,
        'version': dist.version,
        'location': dist.location,
        'dependencies': list(map(lambda dependency: dependency.project_name, dist.requires())),
        }

packages = [transform(dist) for dist
            in pkg_resources.working_set.resolve(requirements)]

print_(json.dumps(packages))

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
license_finder-6.1.0 bin/license_finder_pip.py
license_finder-6.0.0 bin/license_finder_pip.py