Browse Source

moses.rivera: Adding README.txt and LICENSE.txt.

master
moses.rivera 1 year ago
parent
commit
b689be354b
100 changed files with 19336 additions and 0 deletions
  1. 7
    0
      LICENSE.txt
  2. 6
    0
      README.txt
  3. 76
    0
      venv/bin/activate
  4. 37
    0
      venv/bin/activate.csh
  5. 75
    0
      venv/bin/activate.fish
  6. 12
    0
      venv/bin/easy_install
  7. 12
    0
      venv/bin/easy_install-3.6
  8. 12
    0
      venv/bin/pip
  9. 12
    0
      venv/bin/pip3
  10. 12
    0
      venv/bin/pip3.6
  11. BIN
      venv/bin/python
  12. BIN
      venv/bin/python3
  13. BIN
      venv/bin/python3.6
  14. 2
    0
      venv/lib/python3.6/site-packages/easy-install.pth
  15. 73
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/PKG-INFO
  16. 391
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/SOURCES.txt
  17. 1
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/dependency_links.txt
  18. 5
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/entry_points.txt
  19. 1
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/not-zip-safe
  20. 1
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/top_level.txt
  21. 1
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/__init__.py
  22. 19
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/__main__.py
  23. 78
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__init__.py
  24. 215
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/build_env.py
  25. 224
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cache.py
  26. 4
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__init__.py
  27. 152
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/autocompletion.py
  28. 341
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/base_command.py
  29. 809
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/cmdoptions.py
  30. 104
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/main_parser.py
  31. 261
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/parser.py
  32. 8
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/status_codes.py
  33. 79
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/__init__.py
  34. 41
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/check.py
  35. 94
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/completion.py
  36. 227
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/configuration.py
  37. 176
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/download.py
  38. 96
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/freeze.py
  39. 57
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/hash.py
  40. 37
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/help.py
  41. 566
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/install.py
  42. 301
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/list.py
  43. 135
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/search.py
  44. 168
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/show.py
  45. 78
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/uninstall.py
  46. 186
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/commands/wheel.py
  47. 387
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/configuration.py
  48. 971
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/download.py
  49. 274
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/exceptions.py
  50. 990
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/index.py
  51. 211
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/locations.py
  52. 2
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/__init__.py
  53. 31
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/candidate.py
  54. 73
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/format_control.py
  55. 31
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/index.py
  56. 163
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/models/link.py
  57. 0
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/__init__.py
  58. 155
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/check.py
  59. 247
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/freeze.py
  60. 413
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/operations/prepare.py
  61. 381
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/pep425tags.py
  62. 171
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/pyproject.py
  63. 77
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/__init__.py
  64. 339
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/constructors.py
  65. 382
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_file.py
  66. 1021
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_install.py
  67. 197
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_set.py
  68. 88
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_tracker.py
  69. 596
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/req/req_uninstall.py
  70. 393
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/resolve.py
  71. 0
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/__init__.py
  72. 270
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/appdirs.py
  73. 264
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/compat.py
  74. 90
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/deprecation.py
  75. 39
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/encoding.py
  76. 30
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/filesystem.py
  77. 93
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/glibc.py
  78. 115
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/hashes.py
  79. 318
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/logging.py
  80. 1040
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/misc.py
  81. 40
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/models.py
  82. 164
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/outdated.py
  83. 85
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/packaging.py
  84. 8
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/setuptools_build.py
  85. 155
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/temp_dir.py
  86. 29
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/typing.py
  87. 441
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/utils/ui.py
  88. 534
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/__init__.py
  89. 114
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/bazaar.py
  90. 369
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/git.py
  91. 103
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/mercurial.py
  92. 200
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/vcs/subversion.py
  93. 1095
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/wheel.py
  94. 111
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/__init__.py
  95. 604
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/appdirs.py
  96. 11
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/__init__.py
  97. 57
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/_cmd.py
  98. 133
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/adapter.py
  99. 39
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/cache.py
  100. 0
    0
      venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_vendor/cachecontrol/caches/__init__.py

+ 7
- 0
LICENSE.txt View File

@@ -0,0 +1,7 @@
1
+Copyright (c) 2019 xtrose Media Studio under MIT license
2
+
3
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
+
5
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6
+
7
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+ 6
- 0
README.txt View File

@@ -0,0 +1,6 @@
1
+Licensed under MIT license:
2
+@copyright       (C) xtrose Media Studio 2019
3
+@author          Moses Rivera
4
+                 Im Wiesengrund 24
5
+                 73540 Heubach
6
+@mail            media.studio@xtrose.de

+ 76
- 0
venv/bin/activate View File

@@ -0,0 +1,76 @@
1
+# This file must be used with "source bin/activate" *from bash*
2
+# you cannot run it directly
3
+
4
+deactivate () {
5
+    # reset old environment variables
6
+    if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
7
+        PATH="${_OLD_VIRTUAL_PATH:-}"
8
+        export PATH
9
+        unset _OLD_VIRTUAL_PATH
10
+    fi
11
+    if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then
12
+        PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}"
13
+        export PYTHONHOME
14
+        unset _OLD_VIRTUAL_PYTHONHOME
15
+    fi
16
+
17
+    # This should detect bash and zsh, which have a hash command that must
18
+    # be called to get it to forget past commands.  Without forgetting
19
+    # past commands the $PATH changes we made may not be respected
20
+    if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
21
+        hash -r
22
+    fi
23
+
24
+    if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then
25
+        PS1="${_OLD_VIRTUAL_PS1:-}"
26
+        export PS1
27
+        unset _OLD_VIRTUAL_PS1
28
+    fi
29
+
30
+    unset VIRTUAL_ENV
31
+    if [ ! "$1" = "nondestructive" ] ; then
32
+    # Self destruct!
33
+        unset -f deactivate
34
+    fi
35
+}
36
+
37
+# unset irrelevant variables
38
+deactivate nondestructive
39
+
40
+VIRTUAL_ENV="/home/moses/Projekte/python/python.getloop/venv"
41
+export VIRTUAL_ENV
42
+
43
+_OLD_VIRTUAL_PATH="$PATH"
44
+PATH="$VIRTUAL_ENV/bin:$PATH"
45
+export PATH
46
+
47
+# unset PYTHONHOME if set
48
+# this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
49
+# could use `if (set -u; : $PYTHONHOME) ;` in bash
50
+if [ -n "${PYTHONHOME:-}" ] ; then
51
+    _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}"
52
+    unset PYTHONHOME
53
+fi
54
+
55
+if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
56
+    _OLD_VIRTUAL_PS1="${PS1:-}"
57
+    if [ "x(venv) " != x ] ; then
58
+	PS1="(venv) ${PS1:-}"
59
+    else
60
+    if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
61
+        # special case for Aspen magic directories
62
+        # see http://www.zetadev.com/software/aspen/
63
+        PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1"
64
+    else
65
+        PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
66
+    fi
67
+    fi
68
+    export PS1
69
+fi
70
+
71
+# This should detect bash and zsh, which have a hash command that must
72
+# be called to get it to forget past commands.  Without forgetting
73
+# past commands the $PATH changes we made may not be respected
74
+if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
75
+    hash -r
76
+fi

+ 37
- 0
venv/bin/activate.csh View File

@@ -0,0 +1,37 @@
1
+# This file must be used with "source bin/activate.csh" *from csh*.
2
+# You cannot run it directly.
3
+# Created by Davide Di Blasi <davidedb@gmail.com>.
4
+# Ported to Python 3.3 venv by Andrew Svetlov <andrew.svetlov@gmail.com>
5
+
6
+alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate'
7
+
8
+# Unset irrelevant variables.
9
+deactivate nondestructive
10
+
11
+setenv VIRTUAL_ENV "/home/moses/Projekte/python/python.getloop/venv"
12
+
13
+set _OLD_VIRTUAL_PATH="$PATH"
14
+setenv PATH "$VIRTUAL_ENV/bin:$PATH"
15
+
16
+
17
+set _OLD_VIRTUAL_PROMPT="$prompt"
18
+
19
+if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then
20
+    if ("venv" != "") then
21
+        set env_name = "venv"
22
+    else
23
+        if (`basename "VIRTUAL_ENV"` == "__") then
24
+            # special case for Aspen magic directories
25
+            # see http://www.zetadev.com/software/aspen/
26
+            set env_name = `basename \`dirname "$VIRTUAL_ENV"\``
27
+        else
28
+            set env_name = `basename "$VIRTUAL_ENV"`
29
+        endif
30
+    endif
31
+    set prompt = "[$env_name] $prompt"
32
+    unset env_name
33
+endif
34
+
35
+alias pydoc python -m pydoc
36
+
37
+rehash

+ 75
- 0
venv/bin/activate.fish View File

@@ -0,0 +1,75 @@
1
+# This file must be used with ". bin/activate.fish" *from fish* (http://fishshell.org)
2
+# you cannot run it directly
3
+
4
+function deactivate  -d "Exit virtualenv and return to normal shell environment"
5
+    # reset old environment variables
6
+    if test -n "$_OLD_VIRTUAL_PATH"
7
+        set -gx PATH $_OLD_VIRTUAL_PATH
8
+        set -e _OLD_VIRTUAL_PATH
9
+    end
10
+    if test -n "$_OLD_VIRTUAL_PYTHONHOME"
11
+        set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME
12
+        set -e _OLD_VIRTUAL_PYTHONHOME
13
+    end
14
+
15
+    if test -n "$_OLD_FISH_PROMPT_OVERRIDE"
16
+        functions -e fish_prompt
17
+        set -e _OLD_FISH_PROMPT_OVERRIDE
18
+        functions -c _old_fish_prompt fish_prompt
19
+        functions -e _old_fish_prompt
20
+    end
21
+
22
+    set -e VIRTUAL_ENV
23
+    if test "$argv[1]" != "nondestructive"
24
+        # Self destruct!
25
+        functions -e deactivate
26
+    end
27
+end
28
+
29
+# unset irrelevant variables
30
+deactivate nondestructive
31
+
32
+set -gx VIRTUAL_ENV "/home/moses/Projekte/python/python.getloop/venv"
33
+
34
+set -gx _OLD_VIRTUAL_PATH $PATH
35
+set -gx PATH "$VIRTUAL_ENV/bin" $PATH
36
+
37
+# unset PYTHONHOME if set
38
+if set -q PYTHONHOME
39
+    set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME
40
+    set -e PYTHONHOME
41
+end
42
+
43
+if test -z "$VIRTUAL_ENV_DISABLE_PROMPT"
44
+    # fish uses a function instead of an env var to generate the prompt.
45
+
46
+    # save the current fish_prompt function as the function _old_fish_prompt
47
+    functions -c fish_prompt _old_fish_prompt
48
+
49
+    # with the original prompt function renamed, we can override with our own.
50
+    function fish_prompt
51
+        # Save the return status of the last command
52
+        set -l old_status $status
53
+
54
+        # Prompt override?
55
+        if test -n "(venv) "            
56
+            printf "%s%s" "(venv) " (set_color normal)
57
+        else
58
+            # ...Otherwise, prepend env
59
+            set -l _checkbase (basename "$VIRTUAL_ENV")
60
+            if test $_checkbase = "__"
61
+                # special case for Aspen magic directories
62
+                # see http://www.zetadev.com/software/aspen/
63
+                printf "%s[%s]%s " (set_color -b blue white) (basename (dirname "$VIRTUAL_ENV")) (set_color normal)
64
+            else
65
+                printf "%s(%s)%s" (set_color -b blue white) (basename "$VIRTUAL_ENV") (set_color normal)
66
+            end
67
+        end
68
+
69
+        # Restore the return status of the previous command.
70
+        echo "exit $old_status" | .
71
+        _old_fish_prompt
72
+    end
73
+
74
+    set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV"
75
+end

+ 12
- 0
venv/bin/easy_install View File

@@ -0,0 +1,12 @@
1
+#!/home/moses/Projekte/python/python.getloop/venv/bin/python
2
+# EASY-INSTALL-ENTRY-SCRIPT: 'setuptools==40.8.0','console_scripts','easy_install'
3
+__requires__ = 'setuptools==40.8.0'
4
+import re
5
+import sys
6
+from pkg_resources import load_entry_point
7
+
8
+if __name__ == '__main__':
9
+    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
10
+    sys.exit(
11
+        load_entry_point('setuptools==40.8.0', 'console_scripts', 'easy_install')()
12
+    )

+ 12
- 0
venv/bin/easy_install-3.6 View File

@@ -0,0 +1,12 @@
1
+#!/home/moses/Projekte/python/python.getloop/venv/bin/python
2
+# EASY-INSTALL-ENTRY-SCRIPT: 'setuptools==40.8.0','console_scripts','easy_install-3.6'
3
+__requires__ = 'setuptools==40.8.0'
4
+import re
5
+import sys
6
+from pkg_resources import load_entry_point
7
+
8
+if __name__ == '__main__':
9
+    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
10
+    sys.exit(
11
+        load_entry_point('setuptools==40.8.0', 'console_scripts', 'easy_install-3.6')()
12
+    )

