Module Expr Str ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias alias alias Import alias Import alias ImportFrom alias ImportFrom alias alias ImportFrom alias ImportFrom alias ImportFrom alias alias alias FunctionDef arguments args NameParam defaults body Expr Str TryExcept body For NameStore Call NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr handlers ExceptHandler type TupleLoad NameLoad NameLoad body Raise Call NameLoad BinOpAdd Str NameLoad decorator_list Expr Call NameLoad Str Import alias ImportFrom alias ImportFrom alias Assign NameStore TupleLoad Num Num Num Assign NameStore Num Assign NameStore Num Assign NameStore Num Assign NameStore TupleLoad Str Str Str Str Str ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults body Assign AttributeStore NameLoad attr NameLoad decorator_list decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return Call AttributeLoad Call AttributeLoad Call NameLoad Call AttributeLoad NameLoad attr attr Str attr Str decorator_list FunctionDef arguments args defaults body Assign NameStore Call NameLoad keyword Str TryFinally body Expr Yield NameLoad finalbody Expr Call NameLoad NameLoad decorator_list NameLoad FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad Assign AttributeStore NameLoad attr ListLoad If NameLoad body Raise Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad Call NameLoad NameLoad Assign NameStore BinOpAdd BinOpAdd ListLoad Str Str Str NameLoad Call NameLoad Call NameLoad NameLoad keyword NameLoad Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad Call NameLoad NameLoad Expr Call NameLoad NameLoad Return Call AttributeLoad BinOpSub Call NameLoad Call NameLoad NameLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str For NameStore Call NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad NameLoad Expr Call NameLoad ListLoad Str Str NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str With Call NameLoad NameLoad Str NameStore body Assign NameStore Call NameLoad While NameLoad body Assign NameStore Call AttributeLoad NameLoad attr BinOpPow Num Num If UnaryOpNot NameLoad body Break Expr Call AttributeLoad NameLoad attr NameLoad Return Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str If CompareIn Call NameLoad NameLoad TupleLoad Num Num body TryExcept body Expr Call NameLoad NameLoad Num Return NameLoad handlers ExceptHandler type NameLoad body Pass Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call NameLoad NameLoad Assign NameStore AttributeLoad NameLoad attr Return SubscriptLoad Call AttributeLoad NameLoad attr Str Index Num decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore AttributeLoad NameLoad attr If NameLoad body Assign NameStore Call NameLoad NameLoad If Call AttributeLoad NameLoad attr NameLoad body Assign TupleStore NameStore NameStore Call NameLoad NameLoad If Call NameLoad NameLoad body Return NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str FunctionDef arguments args NameParam NameParam defaults body For NameStore NameLoad body If Call AttributeLoad NameLoad attr NameLoad body Assign NameStore SubscriptLoad NameLoad Slice UnaryOpUSub Call NameLoad NameLoad Break If Call NameLoad NameLoad body Assign NameStore BinOpAdd BinOpAdd NameLoad Str NameLoad If UnaryOpNot Call AttributeLoad Call AttributeLoad NameLoad attr Str Str attr NameLoad body Expr Call NameLoad NameLoad NameLoad Return SubscriptLoad NameLoad Slice BinOpAdd Call NameLoad NameLoad Num decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign TupleStore NameStore NameStore NameStore Call AttributeLoad NameLoad attr Str Num Assign NameStore Call AttributeLoad NameLoad attr Str Str NameLoad AttributeLoad NameLoad attr If CompareNotEq NameLoad NameLoad body Expr Call NameLoad NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Raise Call NameLoad BinOpMod Str TupleLoad NameLoad NameLoad decorator_list Return Call IfExp Call AttributeLoad NameLoad attr Str NameLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad NameLoad body Expr Str Assign NameStore NameLoad For NameStore NameLoad body If NameLoad body If NameLoad body Expr Yield NameLoad Assign NameStore NameLoad orelse If CompareIn NameLoad ListLoad Str Str body Assign NameStore NameLoad orelse If NameLoad body Expr Yield NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign TupleStore NameStore NameStore Call AttributeLoad Call AttributeLoad NameLoad attr Str AttributeLoad NameLoad attr attr Return TupleLoad NameLoad Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str FunctionDef arguments args NameParam NameParam defaults body Expr Str For NameStore Call NameLoad BinOpSub NameLoad Num Num Num body Assign NameStore Call NameLoad NameLoad NameLoad If UnaryOpNot Call AttributeLoad NameLoad attr Str body Break If Call AttributeLoad NameLoad attr Str body Expr Yield Call AttributeLoad SubscriptLoad Call AttributeLoad NameLoad attr Str Num Index Num attr decorator_list Assign NameStore Dict Assign NameStore ListLoad For NameStore NameLoad body Assign TupleStore NameStore NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad Call NameLoad NameLoad NameLoad If NameLoad body Expr Call AttributeLoad NameLoad attr Assign SubscriptStore NameLoad Index AttributeLoad NameLoad attr NameLoad orelse Expr Call AttributeLoad NameLoad attr NameLoad Return TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str For TupleStore NameStore NameStore Call AttributeLoad NameLoad attr body TryExcept body Assign NameStore SubscriptLoad NameLoad Index NameLoad handlers ExceptHandler type NameLoad body Pass orelse If CompareNotIn NameLoad NameLoad body Expr Yield TupleLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call NameLoad keyword Str keyword Str Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr keyword NameLoad If NameLoad body For NameStore NameLoad body Expr Call NameLoad Str Call NameLoad NameLoad Return NameLoad orelse Expr Call AttributeLoad NameLoad attr Return NameLoad decorator_list ClassDef bases NameLoad body Expr Str Assign NameStore NameLoad Assign NameStore NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call NameLoad Call NameLoad NameLoad keyword NameLoad If UnaryOpNot NameLoad body Expr Call NameLoad Str Expr Call NameLoad Str Return NameLoad Assign NameStore Call NameLoad Call NameLoad GeneratorExp Call NameLoad NameLoad keyword Call NameLoad comprehension NameStore NameLoad Assign TupleStore NameStore NameStore NameStore NameStore TupleLoad Dict Dict ListLoad ListLoad With Call NameLoad NameStore body For NameStore NameLoad body If BoolOpOr UnaryOpNot AttributeLoad NameLoad attr UnaryOpNot AttributeLoad AttributeLoad NameLoad attr attr body Expr Call AttributeLoad NameLoad attr BinOpMod Str AttributeLoad NameLoad attr Continue Expr Call AttributeLoad NameLoad attr If BoolOpAnd AttributeLoad NameLoad attr UnaryOpNot Call NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad orelse Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call NameLoad NameLoad NameLoad NameLoad Assign SubscriptStore NameLoad Index NameLoad Call NameLoad Call NameLoad NameLoad NameLoad Assign SubscriptStore NameLoad Index NameLoad Call NameLoad NameLoad NameLoad Assign TupleStore NameStore NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad Call NameLoad NameLoad NameLoad Assign NameStore Call NameLoad GeneratorExp AttributeLoad NameLoad attr comprehension NameStore NameLoad Assign NameStore ListComp NameLoad comprehension NameStore NameLoad CompareNotIn AttributeLoad NameLoad attr NameLoad If BoolOpOr NameLoad NameLoad NameLoad body Expr Call NameLoad If NameLoad body Expr Call NameLoad Str Expr Call NameLoad Str Expr Call NameLoad Str For TupleStore NameStore NameStore NameStore NameLoad body Assign NameStore SubscriptLoad NameLoad Index NameLoad Assign NameStore BinOpMod Str TupleLoad NameLoad IfExp CompareGt Call NameLoad NameLoad Num Str Str Expr Call NameLoad NameLoad keyword Str Expr Call NameLoad Call AttributeLoad BinOpAdd Str BinOpMult Str BinOpAdd Call NameLoad NameLoad Num attr NameLoad Expr Call NameLoad BinOpMult Str BinOpSub Call NameLoad NameLoad Num Str NameLoad If NameLoad body Expr Call NameLoad If NameLoad body Expr Call NameLoad Str Expr Call NameLoad Str Expr Call NameLoad Str For NameStore NameLoad body Expr Call NameLoad BinOpMod Str SubscriptLoad NameLoad Index AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body Assign NameStore AttributeLoad NameLoad attr If CompareNotIn AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr body Assign NameStore BinOpMod Str TupleLoad NameLoad AttributeLoad NameLoad attr orelse Assign NameStore BinOpMod Str TupleLoad AttributeLoad NameLoad attr SubscriptLoad NameLoad Index AttributeLoad NameLoad attr Expr Call NameLoad BinOpAdd NameLoad Str If NameLoad body Expr Call NameLoad Str Expr Call NameLoad Str Call AttributeLoad Str attr NameLoad If BoolOpOr NameLoad NameLoad NameLoad body Expr Call NameLoad Str Expr Call NameLoad Str Return NameLoad orelse Expr Call NameLoad Str Expr Call NameLoad Str Expr Call NameLoad NameLoad If NameLoad body Expr Call NameLoad Str Expr Call NameLoad Str Expr Call NameLoad Str For NameStore NameLoad body Expr Call NameLoad Str AttributeLoad NameLoad attr Return NameLoad decorator_list FunctionDef arguments args defaults body Expr Str Assign NameStore Dict Str Str NameLoad NameLoad TryExcept body If BoolOpAnd CompareGtE Call NameLoad NameLoad Num CompareIn SubscriptLoad NameLoad Index Num NameLoad body Return Call SubscriptLoad NameLoad Index SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Slice Num orelse Return Call AttributeLoad NameLoad attr handlers ExceptHandler type NameLoad name NameStore body Return AttributeLoad NameLoad attr decorator_list If CompareEq NameLoad Str body Expr Call NameLoad Call NameLoad
N/A N/A peep ("prudently examine every package") verifies that packages conform to a
trusted, locally stored hash and only then installs them::

    peep install -r requirements.txt

