def pre_option(f): def callback(ctx, param, value): state = ctx.ensure_object(State) state.installstate.pre = value return value return option("--pre", is_flag=True, default=False, help="Allow pre-releases.", callback=callback, type=click_types.BOOL, expose_value=False)(f)
def selective_upgrade_option(f): def callback(ctx, param, value): state = ctx.ensure_object(State) state.installstate.selective_upgrade = value return value return option("--selective-upgrade", is_flag=True, default=False, type=click_types.BOOL, help="Update specified packages.", callback=callback, expose_value=False)(f)
def keep_outdated_option(f): def callback(ctx, param, value): state = ctx.ensure_object(State) state.installstate.keep_outdated = value return value return option("--keep-outdated", is_flag=True, default=False, expose_value=False, help="Keep out-dated dependencies from being updated in Pipfile.lock.", callback=callback, type=click_types.BOOL, show_envvar=True)(f)
def sequential_option(f): def callback(ctx, param, value): state = ctx.ensure_object(State) state.installstate.sequential = value return value return option("--sequential", is_flag=True, default=False, expose_value=False, help="Install dependencies one-at-a-time, instead of concurrently.", callback=callback, type=click_types.BOOL, show_envvar=True)(f)
def deploy_option(f): def callback(ctx, param, value): state = ctx.ensure_object(State) state.installstate.deploy = value return value return option("--deploy", is_flag=True, default=False, type=click_types.BOOL, help="Abort if the Pipfile.lock is out-of-date, or Python version is" " wrong.", callback=callback, expose_value=False)(f)
def ignore_pipfile_option(f): def callback(ctx, param, value): state = ctx.ensure_object(State) state.installstate.ignore_pipfile = value return value return option("--ignore-pipfile", is_flag=True, default=False, expose_value=False, help="Ignore Pipfile when installing, using the Pipfile.lock.", callback=callback, type=click_types.BOOL, show_envvar=True)(f)
def _dev_option(f, help_text): def callback(ctx, param, value): state = ctx.ensure_object(State) state.installstate.dev = value return value return option("--dev", "-d", is_flag=True, default=False, type=click_types.BOOL, help=help_text, callback=callback, expose_value=False, show_envvar=True)(f)
def index_option(f): def callback(ctx, param, value): state = ctx.ensure_object(State) state.index = value return value return option('-i', '--index', expose_value=False, envvar="PIP_INDEX_URL", help='Target PyPI-compatible package index url.', nargs=1, callback=callback)(f)
def clear_option(f): def callback(ctx, param, value): state = ctx.ensure_object(State) state.clear = value return value return option("--clear", is_flag=True, callback=callback, type=click_types.BOOL, help="Clears caches (pipenv, pip, and pip-tools).", expose_value=False, show_envvar=True)(f)
def emit_requirements_flag(f): def callback(ctx, param, value): state = ctx.ensure_object(State) if value: state.lockoptions.emit_requirements = value return value return option("--requirements", "-r", default=False, is_flag=True, expose_value=False, help="Generate output in requirements.txt format.", callback=callback)(f)
def extra_index_option(f): def callback(ctx, param, value): state = ctx.ensure_object(State) state.extra_index_urls.extend(list(value)) return value return option("--extra-index-url", multiple=True, expose_value=False, help="URLs to the extra PyPI compatible indexes to query for package look-ups.", callback=callback, envvar="PIP_EXTRA_INDEX_URL")(f)
def emit_requirements_header_flag(f): def callback(ctx, param, value): state = ctx.ensure_object(State) if value: state.lockoptions.emit_requirements_header = value return value return option("--header/--no-header", default=True, is_flag=True, expose_value=False, help="Add header to generated requirements", callback=callback)(f)
def dev_only_flag(f): def callback(ctx, param, value): state = ctx.ensure_object(State) if value: state.lockoptions.dev_only = value return value return option("--dev-only", default=False, is_flag=True, expose_value=False, help="Emit development dependencies *only* (overrides --dev)", callback=callback)(f)
def system_option(f): def callback(ctx, param, value): state = ctx.ensure_object(State) if value is not None: state.system = value return value return option("--system", is_flag=True, default=False, help="System pip management.", callback=callback, type=click_types.BOOL, expose_value=False, show_envvar=True)(f)
def site_packages_option(f): def callback(ctx, param, value): state = ctx.ensure_object(State) validate_bool_or_none(ctx, param, value) state.site_packages = value return value return option("--site-packages/--no-site-packages", is_flag=True, default=None, help="Enable site-packages for the virtualenv.", callback=callback, expose_value=False, show_envvar=True)(f)
def skip_lock_option(f): def callback(ctx, param, value): state = ctx.ensure_object(State) state.installstate.skip_lock = value return value return option("--skip-lock", is_flag=True, default=False, expose_value=False, help="Skip locking mechanisms and use the Pipfile instead during operation.", envvar="PIPENV_SKIP_LOCK", callback=callback, type=click_types.BOOL, show_envvar=True)(f)
def requirementstxt_option(f): def callback(ctx, param, value): state = ctx.ensure_object(State) if value: state.installstate.requirementstxt = value return value return option("--requirements", "-r", nargs=1, default="", expose_value=False, help="Import a requirements.txt file.", callback=callback, type=click_types.STRING)(f)
def pypi_mirror_option(f): def callback(ctx, param, value): state = ctx.ensure_object(State) value = value or state.project.s.PIPENV_PYPI_MIRROR if value is not None: state.pypi_mirror = validate_pypi_mirror(ctx, param, value) return value return option("--pypi-mirror", nargs=1, callback=callback, help="Specify a PyPI mirror.", expose_value=False)(f)
def code_option(f): def callback(ctx, param, value): state = ctx.ensure_object(State) if value: state.installstate.code = value return value return option("--code", "-c", nargs=1, default="", help="Install packages " "automatically discovered from import statements.", callback=callback, expose_value=False, type=click_types.STRING)(f)
def editable_option(f): def callback(ctx, param, value): state = ctx.ensure_object(State) state.installstate.editables.extend(value) return value return option('-e', '--editable', expose_value=False, multiple=True, callback=callback, type=click_types.STRING, help=( "An editable Python package URL or path, often to a VCS " "repository." ))(f)
def three_option(f): def callback(ctx, param, value): state = ctx.ensure_object(State) if value is not None: state.three = value state.two = not value return value return option("--three/--two", is_flag=True, default=None, help="Use Python 3/2 when creating virtualenv.", callback=callback, expose_value=False)(f)
def python_option(f): def callback(ctx, param, value): state = ctx.ensure_object(State) if value is not None: state.python = validate_python_path(ctx, param, value) return value return option("--python", default="", nargs=1, callback=callback, help="Specify which version of Python virtualenv should use.", expose_value=False, allow_from_autoenv=False, type=click_types.STRING)(f)
def quiet_option(f): def callback(ctx, param, value): state = ctx.ensure_object(State) if value: if state.verbose: raise BadArgumentUsage( "--verbose and --quiet are mutually exclusive! Please choose one!", ctx=ctx ) state.quiet = True setup_verbosity(ctx, param, -1) return option("--quiet", "-q", is_flag=True, expose_value=False, callback=callback, help="Quiet mode.", type=click_types.BOOL)(f)
def index_option(f): def callback(ctx, param, value): state = ctx.ensure_object(State) state.index = value return value return option( "-i", "--index", expose_value=False, envvar="PIP_INDEX_URL", help="Specify target package index by url or index name from Pipfile.", nargs=1, callback=callback, )(f)