+ 12
- 0
venv/bin/pip View File

@@ -0,0 +1,12 @@
1
+#!/home/moses/Projekte/python/python.getloop/venv/bin/python
2
+# EASY-INSTALL-ENTRY-SCRIPT: 'pip==19.0.3','console_scripts','pip'
3
+__requires__ = 'pip==19.0.3'
4
+import re
5
+import sys
6
+from pkg_resources import load_entry_point
7
+
8
+if __name__ == '__main__':
9
+    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
10
+    sys.exit(
11
+        load_entry_point('pip==19.0.3', 'console_scripts', 'pip')()
12
+    )

+ 12
- 0
venv/bin/pip3 View File

@@ -0,0 +1,12 @@
1
+#!/home/moses/Projekte/python/python.getloop/venv/bin/python
2
+# EASY-INSTALL-ENTRY-SCRIPT: 'pip==19.0.3','console_scripts','pip3'
3
+__requires__ = 'pip==19.0.3'
4
+import re
5
+import sys
6
+from pkg_resources import load_entry_point
7
+
8
+if __name__ == '__main__':
9
+    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
10
+    sys.exit(
11
+        load_entry_point('pip==19.0.3', 'console_scripts', 'pip3')()
12
+    )

+ 12
- 0
venv/bin/pip3.6 View File

@@ -0,0 +1,12 @@
1
+#!/home/moses/Projekte/python/python.getloop/venv/bin/python
2
+# EASY-INSTALL-ENTRY-SCRIPT: 'pip==19.0.3','console_scripts','pip3.6'
3
+__requires__ = 'pip==19.0.3'
4
+import re
5
+import sys
6
+from pkg_resources import load_entry_point
7
+
8
+if __name__ == '__main__':
9
+    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
10
+    sys.exit(
11
+        load_entry_point('pip==19.0.3', 'console_scripts', 'pip3.6')()
12
+    )

BIN
venv/bin/python View File


BIN
venv/bin/python3 View File


BIN
venv/bin/python3.6 View File


+ 2
- 0
venv/lib/python3.6/site-packages/easy-install.pth View File

@@ -0,0 +1,2 @@
1
+./setuptools-40.8.0-py3.6.egg
2
+./pip-19.0.3-py3.6.egg

+ 73
- 0
venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/PKG-INFO View File

@@ -0,0 +1,73 @@
1
+Metadata-Version: 1.2
2
+Name: pip
3
+Version: 19.0.3
4
+Summary: The PyPA recommended tool for installing Python packages.
5
+Home-page: https://pip.pypa.io/
6
+Author: The pip developers
7
+Author-email: pypa-dev@groups.google.com
8
+License: MIT
9
+Description: pip - The Python Package Installer
10
+        ==================================
11
+        
12
+        .. image:: https://img.shields.io/pypi/v/pip.svg
13
+           :target: https://pypi.org/project/pip/
14
+        
15
+        .. image:: https://readthedocs.org/projects/pip/badge/?version=latest
16
+           :target: https://pip.pypa.io/en/latest
17
+        
18
+        pip is the `package installer`_ for Python. You can use pip to install packages from the `Python Package Index`_ and other indexes.
19
+        
20
+        Please take a look at our documentation for how to install and use pip:
21
+        
22
+        * `Installation`_
23
+        * `Usage`_
24
+        * `Release notes`_
25
+        
26
+        If you find bugs, need help, or want to talk to the developers please use our mailing lists or chat rooms:
27
+        
28
+        * `Issue tracking`_
29
+        * `Discourse channel`_
30
+        * `User IRC`_
31
+        
32
+        If you want to get involved head over to GitHub to get the source code and feel free to jump on the developer mailing lists and chat rooms:
33
+        
34
+        * `GitHub page`_
35
+        * `Dev mailing list`_
36
+        * `Dev IRC`_
37
+        
38
+        Code of Conduct
39
+        ---------------
40
+        
41
+        Everyone interacting in the pip project's codebases, issue trackers, chat
42
+        rooms, and mailing lists is expected to follow the `PyPA Code of Conduct`_.
43
+        
44
+        .. _package installer: https://packaging.python.org/en/latest/current/
45
+        .. _Python Package Index: https://pypi.org
46
+        .. _Installation: https://pip.pypa.io/en/stable/installing.html
47
+        .. _Usage: https://pip.pypa.io/en/stable/
48
+        .. _Release notes: https://pip.pypa.io/en/stable/news.html
49
+        .. _GitHub page: https://github.com/pypa/pip
50
+        .. _Issue tracking: https://github.com/pypa/pip/issues
51
+        .. _Discourse channel: https://discuss.python.org/c/packaging
52
+        .. _Dev mailing list: https://groups.google.com/forum/#!forum/pypa-dev
53
+        .. _User IRC: https://webchat.freenode.net/?channels=%23pypa
54
+        .. _Dev IRC: https://webchat.freenode.net/?channels=%23pypa-dev
55
+        .. _PyPA Code of Conduct: https://www.pypa.io/en/latest/code-of-conduct/
56
+        
57
+Keywords: distutils easy_install egg setuptools wheel virtualenv
58
+Platform: UNKNOWN
59
+Classifier: Development Status :: 5 - Production/Stable
60
+Classifier: Intended Audience :: Developers
61
+Classifier: License :: OSI Approved :: MIT License
62
+Classifier: Topic :: Software Development :: Build Tools
63
+Classifier: Programming Language :: Python
64
+Classifier: Programming Language :: Python :: 2
65
+Classifier: Programming Language :: Python :: 2.7
66
+Classifier: Programming Language :: Python :: 3
67
+Classifier: Programming Language :: Python :: 3.4
68
+Classifier: Programming Language :: Python :: 3.5
69
+Classifier: Programming Language :: Python :: 3.6
70
+Classifier: Programming Language :: Python :: 3.7
71
+Classifier: Programming Language :: Python :: Implementation :: CPython
72
+Classifier: Programming Language :: Python :: Implementation :: PyPy
73
+Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*

+ 391
- 0
venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/SOURCES.txt View File

