Mercurial > repos > shellac > sam_consensus_v3
comparison env/lib/python3.9/site-packages/pip/_vendor/__init__.py @ 0:4f3585e2f14b draft default tip
"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author | shellac |
---|---|
date | Mon, 22 Mar 2021 18:12:50 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4f3585e2f14b |
---|---|
1 """ | |
2 pip._vendor is for vendoring dependencies of pip to prevent needing pip to | |
3 depend on something external. | |
4 | |
5 Files inside of pip._vendor should be considered immutable and should only be | |
6 updated to versions from upstream. | |
7 """ | |
8 from __future__ import absolute_import | |
9 | |
10 import glob | |
11 import os.path | |
12 import sys | |
13 | |
14 # Downstream redistributors which have debundled our dependencies should also | |
15 # patch this value to be true. This will trigger the additional patching | |
16 # to cause things like "six" to be available as pip. | |
17 DEBUNDLED = False | |
18 | |
19 # By default, look in this directory for a bunch of .whl files which we will | |
20 # add to the beginning of sys.path before attempting to import anything. This | |
21 # is done to support downstream re-distributors like Debian and Fedora who | |
22 # wish to create their own Wheels for our dependencies to aid in debundling. | |
23 WHEEL_DIR = os.path.abspath(os.path.dirname(__file__)) | |
24 | |
25 | |
26 # Define a small helper function to alias our vendored modules to the real ones | |
27 # if the vendored ones do not exist. This idea of this was taken from | |
28 # https://github.com/kennethreitz/requests/pull/2567. | |
29 def vendored(modulename): | |
30 vendored_name = "{0}.{1}".format(__name__, modulename) | |
31 | |
32 try: | |
33 __import__(modulename, globals(), locals(), level=0) | |
34 except ImportError: | |
35 # We can just silently allow import failures to pass here. If we | |
36 # got to this point it means that ``import pip._vendor.whatever`` | |
37 # failed and so did ``import whatever``. Since we're importing this | |
38 # upfront in an attempt to alias imports, not erroring here will | |
39 # just mean we get a regular import error whenever pip *actually* | |
40 # tries to import one of these modules to use it, which actually | |
41 # gives us a better error message than we would have otherwise | |
42 # gotten. | |
43 pass | |
44 else: | |
45 sys.modules[vendored_name] = sys.modules[modulename] | |
46 base, head = vendored_name.rsplit(".", 1) | |
47 setattr(sys.modules[base], head, sys.modules[modulename]) | |
48 | |
49 | |
50 # If we're operating in a debundled setup, then we want to go ahead and trigger | |
51 # the aliasing of our vendored libraries as well as looking for wheels to add | |
52 # to our sys.path. This will cause all of this code to be a no-op typically | |
53 # however downstream redistributors can enable it in a consistent way across | |
54 # all platforms. | |
55 if DEBUNDLED: | |
56 # Actually look inside of WHEEL_DIR to find .whl files and add them to the | |
57 # front of our sys.path. | |
58 sys.path[:] = glob.glob(os.path.join(WHEEL_DIR, "*.whl")) + sys.path | |
59 | |
60 # Actually alias all of our vendored dependencies. | |
61 vendored("appdirs") | |
62 vendored("cachecontrol") | |
63 vendored("certifi") | |
64 vendored("colorama") | |
65 vendored("contextlib2") | |
66 vendored("distlib") | |
67 vendored("distro") | |
68 vendored("html5lib") | |
69 vendored("six") | |
70 vendored("six.moves") | |
71 vendored("six.moves.urllib") | |
72 vendored("six.moves.urllib.parse") | |
73 vendored("packaging") | |
74 vendored("packaging.version") | |
75 vendored("packaging.specifiers") | |
76 vendored("pep517") | |
77 vendored("pkg_resources") | |
78 vendored("progress") | |
79 vendored("retrying") | |
80 vendored("requests") | |
81 vendored("requests.exceptions") | |
82 vendored("requests.packages") | |
83 vendored("requests.packages.urllib3") | |
84 vendored("requests.packages.urllib3._collections") | |
85 vendored("requests.packages.urllib3.connection") | |
86 vendored("requests.packages.urllib3.connectionpool") | |
87 vendored("requests.packages.urllib3.contrib") | |
88 vendored("requests.packages.urllib3.contrib.ntlmpool") | |
89 vendored("requests.packages.urllib3.contrib.pyopenssl") | |
90 vendored("requests.packages.urllib3.exceptions") | |
91 vendored("requests.packages.urllib3.fields") | |
92 vendored("requests.packages.urllib3.filepost") | |
93 vendored("requests.packages.urllib3.packages") | |
94 vendored("requests.packages.urllib3.packages.ordered_dict") | |
95 vendored("requests.packages.urllib3.packages.six") | |
96 vendored("requests.packages.urllib3.packages.ssl_match_hostname") | |
97 vendored("requests.packages.urllib3.packages.ssl_match_hostname." | |
98 "_implementation") | |
99 vendored("requests.packages.urllib3.poolmanager") | |
100 vendored("requests.packages.urllib3.request") | |
101 vendored("requests.packages.urllib3.response") | |
102 vendored("requests.packages.urllib3.util") | |
103 vendored("requests.packages.urllib3.util.connection") | |
104 vendored("requests.packages.urllib3.util.request") | |
105 vendored("requests.packages.urllib3.util.response") | |
106 vendored("requests.packages.urllib3.util.retry") | |
107 vendored("requests.packages.urllib3.util.ssl_") | |
108 vendored("requests.packages.urllib3.util.timeout") | |
109 vendored("requests.packages.urllib3.util.url") | |
110 vendored("resolvelib") | |
111 vendored("toml") | |
112 vendored("toml.encoder") | |
113 vendored("toml.decoder") | |
114 vendored("urllib3") |