def main(): parser = ArgumentParser() parser.add_argument("dist_name") parser.add_argument("--index-url", "-i") parser.add_argument("--for-python", "-p", dest="env", type=python_interpreter) parser.add_argument("--verbose", "-v", default=1, type=int, choices=range(3)) debug = { "sys.argv": sys.argv, "sys.executable": sys.executable, "sys.version": sys.version, "sys.path": sys.path, "pip.__version__": pip.__version__, "pip.__file__": pip.__file__, } args = parser.parse_args() configure_logging(verbosity=args.verbose) log.debug("runtime info", **debug) result = get(dist_name=args.dist_name, index_url=args.index_url, env=args.env) text = json.dumps(result, indent=2, sort_keys=True, separators=(",", ": ")) print(text)
def main(): default_fields = os.environ.get("JOHNNYDEP_FIELDS", "name,summary").split(",") parser = ArgumentParser() parser.add_argument("req", help="The project name or requirement specifier") parser.add_argument("--index-url", "-i") parser.add_argument( "--output-format", "-o", choices=["human", "json", "yaml", "python", "toml", "pinned"], default="human", ) parser.add_argument( "--no-deps", help="Don't recurse the dependency tree", dest="recurse", action="store_false" ) parser.add_argument( "--fields", "-f", nargs="*", default=default_fields, choices=list(FIELDS) + ["ALL"] ) parser.add_argument("--for-python", "-p", dest="env", type=python_interpreter) parser.add_argument("--verbose", "-v", default=1, type=int, choices=range(3)) args = parser.parse_args() if "ALL" in args.fields: args.fields = list(FIELDS) configure_logging(verbosity=args.verbose) dist = JohnnyDist(args.req, index_url=args.index_url, env=args.env) print(dist.serialise(fields=args.fields, format=args.output_format, recurse=args.recurse))
def main(): default_fields = os.environ.get('JOHNNYDEP_FIELDS', 'name,summary').split(',') parser = ArgumentParser() parser.add_argument('req', help='The project name or requirement specifier') parser.add_argument('--verbose', '-v', default=0, action='count') parser.add_argument('--index-url', '-i', default=DEFAULT_INDEX) parser.add_argument( '--output-format', '-o', choices=['json', 'yaml', 'text', 'python', 'toml', 'pinned'], default='text') parser.add_argument('--no-deps', help="Don't recurse the dependency tree", dest='recurse', action='store_false') parser.add_argument('--fields', '-f', nargs='*', default=default_fields, choices=list(FIELDS) + ['ALL']) args = parser.parse_args() if 'ALL' in args.fields: args.fields = list(FIELDS) configure_logging(verbosity=args.verbose) dist = JohnnyDist(args.req, index_url=args.index_url) if args.output_format == 'text': table = gen_table(dist, extra_cols=args.fields) tabulate.PRESERVE_WHITESPACE = True print(tabulate.tabulate(table, headers='keys')) else: print( dist.serialise(fields=args.fields, format=args.output_format, recurse=args.recurse))
from pathlib import Path from operator import attrgetter from collections import namedtuple, defaultdict from distutils.version import StrictVersion from pkg_resources import (RequirementParseError, Requirement as _RequirementBase) from setuptools.command.test import test as _TestCommand from setuptools.command.develop import develop as _DevelopCommand from setuptools.command.install import install as _InstallCommand try: import johnnydep from johnnydep.lib import JohnnyDist from johnnydep.logs import configure_logging configure_logging(0) except ImportError: johnnydep = None VERSION = "1.0a4" _EXTRA = "extra_" _REQ_D = Path("requirements") _CFG_INFO_SECT = "parcyl" _CFG_REQS_SECT = "parcyl:requirements" STATUS_CLASSIFIERS = { # "alpha": "Development Status :: 1 - Planning", # "alpha": "Development Status :: 2 - Pre-Alpha", "alpha": "Development Status :: 3 - Alpha", "beta": "Development Status :: 4 - Beta",