@@ -0,0 +1,391 @@
1
+AUTHORS.txt
2
+LICENSE.txt
3
+MANIFEST.in
4
+NEWS.rst
5
+README.rst
6
+pyproject.toml
7
+setup.cfg
8
+setup.py
9
+docs/pip_sphinxext.py
10
+docs/html/conf.py
11
+docs/html/cookbook.rst
12
+docs/html/index.rst
13
+docs/html/installing.rst
14
+docs/html/logic.rst
15
+docs/html/news.rst
16
+docs/html/quickstart.rst
17
+docs/html/usage.rst
18
+docs/html/user_guide.rst
19
+docs/html/development/configuration.rst
20
+docs/html/development/contributing.rst
21
+docs/html/development/getting-started.rst
22
+docs/html/development/index.rst
23
+docs/html/development/release-process.rst
24
+docs/html/development/vendoring-policy.rst
25
+docs/html/reference/index.rst
26
+docs/html/reference/pip.rst
27
+docs/html/reference/pip_check.rst
28
+docs/html/reference/pip_config.rst
29
+docs/html/reference/pip_download.rst
30
+docs/html/reference/pip_freeze.rst
31
+docs/html/reference/pip_hash.rst
32
+docs/html/reference/pip_install.rst
33
+docs/html/reference/pip_list.rst
34
+docs/html/reference/pip_search.rst
35
+docs/html/reference/pip_show.rst
36
+docs/html/reference/pip_uninstall.rst
37
+docs/html/reference/pip_wheel.rst
38
+docs/man/index.rst
39
+docs/man/commands/check.rst
40
+docs/man/commands/config.rst
41
+docs/man/commands/download.rst
42
+docs/man/commands/freeze.rst
43
+docs/man/commands/hash.rst
44
+docs/man/commands/help.rst
45
+docs/man/commands/install.rst
46
+docs/man/commands/list.rst
47
+docs/man/commands/search.rst
48
+docs/man/commands/show.rst
49
+docs/man/commands/uninstall.rst
50
+docs/man/commands/wheel.rst
51
+src/pip/__init__.py
52
+src/pip/__main__.py
53
+src/pip.egg-info/PKG-INFO
54
+src/pip.egg-info/SOURCES.txt
55
+src/pip.egg-info/dependency_links.txt
56
+src/pip.egg-info/entry_points.txt
57
+src/pip.egg-info/not-zip-safe
58
+src/pip.egg-info/top_level.txt
59
+src/pip/_internal/__init__.py
60
+src/pip/_internal/build_env.py
61
+src/pip/_internal/cache.py
62
+src/pip/_internal/configuration.py
63
+src/pip/_internal/download.py
64
+src/pip/_internal/exceptions.py
65
+src/pip/_internal/index.py
66
+src/pip/_internal/locations.py
67
+src/pip/_internal/pep425tags.py
68
+src/pip/_internal/pyproject.py
69
+src/pip/_internal/resolve.py
70
+src/pip/_internal/wheel.py
71
+src/pip/_internal/cli/__init__.py
72
+src/pip/_internal/cli/autocompletion.py
73
+src/pip/_internal/cli/base_command.py
74
+src/pip/_internal/cli/cmdoptions.py
75
+src/pip/_internal/cli/main_parser.py
76
+src/pip/_internal/cli/parser.py
77
+src/pip/_internal/cli/status_codes.py
78
+src/pip/_internal/commands/__init__.py
79
+src/pip/_internal/commands/check.py
80
+src/pip/_internal/commands/completion.py
81
+src/pip/_internal/commands/configuration.py
82
+src/pip/_internal/commands/download.py
83
+src/pip/_internal/commands/freeze.py
84
+src/pip/_internal/commands/hash.py
85
+src/pip/_internal/commands/help.py
86
+src/pip/_internal/commands/install.py
87
+src/pip/_internal/commands/list.py
88
+src/pip/_internal/commands/search.py
89
+src/pip/_internal/commands/show.py
90
+src/pip/_internal/commands/uninstall.py
91
+src/pip/_internal/commands/wheel.py
92
+src/pip/_internal/models/__init__.py
93
+src/pip/_internal/models/candidate.py
94
+src/pip/_internal/models/format_control.py
95
+src/pip/_internal/models/index.py
96
+src/pip/_internal/models/link.py
97
+src/pip/_internal/operations/__init__.py
98
+src/pip/_internal/operations/check.py
99
+src/pip/_internal/operations/freeze.py
100
+src/pip/_internal/operations/prepare.py
101
+src/pip/_internal/req/__init__.py
102
+src/pip/_internal/req/constructors.py
103
+src/pip/_internal/req/req_file.py
104
+src/pip/_internal/req/req_install.py
105
+src/pip/_internal/req/req_set.py
106
+src/pip/_internal/req/req_tracker.py
107
+src/pip/_internal/req/req_uninstall.py
108
+src/pip/_internal/utils/__init__.py
109
+src/pip/_internal/utils/appdirs.py
110
+src/pip/_internal/utils/compat.py
111
+src/pip/_internal/utils/deprecation.py
112
+src/pip/_internal/utils/encoding.py
113
+src/pip/_internal/utils/filesystem.py
114
+src/pip/_internal/utils/glibc.py
115
+src/pip/_internal/utils/hashes.py
116
+src/pip/_internal/utils/logging.py
117
+src/pip/_internal/utils/misc.py
118
+src/pip/_internal/utils/models.py
119
+src/pip/_internal/utils/outdated.py
120
+src/pip/_internal/utils/packaging.py
121
+src/pip/_internal/utils/setuptools_build.py
122
+src/pip/_internal/utils/temp_dir.py
123
+src/pip/_internal/utils/typing.py
124
+src/pip/_internal/utils/ui.py
125
+src/pip/_internal/vcs/__init__.py
126
+src/pip/_internal/vcs/bazaar.py
127
+src/pip/_internal/vcs/git.py
128
+src/pip/_internal/vcs/mercurial.py
129
+src/pip/_internal/vcs/subversion.py
130
+src/pip/_vendor/README.rst
131
+src/pip/_vendor/__init__.py
132
+src/pip/_vendor/appdirs.LICENSE.txt
133
+src/pip/_vendor/appdirs.py
134
+src/pip/_vendor/distro.LICENSE
135
+src/pip/_vendor/distro.py
136
+src/pip/_vendor/ipaddress.LICENSE
137
+src/pip/_vendor/ipaddress.py
138
+src/pip/_vendor/pyparsing.LICENSE
139
+src/pip/_vendor/pyparsing.py
140
+src/pip/_vendor/retrying.LICENSE
141
+src/pip/_vendor/retrying.py
142
+src/pip/_vendor/six.LICENSE
143
+src/pip/_vendor/six.py
144
+src/pip/_vendor/vendor.txt
145
+src/pip/_vendor/cachecontrol/LICENSE.txt
146
+src/pip/_vendor/cachecontrol/__init__.py
147
+src/pip/_vendor/cachecontrol/_cmd.py
148
+src/pip/_vendor/cachecontrol/adapter.py
149
+src/pip/_vendor/cachecontrol/cache.py
150
+src/pip/_vendor/cachecontrol/compat.py
151
+src/pip/_vendor/cachecontrol/controller.py
152
+src/pip/_vendor/cachecontrol/filewrapper.py
153
+src/pip/_vendor/cachecontrol/heuristics.py
154
+src/pip/_vendor/cachecontrol/serialize.py
155
+src/pip/_vendor/cachecontrol/wrapper.py
156
+src/pip/_vendor/cachecontrol/caches/__init__.py
157
+src/pip/_vendor/cachecontrol/caches/file_cache.py
158
+src/pip/_vendor/cachecontrol/caches/redis_cache.py
159
+src/pip/_vendor/certifi/LICENSE
160
+src/pip/_vendor/certifi/__init__.py
161
+src/pip/_vendor/certifi/__main__.py
162
+src/pip/_vendor/certifi/cacert.pem
163
+src/pip/_vendor/certifi/core.py
164
+src/pip/_vendor/chardet/LICENSE
165
+src/pip/_vendor/chardet/__init__.py
166
+src/pip/_vendor/chardet/big5freq.py
167
+src/pip/_vendor/chardet/big5prober.py
168
+src/pip/_vendor/chardet/chardistribution.py
169
+src/pip/_vendor/chardet/charsetgroupprober.py
170
+src/pip/_vendor/chardet/charsetprober.py
171
+src/pip/_vendor/chardet/codingstatemachine.py
172
+src/pip/_vendor/chardet/compat.py
173
+src/pip/_vendor/chardet/cp949prober.py
174
+src/pip/_vendor/chardet/enums.py
175
+src/pip/_vendor/chardet/escprober.py
176
+src/pip/_vendor/chardet/escsm.py
177
+src/pip/_vendor/chardet/eucjpprober.py
178
+src/pip/_vendor/chardet/euckrfreq.py
179
+src/pip/_vendor/chardet/euckrprober.py
180
+src/pip/_vendor/chardet/euctwfreq.py
181
+src/pip/_vendor/chardet/euctwprober.py
182
+src/pip/_vendor/chardet/gb2312freq.py
183
+src/pip/_vendor/chardet/gb2312prober.py
184
+src/pip/_vendor/chardet/hebrewprober.py
185
+src/pip/_vendor/chardet/jisfreq.py
186
+src/pip/_vendor/chardet/jpcntx.py
187
+src/pip/_vendor/chardet/langbulgarianmodel.py
188
+src/pip/_vendor/chardet/langcyrillicmodel.py
189
+src/pip/_vendor/chardet/langgreekmodel.py
190
+src/pip/_vendor/chardet/langhebrewmodel.py
191
+src/pip/_vendor/chardet/langhungarianmodel.py
192
+src/pip/_vendor/chardet/langthaimodel.py
193
+src/pip/_vendor/chardet/langturkishmodel.py
194
+src/pip/_vendor/chardet/latin1prober.py
195
+src/pip/_vendor/chardet/mbcharsetprober.py
196
+src/pip/_vendor/chardet/mbcsgroupprober.py
197
+src/pip/_vendor/chardet/mbcssm.py
198
+src/pip/_vendor/chardet/sbcharsetprober.py
199
+src/pip/_vendor/chardet/sbcsgroupprober.py
200
+src/pip/_vendor/chardet/sjisprober.py
201
+src/pip/_vendor/chardet/universaldetector.py
202
+src/pip/_vendor/chardet/utf8prober.py
203
+src/pip/_vendor/chardet/version.py
204
+src/pip/_vendor/chardet/cli/__init__.py
205
+src/pip/_vendor/chardet/cli/chardetect.py
206
+src/pip/_vendor/colorama/LICENSE.txt
207
+src/pip/_vendor/colorama/__init__.py
208
+src/pip/_vendor/colorama/ansi.py
209
+src/pip/_vendor/colorama/ansitowin32.py
210
+src/pip/_vendor/colorama/initialise.py
211
+src/pip/_vendor/colorama/win32.py
212
+src/pip/_vendor/colorama/winterm.py
213
+src/pip/_vendor/distlib/LICENSE.txt
214
+src/pip/_vendor/distlib/__init__.py
215
+src/pip/_vendor/distlib/compat.py
216
+src/pip/_vendor/distlib/database.py
217
+src/pip/_vendor/distlib/index.py
218
+src/pip/_vendor/distlib/locators.py
219
+src/pip/_vendor/distlib/manifest.py
220
+src/pip/_vendor/distlib/markers.py
221
+src/pip/_vendor/distlib/metadata.py
222
+src/pip/_vendor/distlib/resources.py
223
+src/pip/_vendor/distlib/scripts.py
224
+src/pip/_vendor/distlib/t32.exe
225
+src/pip/_vendor/distlib/t64.exe
226
+src/pip/_vendor/distlib/util.py
227
+src/pip/_vendor/distlib/version.py
228
+src/pip/_vendor/distlib/w32.exe
229
+src/pip/_vendor/distlib/w64.exe
230
+src/pip/_vendor/distlib/wheel.py
231
+src/pip/_vendor/distlib/_backport/__init__.py
232
+src/pip/_vendor/distlib/_backport/misc.py
233
+src/pip/_vendor/distlib/_backport/shutil.py
234
+src/pip/_vendor/distlib/_backport/sysconfig.cfg
235
+src/pip/_vendor/distlib/_backport/sysconfig.py
236
+src/pip/_vendor/distlib/_backport/tarfile.py
237
+src/pip/_vendor/html5lib/LICENSE
238
+src/pip/_vendor/html5lib/__init__.py
239
+src/pip/_vendor/html5lib/_ihatexml.py
240
+src/pip/_vendor/html5lib/_inputstream.py
241
+src/pip/_vendor/html5lib/_tokenizer.py
242
+src/pip/_vendor/html5lib/_utils.py
243
+src/pip/_vendor/html5lib/constants.py
244
+src/pip/_vendor/html5lib/html5parser.py
245
+src/pip/_vendor/html5lib/serializer.py
246
+src/pip/_vendor/html5lib/_trie/__init__.py
247
+src/pip/_vendor/html5lib/_trie/_base.py
248
+src/pip/_vendor/html5lib/_trie/datrie.py
249
+src/pip/_vendor/html5lib/_trie/py.py
250
+src/pip/_vendor/html5lib/filters/__init__.py
251
+src/pip/_vendor/html5lib/filters/alphabeticalattributes.py
252
+src/pip/_vendor/html5lib/filters/base.py
253
+src/pip/_vendor/html5lib/filters/inject_meta_charset.py
254
+src/pip/_vendor/html5lib/filters/lint.py
255
+src/pip/_vendor/html5lib/filters/optionaltags.py
256
+src/pip/_vendor/html5lib/filters/sanitizer.py
257
+src/pip/_vendor/html5lib/filters/whitespace.py
258
+src/pip/_vendor/html5lib/treeadapters/__init__.py
259
+src/pip/_vendor/html5lib/treeadapters/genshi.py
260
+src/pip/_vendor/html5lib/treeadapters/sax.py
261
+src/pip/_vendor/html5lib/treebuilders/__init__.py
262
+src/pip/_vendor/html5lib/treebuilders/base.py
263
+src/pip/_vendor/html5lib/treebuilders/dom.py
264
+src/pip/_vendor/html5lib/treebuilders/etree.py
265
+src/pip/_vendor/html5lib/treebuilders/etree_lxml.py
266
+src/pip/_vendor/html5lib/treewalkers/__init__.py
267
+src/pip/_vendor/html5lib/treewalkers/base.py
268
+src/pip/_vendor/html5lib/treewalkers/dom.py
269
+src/pip/_vendor/html5lib/treewalkers/etree.py
270
+src/pip/_vendor/html5lib/treewalkers/etree_lxml.py
271
+src/pip/_vendor/html5lib/treewalkers/genshi.py
272
+src/pip/_vendor/idna/LICENSE.rst
273
+src/pip/_vendor/idna/__init__.py
274
+src/pip/_vendor/idna/codec.py
275
+src/pip/_vendor/idna/compat.py
276
+src/pip/_vendor/idna/core.py
277
+src/pip/_vendor/idna/idnadata.py
278
+src/pip/_vendor/idna/intranges.py
279
+src/pip/_vendor/idna/package_data.py
280
+src/pip/_vendor/idna/uts46data.py
281
+src/pip/_vendor/lockfile/LICENSE
282
+src/pip/_vendor/lockfile/__init__.py
283
+src/pip/_vendor/lockfile/linklockfile.py
284
+src/pip/_vendor/lockfile/mkdirlockfile.py
285
+src/pip/_vendor/lockfile/pidlockfile.py
286
+src/pip/_vendor/lockfile/sqlitelockfile.py
287
+src/pip/_vendor/lockfile/symlinklockfile.py
288
+src/pip/_vendor/msgpack/COPYING
289
+src/pip/_vendor/msgpack/__init__.py
290
+src/pip/_vendor/msgpack/_version.py
291
+src/pip/_vendor/msgpack/exceptions.py
292
+src/pip/_vendor/msgpack/fallback.py
293
+src/pip/_vendor/packaging/LICENSE
294
+src/pip/_vendor/packaging/LICENSE.APACHE
295
+src/pip/_vendor/packaging/LICENSE.BSD
296
+src/pip/_vendor/packaging/__about__.py
297
+src/pip/_vendor/packaging/__init__.py
298
+src/pip/_vendor/packaging/_compat.py
299
+src/pip/_vendor/packaging/_structures.py
300
+src/pip/_vendor/packaging/markers.py
301
+src/pip/_vendor/packaging/requirements.py
302
+src/pip/_vendor/packaging/specifiers.py
303
+src/pip/_vendor/packaging/utils.py
304
+src/pip/_vendor/packaging/version.py
305
+src/pip/_vendor/pep517/LICENSE
306
+src/pip/_vendor/pep517/__init__.py
307
+src/pip/_vendor/pep517/_in_process.py
308
+src/pip/_vendor/pep517/build.py
309
+src/pip/_vendor/pep517/check.py
310
+src/pip/_vendor/pep517/colorlog.py
311
+src/pip/_vendor/pep517/compat.py
312
+src/pip/_vendor/pep517/envbuild.py
313
+src/pip/_vendor/pep517/wrappers.py
314
+src/pip/_vendor/pkg_resources/LICENSE
315
+src/pip/_vendor/pkg_resources/__init__.py
316
+src/pip/_vendor/pkg_resources/py31compat.py
317
+src/pip/_vendor/progress/LICENSE
318
+src/pip/_vendor/progress/__init__.py
319
+src/pip/_vendor/progress/bar.py
320
+src/pip/_vendor/progress/counter.py
321
+src/pip/_vendor/progress/helpers.py
322
+src/pip/_vendor/progress/spinner.py
323
+src/pip/_vendor/pytoml/LICENSE
324
+src/pip/_vendor/pytoml/__init__.py
325
+src/pip/_vendor/pytoml/core.py
326
+src/pip/_vendor/pytoml/parser.py
327
+src/pip/_vendor/pytoml/test.py
328
+src/pip/_vendor/pytoml/utils.py
329
+src/pip/_vendor/pytoml/writer.py
330
+src/pip/_vendor/requests/LICENSE
331
+src/pip/_vendor/requests/__init__.py
332
+src/pip/_vendor/requests/__version__.py
333
+src/pip/_vendor/requests/_internal_utils.py
334
+src/pip/_vendor/requests/adapters.py
335
+src/pip/_vendor/requests/api.py
336
+src/pip/_vendor/requests/auth.py
337
+src/pip/_vendor/requests/certs.py
338
+src/pip/_vendor/requests/compat.py
339
+src/pip/_vendor/requests/cookies.py
340
+src/pip/_vendor/requests/exceptions.py
341
+src/pip/_vendor/requests/help.py
342
+src/pip/_vendor/requests/hooks.py
343
+src/pip/_vendor/requests/models.py
344
+src/pip/_vendor/requests/packages.py
345
+src/pip/_vendor/requests/sessions.py
346
+src/pip/_vendor/requests/status_codes.py
347
+src/pip/_vendor/requests/structures.py
348
+src/pip/_vendor/requests/utils.py
349
+src/pip/_vendor/urllib3/LICENSE.txt
350
+src/pip/_vendor/urllib3/__init__.py
351
+src/pip/_vendor/urllib3/_collections.py
352
+src/pip/_vendor/urllib3/connection.py
353
+src/pip/_vendor/urllib3/connectionpool.py
354
+src/pip/_vendor/urllib3/exceptions.py
355
+src/pip/_vendor/urllib3/fields.py
356
+src/pip/_vendor/urllib3/filepost.py
357
+src/pip/_vendor/urllib3/poolmanager.py
358
+src/pip/_vendor/urllib3/request.py
359
+src/pip/_vendor/urllib3/response.py
360
+src/pip/_vendor/urllib3/contrib/__init__.py
361
+src/pip/_vendor/urllib3/contrib/_appengine_environ.py
362
+src/pip/_vendor/urllib3/contrib/appengine.py
363
+src/pip/_vendor/urllib3/contrib/ntlmpool.py
364
+src/pip/_vendor/urllib3/contrib/pyopenssl.py
365
+src/pip/_vendor/urllib3/contrib/securetransport.py
366
+src/pip/_vendor/urllib3/contrib/socks.py
367
+src/pip/_vendor/urllib3/contrib/_securetransport/__init__.py
368
+src/pip/_vendor/urllib3/contrib/_securetransport/bindings.py
369
+src/pip/_vendor/urllib3/contrib/_securetransport/low_level.py
370
+src/pip/_vendor/urllib3/packages/__init__.py
371
+src/pip/_vendor/urllib3/packages/six.py
372
+src/pip/_vendor/urllib3/packages/backports/__init__.py
373
+src/pip/_vendor/urllib3/packages/backports/makefile.py
374
+src/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py
375
+src/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py
376
+src/pip/_vendor/urllib3/util/__init__.py
377
+src/pip/_vendor/urllib3/util/connection.py
378
+src/pip/_vendor/urllib3/util/queue.py
379
+src/pip/_vendor/urllib3/util/request.py
380
+src/pip/_vendor/urllib3/util/response.py
381
+src/pip/_vendor/urllib3/util/retry.py
382
+src/pip/_vendor/urllib3/util/ssl_.py
383
+src/pip/_vendor/urllib3/util/timeout.py
384
+src/pip/_vendor/urllib3/util/url.py
385
+src/pip/_vendor/urllib3/util/wait.py
386
+src/pip/_vendor/webencodings/LICENSE
387
+src/pip/_vendor/webencodings/__init__.py
388
+src/pip/_vendor/webencodings/labels.py
389
+src/pip/_vendor/webencodings/mklabels.py
390
+src/pip/_vendor/webencodings/tests.py
391
+src/pip/_vendor/webencodings/x_user_defined.py

