capybara/virtualenv/lib/python2.7/site-packages/pip/utils/outdated.py
def pip_version_check(session):
    """Check for an update for pip.

    Limit the frequency of checks to once per week. State is stored either in
    the active virtualenv or in the user's USER_CACHE_DIR keyed off the prefix
    of the pip script path.
    """
    import pip  # imported here to prevent circular imports
    pypi_version = None

    try:
        state = load_selfcheck_statefile()

        current_time = datetime.datetime.utcnow()
        # Determine if we need to refresh the state
        if "last_check" in state.state and "pypi_version" in state.state:
            last_check = datetime.datetime.strptime(
                state.state["last_check"],
                SELFCHECK_DATE_FMT
            )
            if total_seconds(current_time - last_check) < 7 * 24 * 60 * 60:
                pypi_version = state.state["pypi_version"]

        # Refresh the version if we need to or just see if we need to warn
        if pypi_version is None:
            resp = session.get(
                PyPI.pip_json_url,
                headers={"Accept": "application/json"},
            )
            resp.raise_for_status()
            pypi_version = [
                v for v in sorted(
                    list(resp.json()["releases"]),
                    key=packaging_version.parse,
                )
                if not packaging_version.parse(v).is_prerelease
            ][-1]

            # save that we've performed a check
            state.save(pypi_version, current_time)

        pip_version = packaging_version.parse(pip.__version__)
        remote_version = packaging_version.parse(pypi_version)

        # Determine if our pypi_version is older
        if (pip_version < remote_version and
                pip_version.base_version != remote_version.base_version):
            # Advise "python -m pip" on Windows to avoid issues
            # with overwriting pip.exe.
            if WINDOWS:
                pip_cmd = "python -m pip"
            else:
                pip_cmd = "pip"
            logger.warning(
                "You are using pip version %s, however version %s is "
                "available.\nYou should consider upgrading via the "
                "'%s install --upgrade pip' command." % (pip.__version__,
                                                         pypi_version,
                                                         pip_cmd)
            )

    except Exception:
        logger.debug(
            "There was an error checking the latest version of pip",
            exc_info=True,
        )
def pip_version_check(session):
    """Check for an update for pip.

    Limit the frequency of checks to once per week. State is stored either in
    the active virtualenv or in the user's USER_CACHE_DIR keyed off the prefix
    of the pip script path.
    """
    import pip  # imported here to prevent circular imports
    pypi_version = None

    try:
        state = load_selfcheck_statefile()

        current_time = datetime.datetime.utcnow()
        # Determine if we need to refresh the state
        if "last_check" in state.state and "pypi_version" in state.state:
            last_check = datetime.datetime.strptime(
                state.state["last_check"],
                SELFCHECK_DATE_FMT
            )
            if total_seconds(current_time - last_check) < 7 * 24 * 60 * 60:
                pypi_version = state.state["pypi_version"]

        # Refresh the version if we need to or just see if we need to warn
        if pypi_version is None:
            resp = session.get(
                PyPI.pip_json_url,
                headers={"Accept": "application/json"},
            )
            resp.raise_for_status()
            pypi_version = [
                v for v in sorted(
                    list(resp.json()["releases"]),
                    key=packaging_version.parse,
                )
                if not packaging_version.parse(v).is_prerelease
            ][-1]

            # save that we've performed a check
            state.save(pypi_version, current_time)

        pip_version = packaging_version.parse(pip.__version__)
        remote_version = packaging_version.parse(pypi_version)

        # Determine if our pypi_version is older
        if (pip_version < remote_version and
                pip_version.base_version != remote_version.base_version):
            # Advise "python -m pip" on Windows to avoid issues
            # with overwriting pip.exe.
            if WINDOWS:
                pip_cmd = "python -m pip"
            else:
                pip_cmd = "pip"
            logger.warning(
                "You are using pip version %s, however version %s is "
                "available.\nYou should consider upgrading via the "
                "'%s install --upgrade pip' command." % (pip.__version__,
                                                         pypi_version,
                                                         pip_cmd)
            )

    except Exception:
        logger.debug(
            "There was an error checking the latest version of pip",
            exc_info=True,
        )
def pip_version_check ( session ) : import pip # imported here to prevent circular imports pypi_version = None try : state = load_selfcheck_statefile ( ) current_time = datetime . datetime . utcnow ( ) # Determine if we need to refresh the state if "last_check" in state . state and "pypi_version" in state . state : last_check = datetime . datetime . strptime ( state . state [ "last_check" ] , SELFCHECK_DATE_FMT ) if total_seconds ( current_time - last_check ) < 7 * 24 * 60 * 60 : pypi_version = state . state [ "pypi_version" ] # Refresh the version if we need to or just see if we need to warn if pypi_version is None : resp = session . get ( PyPI . pip_json_url , headers = { "Accept" : "application/json" } , ) resp . raise_for_status ( ) pypi_version = [ v for v in sorted ( list ( resp . json ( ) [ "releases" ] ) , key = packaging_version . parse , ) if not packaging_version . parse ( v ) . is_prerelease ] [ - 1 ] # save that we've performed a check state . save ( pypi_version , current_time ) pip_version = packaging_version . parse ( pip . __version__ ) remote_version = packaging_version . parse ( pypi_version ) # Determine if our pypi_version is older if ( pip_version < remote_version and pip_version . base_version != remote_version . base_version ) : # Advise "python -m pip" on Windows to avoid issues # with overwriting pip.exe. if WINDOWS : pip_cmd = "python -m pip" else : pip_cmd = "pip" logger . warning ( "You are using pip version %s, however version %s is " "available.\nYou should consider upgrading via the " "'%s install --upgrade pip' command." % ( pip . __version__ , pypi_version , pip_cmd ) ) except Exception : logger . debug ( "There was an error checking the latest version of pip" , exc_info = True , )
Check for an update for pip.

    Limit the frequency of checks to once per week. State is stored either in
    the active virtualenv or in the user's USER_CACHE_DIR keyed off the prefix
    of the pip script path.
Check for an update for pip .