This makes your deployments verifiably repeatable without having to maintain a
local PyPI mirror or use a vendor lib. Just update the version numbers and
hashes in requirements.txt, and you're all set.

 __future__ print_function base64 urlsafe_b64encode contextlib contextmanager hashlib sha256 itertools chain linecache getline optparse OptionParser os listdir os.path join basename splitext N/A re N/A shlex shutil rmtree sys argv exit tempfile mkdtemp urlparse urlparse pkg_resources require VersionConflict DistributionNotFound activate N/A N/A specifier N/A N/A N/A Make a compatible version of pip importable. Raise a RuntimeError if we
    couldn't. N/A N/A N/A distro N/A require specifier N/A N/A N/A N/A distro activate N/A N/A N/A N/A VersionConflict DistributionNotFound N/A N/A N/A RuntimeError N/A The installed version of pip is too old; peep requires  specifier N/A N/A N/A activate pip>=0.6.2 N/A pip pip.log logger pip.req parse_requirements N/A __version__ N/A 1 2 0 N/A ITS_FINE_ITS_FINE 0 N/A SOMETHING_WENT_WRONG 1 N/A COMMAND_LINE_ERROR 2 N/A ARCHIVE_EXTENSIONS N/A .tar.bz2 .tar.gz .tgz .tar .zip PipException N/A Exception N/A N/A When I delegated to pip, it exited with an error. __init__ N/A N/A self error_code N/A N/A N/A N/A self error_code error_code N/A N/A encoded_hash N/A N/A sha N/A N/A N/A Return a short, 7-bit-safe representation of a hash.

    If you pass a sha256, this results in the hash algorithm that the Wheel
    format (PEP 427) uses, except here it's intended to be run across the
    downloaded archive before unpacking.

     N/A N/A N/A N/A N/A N/A urlsafe_b64encode N/A N/A sha digest decode ascii rstrip = N/A ephemeral_dir N/A N/A N/A N/A N/A dir N/A mkdtemp prefix peep- N/A N/A N/A N/A dir N/A N/A N/A rmtree dir N/A contextmanager run_pip N/A N/A initial_args N/A N/A N/A Delegate to pip the given args (starting with the subcommand), and raise
    ``PipException`` if something goes wrong. N/A status_code N/A N/A pip main initial_args initial_args N/A N/A logger consumers N/A N/A status_code N/A N/A N/A PipException status_code N/A pip_download N/A N/A req argv temp_path N/A N/A N/A Download a package, and return its filename.

    :arg req: The InstallRequirement which describes the package
    :arg argv: Arguments to be passed along to pip, starting after the
        subcommand
    :arg temp_path: The path to the directory to download to

     N/A line N/A getline N/A requirements_path_and_line req N/A argv N/A N/A N/A install --no-deps --download temp_path N/A list N/A requirement_args argv want_other True N/A N/A shlex split line N/A old_contents N/A set N/A listdir temp_path N/A N/A run_pip argv N/A N/A N/A N/A N/A set N/A listdir temp_path old_contents pop N/A pip_install_archives_from N/A N/A temp_path N/A N/A N/A pip install the archives from the ``temp_path`` dir, omitting
    dependencies. N/A filename N/A listdir temp_path N/A N/A archive_path N/A join temp_path filename N/A N/A run_pip N/A install --no-deps archive_path N/A hash_of_file N/A N/A path N/A N/A N/A Return the hash of a downloaded file. N/A N/A open path rb archive N/A N/A sha N/A sha256 N/A True N/A N/A data N/A N/A archive read N/A 2 20 N/A N/A data N/A N/A N/A N/A N/A sha update data N/A N/A encoded_hash sha N/A is_git_sha N/A N/A text N/A N/A N/A Returns True if this is probably a git sha N/A N/A N/A len text N/A 40 7 N/A N/A N/A N/A N/A int text 16 N/A True N/A N/A N/A ValueError N/A N/A N/A False N/A filename_from_url N/A N/A url N/A N/A N/A parsed N/A urlparse url N/A path N/A parsed path N/A N/A N/A N/A path split / N/A -1 N/A is_always_unsatisfied N/A N/A req N/A N/A N/A Returns whether this requirement is always unsatisfied

    This would happen in cases where we can't determine the version
    from the filename.

     N/A url N/A req url N/A url N/A N/A filename N/A filename_from_url url N/A N/A N/A filename endswith ARCHIVE_EXTENSIONS N/A N/A N/A filename ext N/A splitext filename N/A N/A is_git_sha filename N/A N/A True N/A False N/A version_of_download N/A N/A filename package_name N/A N/A N/A Deduce the version number of a downloaded package from its filename.

    :arg project_name: The ``unsafe_name`` of the requirement

     version_of_archive N/A N/A filename package_name N/A N/A N/A ext ARCHIVE_EXTENSIONS N/A N/A N/A N/A filename endswith ext N/A N/A filename N/A filename N/A N/A N/A len ext N/A N/A N/A is_git_sha filename N/A N/A filename N/A N/A package_name - filename N/A N/A N/A N/A N/A N/A filename replace _ - startswith package_name N/A N/A N/A give_up filename package_name N/A N/A filename N/A N/A N/A len package_name 1 N/A version_of_wheel N/A N/A filename package_name N/A N/A N/A N/A whl_package_name version _rest N/A N/A filename split - 2 N/A our_package_name N/A N/A re sub [^\w\d.]+ _ package_name N/A re UNICODE N/A N/A whl_package_name our_package_name N/A N/A N/A give_up filename whl_package_name N/A version N/A give_up N/A N/A filename package_name N/A N/A N/A N/A RuntimeError N/A The archive '%s' didn't start with the package name '%s', so I couldn't figure out the version number. My bad; improve me. N/A filename package_name N/A N/A N/A N/A N/A N/A filename endswith .whl version_of_wheel version_of_archive filename package_name N/A requirement_args N/A N/A argv want_paths want_other N/A False False N/A N/A Return an iterable of filtered arguments.

    :arg want_paths: If True, the returned iterable includes the paths to any
        requirements files following a ``-r`` or ``--requirement`` option.
    :arg want_other: If True, the returned iterable includes the args that are
        not a requirement-file path or a ``-r`` or ``--requirement`` flag.

     N/A was_r False N/A arg argv N/A N/A was_r N/A N/A want_paths N/A N/A N/A arg N/A was_r False N/A N/A N/A arg N/A -r --requirement N/A N/A was_r True N/A N/A want_other N/A N/A N/A arg N/A requirements_path_and_line N/A N/A req N/A N/A N/A Return the path and line number of the file from which an
    InstallRequirement came. N/A N/A path line N/A N/A N/A N/A re match -r (.*) \(line (\d+)\)$ N/A req comes_from groups N/A N/A path N/A int line N/A hashes_of_requirements N/A N/A requirements N/A N/A N/A Return a map of package names to lists of known-good hashes, given
    multiple requirements files. hashes_above N/A N/A path line_number N/A N/A N/A Yield hashes from contiguous comment lines before line
        ``line_number``. N/A line_number N/A range N/A line_number 1 0 -1 N/A N/A line N/A getline path line_number N/A N/A N/A N/A line startswith # N/A N/A N/A N/A N/A line startswith # sha256:  N/A N/A N/A N/A N/A N/A N/A N/A line split : 1 N/A 1 strip N/A N/A expected_hashes N/A N/A missing_hashes_req N/A N/A req requirements N/A N/A N/A path line_number N/A requirements_path_and_line req N/A hashes N/A list N/A hashes_above path line_number N/A hashes N/A N/A N/A N/A hashes reverse N/A N/A expected_hashes N/A N/A req name hashes N/A N/A N/A N/A missing_hashes_req append req N/A N/A expected_hashes missing_hashes_req N/A hash_mismatches N/A N/A expected_hash_map downloaded_hashes N/A N/A N/A Yield the list of allowed hashes, package name, and download-hash of
    each package whose download-hash didn't match one allowed for it in the
    requirements file.

    If a package is missing from ``download_hashes``, ignore it; that means
    it's already installed and we're not risking anything.

     N/A N/A package_name expected_hashes N/A N/A expected_hash_map items N/A N/A N/A N/A hash_of_download N/A downloaded_hashes N/A package_name N/A N/A N/A KeyError N/A N/A N/A N/A N/A hash_of_download expected_hashes N/A N/A N/A N/A expected_hashes package_name hash_of_download N/A peep_hash N/A N/A argv N/A N/A N/A Return the peep hash of one or more files, returning a shell status code
    or raising a PipException.

    :arg argv: The commandline args, starting after the subcommand

     N/A parser N/A OptionParser usage usage: %prog hash file [file ...] description Print a peep hash line for one or more files: for example, "# sha256: oz42dZy6Gowxw8AelDtO4gRgTW_xPdooH484k7I5EOY". N/A N/A _ paths N/A N/A parser parse_args args argv N/A paths N/A N/A path paths N/A N/A N/A print # sha256: N/A hash_of_file path N/A ITS_FINE_ITS_FINE N/A N/A N/A N/A parser print_usage N/A COMMAND_LINE_ERROR N/A EmptyOptions N/A object N/A N/A Fake optparse options for compatibility with pip<1.2

    pip<1.2 had a bug in parse_requirments() in which the ``options`` kwarg
    was required. We work around that by passing it a mock object.

     N/A default_vcs None N/A skip_requirements_regex None N/A peep_install N/A N/A argv N/A N/A N/A Perform the ``peep install`` subcommand, returning a shell status code
    or raising a PipException.

    :arg argv: The commandline args, starting after the subcommand

     N/A req_paths N/A list N/A requirement_args argv want_paths True N/A N/A req_paths N/A N/A N/A print You have to specify one or more requirements files with the -r option, because N/A N/A print otherwise there's nowhere for peep to look up the hashes. N/A COMMAND_LINE_ERROR N/A requirements N/A list N/A chain N/A N/A parse_requirements path options N/A EmptyOptions N/A path req_paths N/A N/A downloaded_hashes downloaded_versions satisfied_reqs malformed_reqs N/A N/A N/A N/A N/A N/A N/A ephemeral_dir temp_path N/A N/A req requirements N/A N/A N/A N/A N/A req req N/A N/A N/A req req project_name N/A N/A N/A N/A malformed_reqs append N/A Unable to determine package name from URL %s; add #egg= N/A req url N/A N/A N/A N/A req check_if_exists N/A N/A N/A req satisfied_by N/A N/A is_always_unsatisfied req N/A N/A N/A N/A satisfied_reqs append req N/A N/A name N/A N/A req req project_name N/A archive_filename N/A pip_download req argv temp_path N/A N/A downloaded_hashes N/A name N/A hash_of_file N/A join temp_path archive_filename N/A N/A downloaded_versions N/A name N/A version_of_download archive_filename name N/A N/A expected_hashes missing_hashes_reqs N/A hashes_of_requirements requirements N/A mismatches N/A list N/A hash_mismatches expected_hashes downloaded_hashes N/A satisfied_req_names N/A set N/A N/A req name N/A req satisfied_reqs N/A missing_hashes_reqs N/A req N/A req missing_hashes_reqs N/A N/A req name satisfied_req_names N/A N/A mismatches missing_hashes_reqs malformed_reqs N/A N/A N/A print N/A mismatches N/A N/A N/A print THE FOLLOWING PACKAGES DIDN'T MATCH THE HASHES SPECIFIED IN THE REQUIREMENTS N/A N/A print FILE. If you have updated the package versions, update the hashes. If not, N/A N/A print freak out, because someone has tampered with the packages.
 N/A N/A expected_hashes package_name hash_of_download mismatches N/A N/A hash_of_download N/A downloaded_hashes N/A package_name N/A preamble N/A     %s: expected%s N/A package_name N/A N/A N/A len expected_hashes 1  one of N/A N/A print preamble end N/A N/A print N/A N/A N/A N/A N/A N/A len preamble 1 join expected_hashes N/A N/A print N/A N/A N/A len preamble 4 got hash_of_download N/A mismatches N/A N/A N/A print N/A missing_hashes_reqs N/A N/A N/A print The following packages had no hashes specified in the requirements file, which N/A N/A print leaves them open to tampering. Vet these packages to your satisfaction, then N/A N/A print add these "sha256" lines like so:
 N/A req missing_hashes_reqs N/A N/A N/A print N/A # sha256: %s N/A downloaded_hashes N/A N/A req name N/A N/A req url N/A N/A line N/A req url N/A N/A N/A req name N/A filename_from_url N/A req url N/A N/A line N/A %s#egg=%s N/A line N/A req name N/A N/A line N/A %s==%s N/A N/A req name N/A downloaded_versions N/A N/A req name N/A N/A print N/A line N/A malformed_reqs N/A N/A N/A print The following requirements could not be processed: N/A N/A print * N/A N/A 
*  join malformed_reqs N/A N/A mismatches missing_hashes_reqs malformed_reqs N/A N/A N/A print ------------------------------- N/A N/A print Not proceeding to installation. N/A SOMETHING_WENT_WRONG N/A N/A N/A print --------- N/A N/A print All hashes look good, proceeding to installation. N/A N/A pip_install_archives_from temp_path N/A satisfied_reqs N/A N/A N/A print These packages were already installed, so we didn't need to download or build N/A N/A print them again. If you installed them with peep in the first place, you should be N/A N/A print safe. If not, uninstall them, then re-attempt your install with peep. N/A req satisfied_reqs N/A N/A N/A print N/A req req N/A ITS_FINE_ITS_FINE N/A main N/A N/A N/A N/A N/A Be the top-level entrypoint. Return a shell status code. N/A commands N/A hash install peep_hash peep_install N/A N/A N/A N/A N/A N/A len argv 2 N/A N/A argv N/A 1 commands N/A N/A N/A N/A commands N/A N/A argv N/A 1 N/A argv N/A 2 N/A N/A N/A N/A pip main N/A N/A N/A PipException N/A exc N/A N/A N/A exc error_code N/A N/A N/A __name__ __main__ N/A N/A N/A exit N/A main