+ 1
- 0
venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/dependency_links.txt View File

@@ -0,0 +1 @@
1
+

+ 5
- 0
venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/entry_points.txt View File

@@ -0,0 +1,5 @@
1
+[console_scripts]
2
+pip = pip._internal:main
3
+pip3 = pip._internal:main
4
+pip3.6 = pip._internal:main
5
+

+ 1
- 0
venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/not-zip-safe View File

@@ -0,0 +1 @@
1
+

+ 1
- 0
venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/EGG-INFO/top_level.txt View File

@@ -0,0 +1 @@
1
+pip

+ 1
- 0
venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/__init__.py View File

@@ -0,0 +1 @@
1
+__version__ = "19.0.3"

+ 19
- 0
venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/__main__.py View File

@@ -0,0 +1,19 @@
1
+from __future__ import absolute_import
2
+
3
+import os
4
+import sys
5
+
6
+# If we are running from a wheel, add the wheel to sys.path
7
+# This allows the usage python pip-*.whl/pip install pip-*.whl
8
+if __package__ == '':
9
+    # __file__ is pip-*.whl/pip/__main__.py
10
+    # first dirname call strips of '/__main__.py', second strips off '/pip'
11
+    # Resulting path is the name of the wheel itself
12
+    # Add that to sys.path so we can import pip
13
+    path = os.path.dirname(os.path.dirname(__file__))
14
+    sys.path.insert(0, path)
15
+
16
+from pip._internal import main as _main  # isort:skip # noqa
17
+
18
+if __name__ == '__main__':
19
+    sys.exit(_main())

+ 78
- 0
venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/__init__.py View File

@@ -0,0 +1,78 @@
1
+#!/usr/bin/env python
2
+from __future__ import absolute_import
3
+
4
+import locale
5
+import logging
6
+import os
7
+import warnings
8
+
9
+import sys
10
+
11
+# 2016-06-17 barry@debian.org: urllib3 1.14 added optional support for socks,
12
+# but if invoked (i.e. imported), it will issue a warning to stderr if socks
13
+# isn't available.  requests unconditionally imports urllib3's socks contrib
14
+# module, triggering this warning.  The warning breaks DEP-8 tests (because of
15
+# the stderr output) and is just plain annoying in normal usage.  I don't want
16
+# to add socks as yet another dependency for pip, nor do I want to allow-stder
17
+# in the DEP-8 tests, so just suppress the warning.  pdb tells me this has to
18
+# be done before the import of pip.vcs.
19
+from pip._vendor.urllib3.exceptions import DependencyWarning
20
+warnings.filterwarnings("ignore", category=DependencyWarning)  # noqa
21
+
22
+# We want to inject the use of SecureTransport as early as possible so that any
23
+# references or sessions or what have you are ensured to have it, however we
24
+# only want to do this in the case that we're running on macOS and the linked
25
+# OpenSSL is too old to handle TLSv1.2
26
+try:
27
+    import ssl
28
+except ImportError:
29
+    pass
30
+else:
31
+    # Checks for OpenSSL 1.0.1 on MacOS
32
+    if sys.platform == "darwin" and ssl.OPENSSL_VERSION_NUMBER < 0x1000100f:
33
+        try:
34
+            from pip._vendor.urllib3.contrib import securetransport
35
+        except (ImportError, OSError):
36
+            pass
37
+        else:
38
+            securetransport.inject_into_urllib3()
39
+
40
+from pip._internal.cli.autocompletion import autocomplete
41
+from pip._internal.cli.main_parser import parse_command
42
+from pip._internal.commands import commands_dict
43
+from pip._internal.exceptions import PipError
44
+from pip._internal.utils import deprecation
45
+from pip._internal.vcs import git, mercurial, subversion, bazaar  # noqa
46
+from pip._vendor.urllib3.exceptions import InsecureRequestWarning
47
+
48
+logger = logging.getLogger(__name__)
49
+
50
+# Hide the InsecureRequestWarning from urllib3
51
+warnings.filterwarnings("ignore", category=InsecureRequestWarning)
52
+
53
+
54
+def main(args=None):
55
+    if args is None:
56
+        args = sys.argv[1:]
57
+
58
+    # Configure our deprecation warnings to be sent through loggers
59
+    deprecation.install_warning_logger()
60
+
61
+    autocomplete()
62
+
63
+    try:
64
+        cmd_name, cmd_args = parse_command(args)
65
+    except PipError as exc:
66
+        sys.stderr.write("ERROR: %s" % exc)
67
+        sys.stderr.write(os.linesep)
68
+        sys.exit(1)
69
+
70
+    # Needed for locale.getpreferredencoding(False) to work
71
+    # in pip._internal.utils.encoding.auto_decode
72
+    try:
73
+        locale.setlocale(locale.LC_ALL, '')
74
+    except locale.Error as e:
75
+        # setlocale can apparently crash if locale are uninitialized
76
+        logger.debug("Ignoring error %s when setting locale", e)
77
+    command = commands_dict[cmd_name](isolated=("--isolated" in cmd_args))
78
+    return command.main(cmd_args)

+ 215
- 0
venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/build_env.py View File

@@ -0,0 +1,215 @@
1
+"""Build Environment used for isolation during sdist building
2
+"""
3
+
4
+import logging
5
+import os
6
+import sys
7
+import textwrap
8
+from collections import OrderedDict
9
+from distutils.sysconfig import get_python_lib
10
+from sysconfig import get_paths
11
+
12
+from pip._vendor.pkg_resources import Requirement, VersionConflict, WorkingSet
13
+
14
+from pip import __file__ as pip_location
15
+from pip._internal.utils.misc import call_subprocess
16
+from pip._internal.utils.temp_dir import TempDirectory
17
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
18
+from pip._internal.utils.ui import open_spinner
19
+
20
+if MYPY_CHECK_RUNNING:
21
+    from typing import Tuple, Set, Iterable, Optional, List  # noqa: F401
22
+    from pip._internal.index import PackageFinder  # noqa: F401
23
+
24
+logger = logging.getLogger(__name__)
25
+
26
+
27
+class _Prefix:
28
+
29
+    def __init__(self, path):
30
+        # type: (str) -> None
31
+        self.path = path
32
+        self.setup = False
33
+        self.bin_dir = get_paths(
34
+            'nt' if os.name == 'nt' else 'posix_prefix',
35
+            vars={'base': path, 'platbase': path}
36
+        )['scripts']
37
+        # Note: prefer distutils' sysconfig to get the
38
+        # library paths so PyPy is correctly supported.
39
+        purelib = get_python_lib(plat_specific=False, prefix=path)
40
+        platlib = get_python_lib(plat_specific=True, prefix=path)
41
+        if purelib == platlib:
42
+            self.lib_dirs = [purelib]
43
+        else:
44
+            self.lib_dirs = [purelib, platlib]
45
+
46
+
47
+class BuildEnvironment(object):
48
+    """Creates and manages an isolated environment to install build deps
49
+    """
50
+
51
+    def __init__(self):
52
+        # type: () -> None
53
+        self._temp_dir = TempDirectory(kind="build-env")
54
+        self._temp_dir.create()
55
+
56
+        self._prefixes = OrderedDict((
57
+            (name, _Prefix(os.path.join(self._temp_dir.path, name)))
58
+            for name in ('normal', 'overlay')
59
+        ))
60
+
61
+        self._bin_dirs = []  # type: List[str]
62
+        self._lib_dirs = []  # type: List[str]
63
+        for prefix in reversed(list(self._prefixes.values())):
64
+            self._bin_dirs.append(prefix.bin_dir)
65
+            self._lib_dirs.extend(prefix.lib_dirs)
66
+
67
+        # Customize site to:
68
+        # - ensure .pth files are honored
69
+        # - prevent access to system site packages
70
+        system_sites = {
71
+            os.path.normcase(site) for site in (
72
+                get_python_lib(plat_specific=False),
73
+                get_python_lib(plat_specific=True),
74
+            )
75
+        }
76
+        self._site_dir = os.path.join(self._temp_dir.path, 'site')
77
+        if not os.path.exists(self._site_dir):
78
+            os.mkdir(self._site_dir)
79
+        with open(os.path.join(self._site_dir, 'sitecustomize.py'), 'w') as fp:
80
+            fp.write(textwrap.dedent(
81
+                '''
82
+                import os, site, sys
83
+
84
+                # First, drop system-sites related paths.
85
+                original_sys_path = sys.path[:]
86
+                known_paths = set()
87
+                for path in {system_sites!r}:
88
+                    site.addsitedir(path, known_paths=known_paths)
89
+                system_paths = set(
90
+                    os.path.normcase(path)
91
+                    for path in sys.path[len(original_sys_path):]
92
+                )
93
+                original_sys_path = [
94
+                    path for path in original_sys_path
95
+                    if os.path.normcase(path) not in system_paths
96
+                ]
97
+                sys.path = original_sys_path
98
+
99
+                # Second, add lib directories.
100
+                # ensuring .pth file are processed.
101
+                for path in {lib_dirs!r}:
102
+                    assert not path in sys.path
103
+                    site.addsitedir(path)
104
+                '''
105
+            ).format(system_sites=system_sites, lib_dirs=self._lib_dirs))
106
+
107
+    def __enter__(self):
108
+        self._save_env = {
109
+            name: os.environ.get(name, None)
110
+            for name in ('PATH', 'PYTHONNOUSERSITE', 'PYTHONPATH')
111
+        }
112
+
113
+        path = self._bin_dirs[:]
114
+        old_path = self._save_env['PATH']
115
+        if old_path:
116
+            path.extend(old_path.split(os.pathsep))
117
+
118
+        pythonpath = [self._site_dir]
119
+
120
+        os.environ.update({
121
+            'PATH': os.pathsep.join(path),
122
+            'PYTHONNOUSERSITE': '1',
123
+            'PYTHONPATH': os.pathsep.join(pythonpath),
124
+        })
125
+
126
+    def __exit__(self, exc_type, exc_val, exc_tb):
127
+        for varname, old_value in self._save_env.items():
128
+            if old_value is None:
129
+                os.environ.pop(varname, None)
130
+            else:
131
+                os.environ[varname] = old_value
132
+
133
+    def cleanup(self):
134
+        # type: () -> None
135
+        self._temp_dir.cleanup()
136
+
137
+    def check_requirements(self, reqs):
138
+        # type: (Iterable[str]) -> Tuple[Set[Tuple[str, str]], Set[str]]
139
+        """Return 2 sets:
140
+            - conflicting requirements: set of (installed, wanted) reqs tuples
141
+            - missing requirements: set of reqs
142
+        """
143
+        missing = set()
144
+        conflicting = set()
145
+        if reqs:
146
+            ws = WorkingSet(self._lib_dirs)
147
+            for req in reqs:
148
+                try:
149
+                    if ws.find(Requirement.parse(req)) is None:
150
+                        missing.add(req)
151
+                except VersionConflict as e:
152
+                    conflicting.add((str(e.args[0].as_requirement()),
153
+                                     str(e.args[1])))
154
+        return conflicting, missing
155
+
156
+    def install_requirements(
157
+        self,
158
+        finder,  # type: PackageFinder
159
+        requirements,  # type: Iterable[str]
160
+        prefix_as_string,  # type: str
161
+        message  # type: Optional[str]
162
+    ):
163
+        # type: (...) -> None
164
+        prefix = self._prefixes[prefix_as_string]
165
+        assert not prefix.setup
166
+        prefix.setup = True
167
+        if not requirements:
168
+            return
169
+        args = [
170
+            sys.executable, os.path.dirname(pip_location), 'install',
171
+            '--ignore-installed', '--no-user', '--prefix', prefix.path,
172
+            '--no-warn-script-location',
173
+        ]  # type: List[str]
174
+        if logger.getEffectiveLevel() <= logging.DEBUG:
175
+            args.append('-v')
176
+        for format_control in ('no_binary', 'only_binary'):
177
+            formats = getattr(finder.format_control, format_control)
178
+            args.extend(('--' + format_control.replace('_', '-'),
179
+                         ','.join(sorted(formats or {':none:'}))))
180
+        if finder.index_urls:
181
+            args.extend(['-i', finder.index_urls[0]])
182
+            for extra_index in finder.index_urls[1:]:
183
+                args.extend(['--extra-index-url', extra_index])
184
+        else:
185
+            args.append('--no-index')
186
+        for link in finder.find_links:
187
+            args.extend(['--find-links', link])
188
+        for _, host, _ in finder.secure_origins:
189
+            args.extend(['--trusted-host', host])
190
+        if finder.allow_all_prereleases:
191
+            args.append('--pre')
192
+        args.append('--')
193
+        args.extend(requirements)
194
+        with open_spinner(message) as spinner:
195
+            call_subprocess(args, show_stdout=False, spinner=spinner)
196
+
197
+
198
+class NoOpBuildEnvironment(BuildEnvironment):
199
+    """A no-op drop-in replacement for BuildEnvironment
200
+    """
201
+
202
+    def __init__(self):
203
+        pass
204
+
205
+    def __enter__(self):
206
+        pass
207
+
208
+    def __exit__(self, exc_type, exc_val, exc_tb):
209
+        pass
210
+
211
+    def cleanup(self):
212
+        pass
213
+
214
+    def install_requirements(self, finder, requirements, prefix, message):
215
+        raise NotImplementedError()

+ 224
- 0
venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cache.py View File

@@ -0,0 +1,224 @@
1
+"""Cache Management
2
+"""
3
+
4
+import errno
5
+import hashlib
6
+import logging
7
+import os
8
+
9
+from pip._vendor.packaging.utils import canonicalize_name
10
+
11
+from pip._internal.download import path_to_url
12
+from pip._internal.models.link import Link
13
+from pip._internal.utils.compat import expanduser
14
+from pip._internal.utils.temp_dir import TempDirectory
15
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
16
+from pip._internal.wheel import InvalidWheelFilename, Wheel
17
+
18
+if MYPY_CHECK_RUNNING:
19
+    from typing import Optional, Set, List, Any  # noqa: F401
20
+    from pip._internal.index import FormatControl  # noqa: F401
21
+
22
+logger = logging.getLogger(__name__)
23
+
24
+
25
+class Cache(object):
26
+    """An abstract class - provides cache directories for data from links
27
+
28
+
29
+        :param cache_dir: The root of the cache.
30
+        :param format_control: An object of FormatControl class to limit
31
+            binaries being read from the cache.
32
+        :param allowed_formats: which formats of files the cache should store.
33
+            ('binary' and 'source' are the only allowed values)
34
+    """
35
+
36
+    def __init__(self, cache_dir, format_control, allowed_formats):
37
+        # type: (str, FormatControl, Set[str]) -> None
38
+        super(Cache, self).__init__()
39
+        self.cache_dir = expanduser(cache_dir) if cache_dir else None
40
+        self.format_control = format_control
41
+        self.allowed_formats = allowed_formats
42
+
43
+        _valid_formats = {"source", "binary"}
44
+        assert self.allowed_formats.union(_valid_formats) == _valid_formats
45
+
46
+    def _get_cache_path_parts(self, link):
47
+        # type: (Link) -> List[str]
48
+        """Get parts of part that must be os.path.joined with cache_dir
49
+        """
50
+
51
+        # We want to generate an url to use as our cache key, we don't want to
52
+        # just re-use the URL because it might have other items in the fragment
53
+        # and we don't care about those.
54
+        key_parts = [link.url_without_fragment]
55
+        if link.hash_name is not None and link.hash is not None:
56
+            key_parts.append("=".join([link.hash_name, link.hash]))
57
+        key_url = "#".join(key_parts)
58
+
59
+        # Encode our key url with sha224, we'll use this because it has similar
60
+        # security properties to sha256, but with a shorter total output (and
61
+        # thus less secure). However the differences don't make a lot of
62
+        # difference for our use case here.
63
+        hashed = hashlib.sha224(key_url.encode()).hexdigest()
64
+
65
+        # We want to nest the directories some to prevent having a ton of top
66
+        # level directories where we might run out of sub directories on some
67
+        # FS.
68
+        parts = [hashed[:2], hashed[2:4], hashed[4:6], hashed[6:]]
69
+
70
+        return parts
71
+
72
+    def _get_candidates(self, link, package_name):
73
+        # type: (Link, Optional[str]) -> List[Any]
74
+        can_not_cache = (
75
+            not self.cache_dir or
76
+            not package_name or
77
+            not link
78
+        )
79
+        if can_not_cache:
80
+            return []
81
+
82
+        canonical_name = canonicalize_name(package_name)
83
+        formats = self.format_control.get_allowed_formats(
84
+            canonical_name
85
+        )
86
+        if not self.allowed_formats.intersection(formats):
87
+            return []
88
+
89
+        root = self.get_path_for_link(link)
90
+        try:
91
+            return os.listdir(root)
92
+        except OSError as err:
93
+            if err.errno in {errno.ENOENT, errno.ENOTDIR}:
94
+                return []
95
+            raise
96
+
97
+    def get_path_for_link(self, link):
98
+        # type: (Link) -> str
99
+        """Return a directory to store cached items in for link.
100
+        """
101
+        raise NotImplementedError()
102
+
103
+    def get(self, link, package_name):
104
+        # type: (Link, Optional[str]) -> Link
105
+        """Returns a link to a cached item if it exists, otherwise returns the
106
+        passed link.
107
+        """
108
+        raise NotImplementedError()
109
+
110
+    def _link_for_candidate(self, link, candidate):
111
+        # type: (Link, str) -> Link
112
+        root = self.get_path_for_link(link)
113
+        path = os.path.join(root, candidate)
114
+
115
+        return Link(path_to_url(path))
116
+
117
+    def cleanup(self):
118
+        # type: () -> None
119
+        pass
120
+
121
+
122
+class SimpleWheelCache(Cache):
123
+    """A cache of wheels for future installs.
124
+    """
125
+
126
+    def __init__(self, cache_dir, format_control):
127
+        # type: (str, FormatControl) -> None
128
+        super(SimpleWheelCache, self).__init__(
129
+            cache_dir, format_control, {"binary"}
130
+        )
131
+
132
+    def get_path_for_link(self, link):
133
+        # type: (Link) -> str
134
+        """Return a directory to store cached wheels for link
135
+
136
+        Because there are M wheels for any one sdist, we provide a directory
137
+        to cache them in, and then consult that directory when looking up
138
+        cache hits.
139
+
140
+        We only insert things into the cache if they have plausible version
141
+        numbers, so that we don't contaminate the cache with things that were
142
+        not unique. E.g. ./package might have dozens of installs done for it
143
+        and build a version of 0.0...and if we built and cached a wheel, we'd
144
+        end up using the same wheel even if the source has been edited.
145
+
146
+        :param link: The link of the sdist for which this will cache wheels.
147
+        """
148
+        parts = self._get_cache_path_parts(link)
149
+
150
+        # Store wheels within the root cache_dir
151
+        return os.path.join(self.cache_dir, "wheels", *parts)
152
+
153
+    def get(self, link, package_name):
154
+        # type: (Link, Optional[str]) -> Link
155
+        candidates = []
156
+
157
+        for wheel_name in self._get_candidates(link, package_name):
158
+            try:
159
+                wheel = Wheel(wheel_name)
160
+            except InvalidWheelFilename:
161
+                continue
162
+            if not wheel.supported():
163
+                # Built for a different python/arch/etc
164
+                continue
165
+            candidates.append((wheel.support_index_min(), wheel_name))
166
+
167
+        if not candidates:
168
+            return link
169
+
170
+        return self._link_for_candidate(link, min(candidates)[1])
171
+
172
+
173
+class EphemWheelCache(SimpleWheelCache):
174
+    """A SimpleWheelCache that creates it's own temporary cache directory
175
+    """
176
+
177
+    def __init__(self, format_control):
178
+        # type: (FormatControl) -> None
179
+        self._temp_dir = TempDirectory(kind="ephem-wheel-cache")
180
+        self._temp_dir.create()
181
+
182
+        super(EphemWheelCache, self).__init__(
183
+            self._temp_dir.path, format_control
184
+        )
185
+
186
+    def cleanup(self):
187
+        # type: () -> None
188
+        self._temp_dir.cleanup()
189
+
190
+
191
+class WheelCache(Cache):
192
+    """Wraps EphemWheelCache and SimpleWheelCache into a single Cache
193
+
194
+    This Cache allows for gracefully degradation, using the ephem wheel cache
195
+    when a certain link is not found in the simple wheel cache first.
196
+    """
197
+
198
+    def __init__(self, cache_dir, format_control):
199
+        # type: (str, FormatControl) -> None
200
+        super(WheelCache, self).__init__(
201
+            cache_dir, format_control, {'binary'}
202
+        )
203
+        self._wheel_cache = SimpleWheelCache(cache_dir, format_control)
204
+        self._ephem_cache = EphemWheelCache(format_control)
205
+
206
+    def get_path_for_link(self, link):
207
+        # type: (Link) -> str
208
+        return self._wheel_cache.get_path_for_link(link)
209
+
210
+    def get_ephem_path_for_link(self, link):
211
+        # type: (Link) -> str
212
+        return self._ephem_cache.get_path_for_link(link)
213
+
214
+    def get(self, link, package_name):
215
+        # type: (Link, Optional[str]) -> Link
216
+        retval = self._wheel_cache.get(link, package_name)
217
+        if retval is link:
218
+            retval = self._ephem_cache.get(link, package_name)
219
+        return retval
220
+
221
+    def cleanup(self):
222
+        # type: () -> None
223
+        self._wheel_cache.cleanup()
224
+        self._ephem_cache.cleanup()

+ 4
- 0
venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/__init__.py View File

@@ -0,0 +1,4 @@
1
+"""Subpackage containing all of pip's command line interface related code
2
+"""
3
+
4
+# This file intentionally does not import submodules

+ 152
- 0
venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/autocompletion.py View File

@@ -0,0 +1,152 @@
1
+"""Logic that powers autocompletion installed by ``pip completion``.
2
+"""
3
+
4
+import optparse
5
+import os
6
+import sys
7
+
8
+from pip._internal.cli.main_parser import create_main_parser
9
+from pip._internal.commands import commands_dict, get_summaries
10
+from pip._internal.utils.misc import get_installed_distributions
11
+
12
+
13
+def autocomplete():
14
+    """Entry Point for completion of main and subcommand options.
15
+    """
16
+    # Don't complete if user hasn't sourced bash_completion file.
17
+    if 'PIP_AUTO_COMPLETE' not in os.environ:
18
+        return
19
+    cwords = os.environ['COMP_WORDS'].split()[1:]
20
+    cword = int(os.environ['COMP_CWORD'])
21
+    try:
22
+        current = cwords[cword - 1]
23
+    except IndexError:
24
+        current = ''
25
+
26
+    subcommands = [cmd for cmd, summary in get_summaries()]
27
+    options = []
28
+    # subcommand
29
+    try:
30
+        subcommand_name = [w for w in cwords if w in subcommands][0]
31
+    except IndexError:
32
+        subcommand_name = None
33
+
34
+    parser = create_main_parser()
35
+    # subcommand options
36
+    if subcommand_name:
37
+        # special case: 'help' subcommand has no options
38
+        if subcommand_name == 'help':
39
+            sys.exit(1)
40
+        # special case: list locally installed dists for show and uninstall
41
+        should_list_installed = (
42
+            subcommand_name in ['show', 'uninstall'] and
43
+            not current.startswith('-')
44
+        )
45
+        if should_list_installed:
46
+            installed = []
47
+            lc = current.lower()
48
+            for dist in get_installed_distributions(local_only=True):
49
+                if dist.key.startswith(lc) and dist.key not in cwords[1:]:
50
+                    installed.append(dist.key)
51
+            # if there are no dists installed, fall back to option completion
52
+            if installed:
53
+                for dist in installed:
54
+                    print(dist)
55
+                sys.exit(1)
56
+
57
+        subcommand = commands_dict[subcommand_name]()
58
+
59
+        for opt in subcommand.parser.option_list_all:
60
+            if opt.help != optparse.SUPPRESS_HELP:
61
+                for opt_str in opt._long_opts + opt._short_opts:
62
+                    options.append((opt_str, opt.nargs))
63
+
64
+        # filter out previously specified options from available options
65
+        prev_opts = [x.split('=')[0] for x in cwords[1:cword - 1]]
66
+        options = [(x, v) for (x, v) in options if x not in prev_opts]
67
+        # filter options by current input
68
+        options = [(k, v) for k, v in options if k.startswith(current)]
69
+        # get completion type given cwords and available subcommand options
70
+        completion_type = get_path_completion_type(
71
+            cwords, cword, subcommand.parser.option_list_all,
72
+        )
73
+        # get completion files and directories if ``completion_type`` is
74
+        # ``<file>``, ``<dir>`` or ``<path>``
75
+        if completion_type:
76
+            options = auto_complete_paths(current, completion_type)
77
+            options = ((opt, 0) for opt in options)
78
+        for option in options:
79
+            opt_label = option[0]
80
+            # append '=' to options which require args
81
+            if option[1] and option[0][:2] == "--":
82
+                opt_label += '='
83
+            print(opt_label)
84
+    else:
85
+        # show main parser options only when necessary
86
+
87
+        opts = [i.option_list for i in parser.option_groups]
88
+        opts.append(parser.option_list)
89
+        opts = (o for it in opts for o in it)
90
+        if current.startswith('-'):
91
+            for opt in opts:
92
+                if opt.help != optparse.SUPPRESS_HELP:
93
+                    subcommands += opt._long_opts + opt._short_opts
94
+        else:
95
+            # get completion type given cwords and all available options
96
+            completion_type = get_path_completion_type(cwords, cword, opts)
97
+            if completion_type:
98
+                subcommands = auto_complete_paths(current, completion_type)
99
+
100
+        print(' '.join([x for x in subcommands if x.startswith(current)]))
101
+    sys.exit(1)
102
+
103
+
104
+def get_path_completion_type(cwords, cword, opts):
105
+    """Get the type of path completion (``file``, ``dir``, ``path`` or None)
106
+
107
+    :param cwords: same as the environmental variable ``COMP_WORDS``
108
+    :param cword: same as the environmental variable ``COMP_CWORD``
109
+    :param opts: The available options to check
110
+    :return: path completion type (``file``, ``dir``, ``path`` or None)
111
+    """
112
+    if cword < 2 or not cwords[cword - 2].startswith('-'):
113
+        return
114
+    for opt in opts:
115
+        if opt.help == optparse.SUPPRESS_HELP:
116
+            continue
117
+        for o in str(opt).split('/'):
118
+            if cwords[cword - 2].split('=')[0] == o:
119
+                if not opt.metavar or any(
120
+                        x in ('path', 'file', 'dir')
121
+                        for x in opt.metavar.split('/')):
122
+                    return opt.metavar
123
+
124
+
125
+def auto_complete_paths(current, completion_type):
126
+    """If ``completion_type`` is ``file`` or ``path``, list all regular files
127
+    and directories starting with ``current``; otherwise only list directories
128
+    starting with ``current``.
129
+
130
+    :param current: The word to be completed
131
+    :param completion_type: path completion type(`file`, `path` or `dir`)i
132
+    :return: A generator of regular files and/or directories
133
+    """
134
+    directory, filename = os.path.split(current)
135
+    current_path = os.path.abspath(directory)
136
+    # Don't complete paths if they can't be accessed
137
+    if not os.access(current_path, os.R_OK):
138
+        return
139
+    filename = os.path.normcase(filename)
140
+    # list all files that start with ``filename``
141
+    file_list = (x for x in os.listdir(current_path)
142
+                 if os.path.normcase(x).startswith(filename))
143
+    for f in file_list:
144
+        opt = os.path.join(current_path, f)
145
+        comp_file = os.path.normcase(os.path.join(directory, f))
146
+        # complete regular files when there is not ``<dir>`` after option
147
+        # complete directories when there is ``<file>``, ``<path>`` or
148
+        # ``<dir>``after option
149
+        if completion_type != 'dir' and os.path.isfile(opt):
150
+            yield comp_file
151
+        elif os.path.isdir(opt):
152
+            yield os.path.join(comp_file, '')

+ 341
- 0
venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/base_command.py View File

@@ -0,0 +1,341 @@
1
+"""Base Command class, and related routines"""
2
+from __future__ import absolute_import, print_function
3
+
4
+import logging
5
+import logging.config
6
+import optparse
7
+import os
8
+import platform
9
+import sys
10
+import traceback
11
+
12
+from pip._internal.cli import cmdoptions
13
+from pip._internal.cli.parser import (
14
+    ConfigOptionParser, UpdatingDefaultsHelpFormatter,
15
+)
16
+from pip._internal.cli.status_codes import (
17
+    ERROR, PREVIOUS_BUILD_DIR_ERROR, SUCCESS, UNKNOWN_ERROR,
18
+    VIRTUALENV_NOT_FOUND,
19
+)
20
+from pip._internal.download import PipSession
21
+from pip._internal.exceptions import (
22
+    BadCommand, CommandError, InstallationError, PreviousBuildDirError,
23
+    UninstallationError,
24
+)
25
+from pip._internal.index import PackageFinder
26
+from pip._internal.locations import running_under_virtualenv
27
+from pip._internal.req.constructors import (
28
+    install_req_from_editable, install_req_from_line,
29
+)
30
+from pip._internal.req.req_file import parse_requirements
31
+from pip._internal.utils.deprecation import deprecated
32
+from pip._internal.utils.logging import BrokenStdoutLoggingError, setup_logging
33
+from pip._internal.utils.misc import (
34
+    get_prog, normalize_path, redact_password_from_url,
35
+)
36
+from pip._internal.utils.outdated import pip_version_check
37
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
38
+
39
+if MYPY_CHECK_RUNNING:
40
+    from typing import Optional, List, Tuple, Any  # noqa: F401
41
+    from optparse import Values  # noqa: F401
42
+    from pip._internal.cache import WheelCache  # noqa: F401
43
+    from pip._internal.req.req_set import RequirementSet  # noqa: F401
44
+
45
+__all__ = ['Command']
46
+
47
+logger = logging.getLogger(__name__)
48
+
49
+
50
+class Command(object):
51
+    name = None  # type: Optional[str]
52
+    usage = None  # type: Optional[str]
53
+    hidden = False  # type: bool
54
+    ignore_require_venv = False  # type: bool
55
+
56
+    def __init__(self, isolated=False):
57
+        # type: (bool) -> None
58
+        parser_kw = {
59
+            'usage': self.usage,
60
+            'prog': '%s %s' % (get_prog(), self.name),
61
+            'formatter': UpdatingDefaultsHelpFormatter(),
62
+            'add_help_option': False,
63
+            'name': self.name,
64
+            'description': self.__doc__,
65
+            'isolated': isolated,
66
+        }
67
+
68
+        self.parser = ConfigOptionParser(**parser_kw)
69
+
70
+        # Commands should add options to this option group
71
+        optgroup_name = '%s Options' % self.name.capitalize()
72
+        self.cmd_opts = optparse.OptionGroup(self.parser, optgroup_name)
73
+
74
+        # Add the general options
75
+        gen_opts = cmdoptions.make_option_group(
76
+            cmdoptions.general_group,
77
+            self.parser,
78
+        )
79
+        self.parser.add_option_group(gen_opts)
80
+
81
+    def run(self, options, args):
82
+        # type: (Values, List[Any]) -> Any
83
+        raise NotImplementedError
84
+
85
+    def _build_session(self, options, retries=None, timeout=None):
86
+        # type: (Values, Optional[int], Optional[int]) -> PipSession
87
+        session = PipSession(
88
+            cache=(
89
+                normalize_path(os.path.join(options.cache_dir, "http"))
90
+                if options.cache_dir else None
91
+            ),
92
+            retries=retries if retries is not None else options.retries,
93
+            insecure_hosts=options.trusted_hosts,
94
+        )
95
+
96
+        # Handle custom ca-bundles from the user
97
+        if options.cert:
98
+            session.verify = options.cert
99
+
100
+        # Handle SSL client certificate
101
+        if options.client_cert:
102
+            session.cert = options.client_cert
103
+
104
+        # Handle timeouts
105
+        if options.timeout or timeout:
106
+            session.timeout = (
107
+                timeout if timeout is not None else options.timeout
108
+            )
109
+
110
+        # Handle configured proxies
111
+        if options.proxy:
112
+            session.proxies = {
113
+                "http": options.proxy,
114
+                "https": options.proxy,
115
+            }
116
+
117
+        # Determine if we can prompt the user for authentication or not
118
+        session.auth.prompting = not options.no_input
119
+
120
+        return session
121
+
122
+    def parse_args(self, args):
123
+        # type: (List[str]) -> Tuple
124
+        # factored out for testability
125
+        return self.parser.parse_args(args)
126
+
127
+    def main(self, args):
128
+        # type: (List[str]) -> int
129
+        options, args = self.parse_args(args)
130
+
131
+        # Set verbosity so that it can be used elsewhere.
132
+        self.verbosity = options.verbose - options.quiet
133
+
134
+        level_number = setup_logging(
135
+            verbosity=self.verbosity,
136
+            no_color=options.no_color,
137
+            user_log_file=options.log,
138
+        )
139
+
140
+        if sys.version_info[:2] == (3, 4):
141
+            deprecated(
142
+                "Python 3.4 support has been deprecated. pip 19.1 will be the "
143
+                "last one supporting it. Please upgrade your Python as Python "
144
+                "3.4 won't be maintained after March 2019 (cf PEP 429).",
145
+                replacement=None,
146
+                gone_in='19.2',
147
+            )
148
+        elif sys.version_info[:2] == (2, 7):
149
+            message = (
150
+                "A future version of pip will drop support for Python 2.7."
151
+            )
152
+            if platform.python_implementation() == "CPython":
153
+                message = (
154
+                    "Python 2.7 will reach the end of its life on January "
155
+                    "1st, 2020. Please upgrade your Python as Python 2.7 "
156
+                    "won't be maintained after that date. "
157
+                ) + message
158
+            deprecated(message, replacement=None, gone_in=None)
159
+
160
+        # TODO: Try to get these passing down from the command?
161
+        #       without resorting to os.environ to hold these.
162
+        #       This also affects isolated builds and it should.
163
+
164
+        if options.no_input:
165
+            os.environ['PIP_NO_INPUT'] = '1'
166
+
167
+        if options.exists_action:
168
+            os.environ['PIP_EXISTS_ACTION'] = ' '.join(options.exists_action)
169
+
170
+        if options.require_venv and not self.ignore_require_venv:
171
+            # If a venv is required check if it can really be found
172
+            if not running_under_virtualenv():
173
+                logger.critical(
174
+                    'Could not find an activated virtualenv (required).'
175
+                )
176
+                sys.exit(VIRTUALENV_NOT_FOUND)
177
+
178
+        try:
179
+            status = self.run(options, args)
180
+            # FIXME: all commands should return an exit status
181
+            # and when it is done, isinstance is not needed anymore
182
+            if isinstance(status, int):
183
+                return status
184
+        except PreviousBuildDirError as exc:
185
+            logger.critical(str(exc))
186
+            logger.debug('Exception information:', exc_info=True)
187
+
188
+            return PREVIOUS_BUILD_DIR_ERROR
189
+        except (InstallationError, UninstallationError, BadCommand) as exc:
190
+            logger.critical(str(exc))
191
+            logger.debug('Exception information:', exc_info=True)
192
+
193
+            return ERROR
194
+        except CommandError as exc:
195
+            logger.critical('ERROR: %s', exc)
196
+            logger.debug('Exception information:', exc_info=True)
197
+
198
+            return ERROR
199
+        except BrokenStdoutLoggingError:
200
+            # Bypass our logger and write any remaining messages to stderr
201
+            # because stdout no longer works.
202
+            print('ERROR: Pipe to stdout was broken', file=sys.stderr)
203
+            if level_number <= logging.DEBUG:
204
+                traceback.print_exc(file=sys.stderr)
205
+
206
+            return ERROR
207
+        except KeyboardInterrupt:
208
+            logger.critical('Operation cancelled by user')
209
+            logger.debug('Exception information:', exc_info=True)
210
+
211
+            return ERROR
212
+        except BaseException:
213
+            logger.critical('Exception:', exc_info=True)
214
+
215
+            return UNKNOWN_ERROR
216
+        finally:
217
+            allow_version_check = (
218
+                # Does this command have the index_group options?
219
+                hasattr(options, "no_index") and
220
+                # Is this command allowed to perform this check?
221
+                not (options.disable_pip_version_check or options.no_index)
222
+            )
223
+            # Check if we're using the latest version of pip available
224
+            if allow_version_check:
225
+                session = self._build_session(
226
+                    options,
227
+                    retries=0,
228
+                    timeout=min(5, options.timeout)
229
+                )
230
+                with session:
231
+                    pip_version_check(session, options)
232
+
233
+            # Shutdown the logging module
234
+            logging.shutdown()
235
+
236
+        return SUCCESS
237
+
238
+
239
+class RequirementCommand(Command):
240
+
241
+    @staticmethod
242
+    def populate_requirement_set(requirement_set,  # type: RequirementSet
243
+                                 args,             # type: List[str]
244
+                                 options,          # type: Values
245
+                                 finder,           # type: PackageFinder
246
+                                 session,          # type: PipSession
247
+                                 name,             # type: str
248
+                                 wheel_cache       # type: Optional[WheelCache]
249
+                                 ):
250
+        # type: (...) -> None
251
+        """
252
+        Marshal cmd line args into a requirement set.
253
+        """
254
+        # NOTE: As a side-effect, options.require_hashes and
255
+        #       requirement_set.require_hashes may be updated
256
+
257
+        for filename in options.constraints:
258
+            for req_to_add in parse_requirements(
259
+                    filename,
260
+                    constraint=True, finder=finder, options=options,
261
+                    session=session, wheel_cache=wheel_cache):
262
+                req_to_add.is_direct = True
263
+                requirement_set.add_requirement(req_to_add)
264
+
265
+        for req in args:
266
+            req_to_add = install_req_from_line(
267
+                req, None, isolated=options.isolated_mode,
268
+                use_pep517=options.use_pep517,
269
+                wheel_cache=wheel_cache
270
+            )
271
+            req_to_add.is_direct = True
272
+            requirement_set.add_requirement(req_to_add)
273
+
274
+        for req in options.editables:
275
+            req_to_add = install_req_from_editable(
276
+                req,
277
+                isolated=options.isolated_mode,
278
+                use_pep517=options.use_pep517,
279
+                wheel_cache=wheel_cache
280
+            )
281
+            req_to_add.is_direct = True
282
+            requirement_set.add_requirement(req_to_add)
283
+
284
+        for filename in options.requirements:
285
+            for req_to_add in parse_requirements(
286
+                    filename,
287
+                    finder=finder, options=options, session=session,
288
+                    wheel_cache=wheel_cache,
289
+                    use_pep517=options.use_pep517):
290
+                req_to_add.is_direct = True
291
+                requirement_set.add_requirement(req_to_add)
292
+        # If --require-hashes was a line in a requirements file, tell
293
+        # RequirementSet about it:
294
+        requirement_set.require_hashes = options.require_hashes
295
+
296
+        if not (args or options.editables or options.requirements):
297
+            opts = {'name': name}
298
+            if options.find_links:
299
+                raise CommandError(
300
+                    'You must give at least one requirement to %(name)s '
301
+                    '(maybe you meant "pip %(name)s %(links)s"?)' %
302
+                    dict(opts, links=' '.join(options.find_links)))
303
+            else:
304
+                raise CommandError(
305
+                    'You must give at least one requirement to %(name)s '
306
+                    '(see "pip help %(name)s")' % opts)
307
+
308
+    def _build_package_finder(
309
+        self,
310
+        options,               # type: Values
311
+        session,               # type: PipSession
312
+        platform=None,         # type: Optional[str]
313
+        python_versions=None,  # type: Optional[List[str]]
314
+        abi=None,              # type: Optional[str]
315
+        implementation=None    # type: Optional[str]
316
+    ):
317
+        # type: (...) -> PackageFinder
318
+        """
319
+        Create a package finder appropriate to this requirement command.
320
+        """
321
+        index_urls = [options.index_url] + options.extra_index_urls
322
+        if options.no_index:
323
+            logger.debug(
324
+                'Ignoring indexes: %s',
325
+                ','.join(redact_password_from_url(url) for url in index_urls),
326
+            )
327
+            index_urls = []
328
+
329
+        return PackageFinder(
330
+            find_links=options.find_links,
331
+            format_control=options.format_control,
332
+            index_urls=index_urls,
333
+            trusted_hosts=options.trusted_hosts,
334
+            allow_all_prereleases=options.pre,
335
+            session=session,
336
+            platform=platform,
337
+            versions=python_versions,
338
+            abi=abi,
339
+            implementation=implementation,
340
+            prefer_binary=options.prefer_binary,
341
+        )

+ 809
- 0
venv/lib/python3.6/site-packages/pip-19.0.3-py3.6.egg/pip/_internal/cli/cmdoptions.py View File

@@ -0,0 +1,809 @@
1
+"""
2
+shared options and groups
3
+
4
+The principle here is to define options once, but *not* instantiate them
5
+globally. One reason being that options with action='append' can carry state
6
+between parses. pip parses general options twice internally, and shouldn't
7
+pass on state. To be consistent, all options will follow this design.
8
+
9
+"""
10
+from __future__ import absolute_import
11
+
12
+import textwrap
13
+import warnings
14
+from distutils.util import strtobool
15
+from functools import partial
16
+from optparse import SUPPRESS_HELP, Option, OptionGroup
17
+
18
+from pip._internal.exceptions import CommandError
19
+from pip._internal.locations import USER_CACHE_DIR, src_prefix
20
+from pip._internal.models.format_control import FormatControl
21
+from pip._internal.models.index import PyPI
22
+from pip._internal.utils.hashes import STRONG_HASHES
23
+from pip._internal.utils.typing import MYPY_CHECK_RUNNING
24
+from pip._internal.utils.ui import BAR_TYPES
25
+
26
+if MYPY_CHECK_RUNNING:
27
+    from typing import Any, Callable, Dict, List, Optional, Union  # noqa: F401
28
+    from optparse import OptionParser, Values  # noqa: F401
29
+    from pip._internal.cli.parser import ConfigOptionParser  # noqa: F401
30
+
31
+
32
+def raise_option_error(parser, option, msg):
33
+    """
34
+    Raise an option parsing error using parser.error().
35
+
36
+    Args:
37
+      parser: an OptionParser instance.
38
+      option: an Option instance.
39
+      msg: the error text.
40
+    """
41
+    msg = '{} error: {}'.format(option, msg)
42
+    msg = textwrap.fill(' '.join(msg.split()))
43
+    parser.error(msg)
44
+
45
+
46
+def make_option_group(group, parser):
47
+    # type: (Dict[str, Any], ConfigOptionParser) -> OptionGroup
48
+    """
49
+    Return an OptionGroup object
50
+    group  -- assumed to be dict with 'name' and 'options' keys
51
+    parser -- an optparse Parser
52
+    """
53
+    option_group = OptionGroup(parser, group['name'])
54
+    for option in group['options']:
55
+        option_group.add_option(option())
56
+    return option_group
57
+
58
+
59
+def check_install_build_global(options, check_options=None):
60
+    # type: (Values, Optional[Values]) -> None
61
+    """Disable wheels if per-setup.py call options are set.
62
+
63
+    :param options: The OptionParser options to update.
64
+    :param check_options: The options to check, if not supplied defaults to
65
+        options.
66
+    """
67
+    if check_options is None:
68
+        check_options = options
69
+
70
+    def getname(n):
71
+        return getattr(check_options, n, None)
72
+    names = ["build_options", "global_options", "install_options"]
73
+    if any(map(getname, names)):
74
+        control = options.format_control
75
+        control.disallow_binaries()
76
+        warnings.warn(
77
+            'Disabling all use of wheels due to the use of --build-options '
78
+            '/ --global-options / --install-options.', stacklevel=2,
79
+        )
80
+
81
+
82
+def check_dist_restriction(options, check_target=False):
83
+    # type: (Values, bool) -> None
84
+    """Function for determining if custom platform options are allowed.
85
+
86
+    :param options: The OptionParser options.
87
+    :param check_target: Whether or not to check if --target is being used.
88
+    """
89
+    dist_restriction_set = any([
90
+        options.python_version,
91
+        options.platform,
92
+        options.abi,
93
+        options.implementation,
94
+    ])
95
+
96
+    binary_only = FormatControl(set(), {':all:'})
97
+    sdist_dependencies_allowed = (
98
+        options.format_control != binary_only and
99
+        not options.ignore_dependencies
100
+    )
101
+
102
+    # Installations or downloads using dist restrictions must not combine
103
+    # source distributions and dist-specific wheels, as they are not
104
+    # gauranteed to be locally compatible.
105
+    if dist_restriction_set and sdist_dependencies_allowed:
106
+        raise CommandError(
107
+            "When restricting platform and interpreter constraints using "
108
+            "--python-version, --platform, --abi, or --implementation, "
109
+            "either --no-deps must be set, or --only-binary=:all: must be "
110
+            "set and --no-binary must not be set (or must be set to "
111
+            ":none:)."
112
+        )
113
+
114
+    if check_target:
115
+        if dist_restriction_set and not options.target_dir:
116
+            raise CommandError(
117
+                "Can not use any platform or abi specific options unless "
118
+                "installing via '--target'"
119
+            )
120
+
121
+
122
+###########
123
+# options #
124
+###########
125
+
126
+help_ = partial(
127
+    Option,
128
+    '-h', '--help',
129
+    dest='help',
130
+    action='help',
131
+    help='Show help.',
132
+)  # type: Callable[..., Option]
133
+
134
+isolated_mode = partial(
135
+    Option,
136
+    "--isolated",
137
+    dest="isolated_mode",
138
+    action="store_true",
139
+    default=False,
140
+    help=(
141
+        "Run pip in an isolated mode, ignoring environment variables and user "
142
+        "configuration."
143
+    ),
144
+)  # type: Callable[..., Option]
145
+
146
+require_virtualenv = partial(
147
+    Option,
148
+    # Run only if inside a virtualenv, bail if not.
149
+    '--require-virtualenv', '--require-venv',
150
+    dest='require_venv',
151
+    action='store_true',
152
+    default=False,
153
+    help=SUPPRESS_HELP
154
+)  # type: Callable[..., Option]
155
+
156
+verbose = partial(
157
+    Option,
158
+    '-v', '--verbose',
159
+    dest='verbose',
160
+    action='count',
161
+    default=0,
162
+    help='Give more output. Option is additive, and can be used up to 3 times.'
163
+)  # type: Callable[..., Option]
164
+
165
+no_color = partial(
166
+    Option,
167
+    '--no-color',
168
+    dest='no_color',
169
+    action='store_true',
170
+    default=False,
171
+    help="Suppress colored output",
172
+)  # type: Callable[..., Option]
173
+
174
+version = partial(
175
+    Option,
176
+    '-V', '--version',
177
+    dest='version',
178
+    action='store_true',
179
+    help='Show version and exit.',
180
+)  # type: Callable[..., Option]
181
+
182
+quiet = partial(
183
+    Option,
184
+    '-q', '--quiet',
185
+    dest='quiet',
186
+    action='count',
187
+    default=0,
188
+    help=(
189
+        'Give less output. Option is additive, and can be used up to 3'
190
+        ' times (corresponding to WARNING, ERROR, and CRITICAL logging'
191
+        ' levels).'
192
+    ),
193
+)  # type: Callable[..., Option]
194
+
195
+progress_bar = partial(
196
+    Option,
197
+    '--progress-bar',
198
+    dest='progress_bar',
199
+    type='choice',
200
+    choices=list(BAR_TYPES.keys()),
201
+    default='on',
202
+    help=(
203
+        'Specify type of progress to be displayed [' +
204
+        '|'.join(BAR_TYPES.keys()) + '] (default: %default)'
205
+    ),
206
+)  # type: Callable[..., Option]
207
+
208
+log = partial(
209
+    Option,
210
+    "--log", "--log-file", "--local-log",
211
+    dest="log",
212
+    metavar="path",
213
+    help="Path to a verbose appending log."
214
+)  # type: Callable[..., Option]
215
+
216
+no_input = partial(
217
+    Option,
218
+    # Don't ask for input
219
+    '--no-input',
220
+    dest='no_input',
221
+    action='store_true',
222
+    default=False,
223
+    help=SUPPRESS_HELP
224
+)  # type: Callable[..., Option]
225
+
226
+proxy = partial(
227
+    Option,
228
+    '--proxy',
229
+    dest='proxy',
230
+    type='str',
231
+    default='',
232
+    help="Specify a proxy in the form [user:passwd@]proxy.server:port."
233
+)  # type: Callable[..., Option]
234
+
235
+retries = partial(
236
+    Option,
237
+    '--retries',
238
+    dest='retries',
239
+    type='int',
240
+    default=5,
241
+    help="Maximum number of retries each connection should attempt "
242
+         "(default %default times).",
243
+)  # type: Callable[..., Option]
244
+
245
+timeout = partial(
246
+    Option,
247
+    '--timeout', '--default-timeout',
248
+    metavar='sec',
249
+    dest='timeout',
250
+    type='float',
251
+    default=15,
252
+    help='Set the socket timeout (default %default seconds).',
253
+)  # type: Callable[..., Option]
254
+
255
+skip_requirements_regex = partial(
256
+    Option,
257
+    # A regex to be used to skip requirements
258
+    '--skip-requirements-regex',
259
+    dest='skip_requirements_regex',
260
+    type='str',
261
+    default='',
262
+    help=SUPPRESS_HELP,
263
+)  # type: Callable[..., Option]
264
+
265
+
266
+def exists_action():
267
+    # type: () -> Option
268
+    return Option(
269
+        # Option when path already exist
270
+        '--exists-action',
271
+        dest='exists_action',
272
+        type='choice',
273
+        choices=['s', 'i', 'w', 'b', 'a'],
274
+        default=[],
275
+        action='append',
276
+        metavar='action',
277
+        help="Default action when a path already exists: "
278
+             "(s)witch, (i)gnore, (w)ipe, (b)ackup, (a)bort).",
279
+    )
280
+
281
+
282
+cert = partial(
283
+    Option,
284
+    '--cert',
285
+    dest='cert',
286
+    type='str',
287
+    metavar='path',
288
+    help="Path to alternate CA bundle.",
289
+)  # type: Callable[..., Option]
290
+
291
+client_cert = partial(
292
+    Option,
293
+    '--client-cert',
294
+    dest='client_cert',
295
+    type='str',
296
+    default=None,
297
+    metavar='path',
298
+    help="Path to SSL client certificate, a single file containing the "
299
+         "private key and the certificate in PEM format.",
300
+)  # type: Callable[..., Option]
301
+
302
+index_url = partial(
303
+    Option,
304
+    '-i', '--index-url', '--pypi-url',
305
+    dest='index_url',
306
+    metavar='URL',
307
+    default=PyPI.simple_url,
308
+    help="Base URL of Python Package Index (default %default). "
309
+         "This should point to a repository compliant with PEP 503 "
310
+         "(the simple repository API) or a local directory laid out "
311
+         "in the same format.",
312
+)  # type: Callable[..., Option]
313
+
314
+
315
+def extra_index_url():
316
+    return Option(
317
+        '--extra-index-url',
318
+        dest='extra_index_urls',
319
+        metavar='URL',
320
+        action='append',
321
+        default=[],
322
+        help="Extra URLs of package indexes to use in addition to "
323
+             "--index-url. Should follow the same rules as "
324
+             "--index-url.",
325
+    )
326
+
327
+
328
+no_index = partial(
329
+    Option,
330
+    '--no-index',
331
+    dest='no_index',
332
+    action='store_true',
333
+    default=False,
334
+    help='Ignore package index (only looking at --find-links URLs instead).',
335
+)  # type: Callable[..., Option]
336
+
337
+
338
+def find_links():
339
+    # type: () -> Option
340
+    return Option(
341
+        '-f', '--find-links',
342
+        dest='find_links',
343
+        action='append',
344
+        default=[],
345
+        metavar='url',
346
+        help="If a url or path to an html file, then parse for links to "
347
+             "archives. If a local path or file:// url that's a directory, "
348
+             "then look for archives in the directory listing.",
349
+    )
350
+
351
+
352
+def trusted_host():
353
+    # type: () -> Option
354
+    return Option(
355
+        "--trusted-host",
356
+        dest="trusted_hosts",
357
+        action="append",
358
+        metavar="HOSTNAME",
359
+        default=[],
360
+        help="Mark this host as trusted, even though it does not have valid "
361
+             "or any HTTPS.",
362
+    )
363
+
364
+
365
+def constraints():
366
+    # type: () -> Option
367
+    return Option(
368
+        '-c', '--constraint',
369
+        dest='constraints',
370
+        action='append',
371
+        default=[],
372
+        metavar='file',
373
+        help='Constrain versions using the given constraints file. '
374
+        'This option can be used multiple times.'
375
+    )
376
+
377
+
378
+def requirements():
379
+    # type: () -> Option
380
+    return Option(
381
+        '-r', '--requirement',
382
+        dest='requirements',
383
+        action='append',
384
+        default=[],
385
+        metavar='file',
386
+        help='Install from the given requirements file. '
387
+        'This option can be used multiple times.'
388
+    )
389
+
390
+
391
+def editable():
392
+    # type: () -> Option
393
+    return Option(
394
+        '-e', '--editable',
395
+        dest='editables',
396
+        action='append',
397
+        default=[],
398
+        metavar='path/url',
399
+        help=('Install a project in editable mode (i.e. setuptools '
400
+              '"develop mode") from a local project path or a VCS url.'),
401
+    )
402
+
403
+
404
+src = partial(
405
+    Option,
406
+    '--src', '--source', '--source-dir', '--source-directory',
407
+    dest='src_dir',
408
+    metavar='dir',
409
+    default=src_prefix,
410
+    help='Directory to check out editable projects into. '
411
+    'The default in a virtualenv is "<venv path>/src". '
412
+    'The default for global installs is "<current dir>/src".'
413
+)  # type: Callable[..., Option]
414
+
415
+
416
+def _get_format_control(values, option):
417
+    # type: (Values, Option) -> Any
418
+    """Get a format_control object."""
419
+    return getattr(values, option.dest)
420
+
421
+
422
+def _handle_no_binary(option, opt_str, value, parser):
423
+    # type: (Option, str, str, OptionParser) -> None
424
+    existing = _get_format_control(parser.values, option)
425
+    FormatControl.handle_mutual_excludes(
426
+        value, existing.no_binary, existing.only_binary,
427
+    )
428
+
429
+
430
+def _handle_only_binary(option, opt_str, value, parser):
431
+    # type: (Option, str, str, OptionParser) -> None
432
+    existing = _get_format_control(parser.values, option)
433
+    FormatControl.handle_mutual_excludes(
434
+        value, existing.only_binary, existing.no_binary,
435
+    )
436
+
437
+
438
+def no_binary():
439
+    # type: () -> Option
440
+    format_control = FormatControl(set(), set())
441
+    return Option(
442
+        "--no-binary", dest="format_control", action="callback",
443
+        callback=_handle_no_binary, type="str",
444
+        default=format_control,
445
+        help="Do not use binary packages. Can be supplied multiple times, and "
446
+             "each time adds to the existing value. Accepts either :all: to "
447
+             "disable all binary packages, :none: to empty the set, or one or "
448
+             "more package names with commas between them. Note that some "
449
+             "packages are tricky to compile and may fail to install when "
450
+             "this option is used on them.",
451
+    )
452
+
453
+
454
+def only_binary():
455
+    # type: () -> Option
456
+    format_control = FormatControl(set(), set())
457
+    return Option(
458
+        "--only-binary", dest="format_control", action="callback",
459
+        callback=_handle_only_binary, type="str",
460
+        default=format_control,
461
+        help="Do not use source packages. Can be supplied multiple times, and "
462
+             "each time adds to the existing value. Accepts either :all: to "
463
+             "disable all source packages, :none: to empty the set, or one or "
464
+             "more package names with commas between them. Packages without "
465
+             "binary distributions will fail to install when this option is "
466
+             "used on them.",
467
+    )
468
+
469
+
470
+platform = partial(
471
+    Option,
472
+    '--platform',
473
+    dest='platform',
474
+    metavar='platform',
475
+    default=None,
476
+    help=("Only use wheels compatible with <platform>. "
477
+          "Defaults to the platform of the running system."),
478
+)  # type: Callable[..., Option]
479
+
480
+
481
+python_version = partial(
482
+    Option,
483
+    '--python-version',
484
+    dest='python_version',
485
+    metavar='python_version',
486
+    default=None,
487
+    help=("Only use wheels compatible with Python "
488
+          "interpreter version <version>. If not specified, then the "
489
+          "current system interpreter minor version is used. A major "
490
+          "version (e.g. '2') can be specified to match all "
491
+          "minor revs of that major version.  A minor version "
492
+          "(e.g. '34') can also be specified."),
493
+)  # type: Callable[..., Option]
494
+
495
+
496
+implementation = partial(
497
+    Option,
498
+    '--implementation',
499
+    dest='implementation',
500
+    metavar='implementation',
501
+    default=None,
502
+    help=("Only use wheels compatible with Python "
503
+          "implementation <implementation>, e.g. 'pp', 'jy', 'cp', "
504
+          " or 'ip'. If not specified, then the current "
505
+          "interpreter implementation is used.  Use 'py' to force "
506
+          "implementation-agnostic wheels."),
507
+)  # type: Callable[..., Option]
508
+
509
+
510
+abi = partial(
511
+    Option,
512
+    '--abi',
513
+    dest='abi',
514
+    metavar='abi',
515
+    default=None,
516
+    help=("Only use wheels compatible with Python "
517
+          "abi <abi>, e.g. 'pypy_41'.  If not specified, then the "
518
+          "current interpreter abi tag is used.  Generally "
519
+          "you will need to specify --implementation, "
520
+          "--platform, and --python-version when using "
521
+          "this option."),
522
+)  # type: Callable[..., Option]
523
+
524
+
525
+def prefer_binary():
526
+    # type: () -> Option
527
+    return Option(
528
+        "--prefer-binary",
529
+        dest="prefer_binary",
530
+        action="store_true",
531
+        default=False,
532
+        help="Prefer older binary packages over newer source packages."
533
+    )
534
+
535
+
536
+cache_dir = partial(
537
+    Option,
538
+    "--cache-dir",
539
+    dest="cache_dir",
540
+    default=USER_CACHE_DIR,
541
+    metavar="dir",
542
+    help="Store the cache data in <dir>."
543
+)  # type: Callable[..., Option]
544
+
545
+
546
+def no_cache_dir_callback(option, opt, value, parser):
547
+    """
548
+    Process a value provided for the --no-cache-dir option.
549
+
550
+    This is an optparse.Option callback for the --no-cache-dir option.
551
+    """
552
+    # The value argument will be None if --no-cache-dir is passed via the
553
+    # command-line, since the option doesn't accept arguments.  However,
554
+    # the value can be non-None if the option is triggered e.g. by an
555
+    # environment variable, like PIP_NO_CACHE_DIR=true.
556
+    if value is not None:
557
+        # Then parse the string value to get argument error-checking.
558
+        try:
559
+            strtobool(value)
560
+        except ValueError as exc:
561
+            raise_option_error(parser, option=option, msg=str(exc))
562
+
563
+    # Originally, setting PIP_NO_CACHE_DIR to a value that strtobool()
564
+    # converted to 0 (like "false" or "no") caused cache_dir to be disabled
565
+    # rather than enabled (logic would say the latter).  Thus, we disable
566
+    # the cache directory not just on values that parse to True, but (for
567
+    # backwards compatibility reasons) also on values that parse to False.
568
+    # In other words, always set it to False if the option is provided in
569
+    # some (valid) form.
570
+    parser.values.cache_dir = False
571
+
572
+
573
+no_cache = partial(
574
+    Option,
575
+    "--no-cache-dir",
576
+    dest="cache_dir",
577
+    action="callback",
578
+    callback=no_cache_dir_callback,
579
+    help="Disable the cache.",
580
+)  # type: Callable[..., Option]
581
+
582
+no_deps = partial(
583
+    Option,
584
+    '--no-deps', '--no-dependencies',
585
+    dest='ignore_dependencies',
586
+    action='store_true',
587
+    default=False,
588
+    help="Don't install package dependencies.",
589
+)  # type: Callable[..., Option]
590
+
591
+build_dir = partial(
592
+    Option,
593
+    '-b', '--build', '--build-dir', '--build-directory',
594
+    dest='build_dir',
595
+    metavar='dir',
596
+    help='Directory to unpack packages into and build in. Note that '
597
+         'an initial build still takes place in a temporary directory. '
598
+         'The location of temporary directories can be controlled by setting '
599
+         'the TMPDIR environment variable (TEMP on Windows) appropriately. '
600
+         'When passed, build directories are not cleaned in case of failures.'
601
+)  # type: Callable[..., Option]
602
+
603
+ignore_requires_python = partial(
604
+    Option,
605
+    '--ignore-requires-python',
606
+    dest='ignore_requires_python',
607
+    action='store_true',
608
+    help='Ignore the Requires-Python information.'
609
+)  # type: Callable[..., Option]
610
+
611
+no_build_isolation = partial(
612
+    Option,
613
+    '--no-build-isolation',
614
+    dest='build_isolation',
615
+    action='store_false',
616
+    default=True,
617
+    help='Disable isolation when building a modern source distribution. '
618
+         'Build dependencies specified by PEP 518 must be already installed '
619
+         'if this option is used.'
620
+)  # type: Callable[..., Option]
621
+
622
+
623
+def no_use_pep517_callback(option, opt, value, parser):
624
+    """
625
+    Process a value provided for the --no-use-pep517 option.
626
+
627
+    This is an optparse.Option callback for the no_use_pep517 option.
628
+    """
629
+    # Since --no-use-pep517 doesn't accept arguments, the value argument
630
+    # will be None if --no-use-pep517 is passed via the command-line.
631
+    # However, the value can be non-None if the option is triggered e.g.
632
+    # by an environment variable, for example "PIP_NO_USE_PEP517=true".
633
+    if value is not None:
634
+        msg = """A value was passed for --no-use-pep517,
635
+        probably using either the PIP_NO_USE_PEP517 environment variable
636
+        or the "no-use-pep517" config file option. Use an appropriate value
637
+        of the PIP_USE_PEP517 environment variable or the "use-pep517"
638
+        config file option instead.
639
+        """
640
+        raise_option_error(parser, option=option, msg=msg)
641
+
642
+    # Otherwise, --no-use-pep517 was passed via the command-line.
643
+    parser.values.use_pep517 = False
644
+
645
+