com.googler.python 1.0.7 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +4 -2
- package/python3.4.2/lib/python3.4/site-packages/pip/__init__.py +1 -277
- package/python3.4.2/lib/python3.4/site-packages/pip/__main__.py +19 -7
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/__init__.py +246 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/basecommand.py +373 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/{baseparser.py → _internal/baseparser.py} +240 -224
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/build_env.py +92 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/cache.py +202 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/cmdoptions.py +609 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/__init__.py +79 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/check.py +42 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/completion.py +94 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/configuration.py +227 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/download.py +233 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/freeze.py +96 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/hash.py +57 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/{commands → _internal/commands}/help.py +36 -33
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/install.py +477 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/list.py +343 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/search.py +135 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/show.py +164 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/uninstall.py +71 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/commands/wheel.py +179 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/compat.py +235 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/configuration.py +378 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/download.py +922 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/exceptions.py +249 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/index.py +1117 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/locations.py +194 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/models/__init__.py +4 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/models/index.py +15 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/{_vendor/requests/packages/urllib3/contrib → _internal/operations}/__init__.py +0 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/operations/check.py +106 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/operations/freeze.py +252 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/operations/prepare.py +378 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/pep425tags.py +317 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/req/__init__.py +69 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/req/req_file.py +338 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/req/req_install.py +1115 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/req/req_set.py +164 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/req/req_uninstall.py +455 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/resolve.py +354 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/{status_codes.py → _internal/status_codes.py} +8 -6
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/__init__.py +0 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/appdirs.py +258 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/deprecation.py +77 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/encoding.py +33 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/filesystem.py +28 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/glibc.py +84 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/hashes.py +94 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/logging.py +132 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/misc.py +851 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/outdated.py +163 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/packaging.py +70 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/setuptools_build.py +8 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/temp_dir.py +82 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/typing.py +29 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/utils/ui.py +421 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/vcs/__init__.py +471 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/vcs/bazaar.py +113 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/vcs/git.py +311 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/vcs/mercurial.py +105 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/vcs/subversion.py +271 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_internal/wheel.py +817 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/__init__.py +109 -8
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/appdirs.py +604 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/__init__.py +11 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/_cmd.py +60 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/adapter.py +134 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/cache.py +39 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +2 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +133 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +43 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/compat.py +29 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/controller.py +373 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/filewrapper.py +78 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/heuristics.py +138 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/serialize.py +194 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/cachecontrol/wrapper.py +27 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/certifi/__init__.py +3 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/certifi/__main__.py +2 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests → certifi}/cacert.pem +1765 -2358
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/certifi/core.py +37 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/__init__.py +39 -32
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/big5freq.py +386 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/big5prober.py +47 -42
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/chardistribution.py +233 -231
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/charsetgroupprober.py +106 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/charsetprober.py +145 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/cli/__init__.py +1 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/cli/chardetect.py +85 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/codingstatemachine.py +88 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/compat.py +34 -34
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/cp949prober.py +49 -44
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/enums.py +76 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/escprober.py +101 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/escsm.py +246 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/eucjpprober.py +92 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/euckrfreq.py +195 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/euckrprober.py +47 -42
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/euctwfreq.py +387 -428
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/euctwprober.py +46 -41
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/gb2312freq.py +283 -472
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/gb2312prober.py +46 -41
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/hebrewprober.py +292 -283
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/jisfreq.py +325 -569
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/jpcntx.py +233 -219
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/langbulgarianmodel.py +228 -229
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/langcyrillicmodel.py +333 -329
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/langgreekmodel.py +225 -225
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/langhebrewmodel.py +200 -201
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/langhungarianmodel.py +225 -225
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/langthaimodel.py +199 -200
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/langturkishmodel.py +193 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/latin1prober.py +145 -139
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/mbcharsetprober.py +91 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/mbcsgroupprober.py +54 -54
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/mbcssm.py +572 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/sbcharsetprober.py +132 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/sbcsgroupprober.py +73 -69
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/sjisprober.py +92 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/universaldetector.py +286 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/chardet → chardet}/utf8prober.py +82 -76
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/chardet/version.py +9 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/colorama/__init__.py +7 -7
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/colorama/ansi.py +102 -50
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/colorama/ansitowin32.py +236 -190
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/colorama/initialise.py +82 -56
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/colorama/win32.py +156 -137
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/colorama/winterm.py +162 -120
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/__init__.py +23 -23
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/_backport/__init__.py +6 -6
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/_backport/misc.py +41 -41
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/_backport/shutil.py +761 -761
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg +84 -84
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/_backport/sysconfig.py +788 -788
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/_backport/tarfile.py +2607 -2607
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/compat.py +1117 -1064
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/database.py +1318 -1301
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/index.py +516 -488
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/locators.py +1292 -1194
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/manifest.py +393 -364
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/markers.py +131 -190
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/metadata.py +1068 -1026
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/resources.py +355 -317
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/scripts.py +415 -323
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/t32.exe +0 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/t64.exe +0 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/util.py +1755 -1575
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/version.py +736 -721
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/w32.exe +0 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/w64.exe +0 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distlib/wheel.py +984 -958
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/distro.py +1104 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/__init__.py +35 -23
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{ihatexml.py → _ihatexml.py} +288 -285
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{inputstream.py → _inputstream.py} +923 -881
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{tokenizer.py → _tokenizer.py} +1721 -1731
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{trie → _trie}/__init__.py +14 -12
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{trie → _trie}/_base.py +37 -37
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{trie → _trie}/datrie.py +44 -44
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{trie → _trie}/py.py +67 -67
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/{utils.py → _utils.py} +124 -82
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/constants.py +2947 -3104
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py +29 -20
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/{_base.py → base.py} +12 -12
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py +73 -65
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/lint.py +93 -93
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/optionaltags.py +207 -205
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/sanitizer.py +896 -12
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/filters/whitespace.py +38 -38
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/html5parser.py +2791 -2713
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/serializer.py +409 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py +30 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treeadapters/genshi.py +54 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treeadapters/sax.py +50 -44
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py +88 -76
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treebuilders/{_base.py → base.py} +417 -377
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treebuilders/dom.py +236 -227
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treebuilders/etree.py +340 -337
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py +366 -369
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py +154 -57
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/{_base.py → base.py} +252 -200
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/dom.py +43 -46
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/etree.py +130 -138
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/{lxmletree.py → etree_lxml.py} +213 -208
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/{genshistream.py → genshi.py} +69 -69
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/__init__.py +2 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/codec.py +118 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/compat.py +12 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/core.py +387 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/idnadata.py +1585 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/intranges.py +53 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/package_data.py +2 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/idna/uts46data.py +7634 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/ipaddress.py +2419 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/lockfile/__init__.py +347 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/lockfile/linklockfile.py +73 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/lockfile/mkdirlockfile.py +84 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/lockfile/pidlockfile.py +190 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/lockfile/sqlitelockfile.py +156 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/lockfile/symlinklockfile.py +70 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/msgpack/__init__.py +66 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/msgpack/_version.py +1 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/msgpack/exceptions.py +41 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/msgpack/fallback.py +971 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/__about__.py +21 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/__init__.py +14 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/_compat.py +30 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/_structures.py +70 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/markers.py +301 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/requirements.py +130 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/specifiers.py +774 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/utils.py +63 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/packaging/version.py +441 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{pkg_resources.py → pkg_resources/__init__.py} +3125 -2762
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/pkg_resources/py31compat.py +22 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/progress/__init__.py +127 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/progress/bar.py +88 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/progress/counter.py +48 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/progress/helpers.py +91 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/progress/spinner.py +44 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/pyparsing.py +5720 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/pytoml/__init__.py +3 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/pytoml/core.py +13 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/pytoml/parser.py +374 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/pytoml/writer.py +127 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/__init__.py +123 -77
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/__version__.py +14 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/_internal_utils.py +42 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/adapters.py +525 -388
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/api.py +152 -120
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/auth.py +293 -193
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/certs.py +18 -24
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/compat.py +73 -115
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/cookies.py +542 -454
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/exceptions.py +122 -75
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/help.py +120 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/hooks.py +34 -45
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/models.py +948 -803
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages.py +16 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/sessions.py +737 -637
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/status_codes.py +91 -88
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/structures.py +105 -127
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/utils.py +904 -673
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/retrying.py +267 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/six.py +891 -646
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/__init__.py +97 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/_collections.py +319 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/connection.py +373 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/connectionpool.py +905 -710
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +593 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +343 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/appengine.py +296 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/contrib/ntlmpool.py +112 -120
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +455 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +810 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/contrib/socks.py +188 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/exceptions.py +246 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/fields.py +178 -177
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/filepost.py +94 -100
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/packages/__init__.py +5 -4
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +53 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/packages/ordered_dict.py +259 -260
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/packages/six.py +868 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/packages/ssl_match_hostname/__init__.py +19 -13
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/packages/ssl_match_hostname/_implementation.py +157 -105
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/poolmanager.py +440 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/request.py +148 -141
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/response.py +626 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/__init__.py +54 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/connection.py +130 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/request.py +118 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/response.py +81 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/retry.py +401 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/selectors.py +581 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/ssl_.py +341 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/util/timeout.py +242 -234
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/{requests/packages/urllib3 → urllib3}/util/url.py +230 -162
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/urllib3/util/wait.py +40 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/webencodings/__init__.py +342 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/webencodings/labels.py +231 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/webencodings/mklabels.py +59 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/webencodings/tests.py +153 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/webencodings/x_user_defined.py +325 -0
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/_markerlib/__init__.py +0 -16
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/_markerlib/markers.py +0 -119
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/sanitizer.py +0 -271
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/serializer/__init__.py +0 -16
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/serializer/htmlserializer.py +0 -320
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/html5lib/treewalkers/pulldom.py +0 -63
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/re-vendor.py +0 -34
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/__init__.py +0 -3
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/big5freq.py +0 -925
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/chardetect.py +0 -46
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/charsetgroupprober.py +0 -106
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/charsetprober.py +0 -62
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/codingstatemachine.py +0 -61
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/constants.py +0 -39
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/escprober.py +0 -86
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/escsm.py +0 -242
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/eucjpprober.py +0 -90
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/euckrfreq.py +0 -596
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/mbcharsetprober.py +0 -86
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/mbcssm.py +0 -575
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/sbcharsetprober.py +0 -120
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/sjisprober.py +0 -91
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/chardet/universaldetector.py +0 -170
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/__init__.py +0 -58
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/_collections.py +0 -205
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/connection.py +0 -204
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/contrib/pyopenssl.py +0 -422
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/exceptions.py +0 -126
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/packages/six.py +0 -385
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/poolmanager.py +0 -258
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/response.py +0 -308
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/util/__init__.py +0 -27
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/util/connection.py +0 -45
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/util/request.py +0 -68
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/util/response.py +0 -13
- package/python3.4.2/lib/python3.4/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py +0 -133
- package/python3.4.2/lib/python3.4/site-packages/pip/backwardcompat/__init__.py +0 -138
- package/python3.4.2/lib/python3.4/site-packages/pip/basecommand.py +0 -201
- package/python3.4.2/lib/python3.4/site-packages/pip/cmdoptions.py +0 -371
- package/python3.4.2/lib/python3.4/site-packages/pip/commands/__init__.py +0 -88
- package/python3.4.2/lib/python3.4/site-packages/pip/commands/bundle.py +0 -42
- package/python3.4.2/lib/python3.4/site-packages/pip/commands/completion.py +0 -59
- package/python3.4.2/lib/python3.4/site-packages/pip/commands/freeze.py +0 -114
- package/python3.4.2/lib/python3.4/site-packages/pip/commands/install.py +0 -314
- package/python3.4.2/lib/python3.4/site-packages/pip/commands/list.py +0 -162
- package/python3.4.2/lib/python3.4/site-packages/pip/commands/search.py +0 -132
- package/python3.4.2/lib/python3.4/site-packages/pip/commands/show.py +0 -80
- package/python3.4.2/lib/python3.4/site-packages/pip/commands/uninstall.py +0 -59
- package/python3.4.2/lib/python3.4/site-packages/pip/commands/unzip.py +0 -7
- package/python3.4.2/lib/python3.4/site-packages/pip/commands/wheel.py +0 -195
- package/python3.4.2/lib/python3.4/site-packages/pip/commands/zip.py +0 -351
- package/python3.4.2/lib/python3.4/site-packages/pip/download.py +0 -644
- package/python3.4.2/lib/python3.4/site-packages/pip/exceptions.py +0 -46
- package/python3.4.2/lib/python3.4/site-packages/pip/index.py +0 -990
- package/python3.4.2/lib/python3.4/site-packages/pip/locations.py +0 -171
- package/python3.4.2/lib/python3.4/site-packages/pip/log.py +0 -276
- package/python3.4.2/lib/python3.4/site-packages/pip/pep425tags.py +0 -102
- package/python3.4.2/lib/python3.4/site-packages/pip/req.py +0 -1931
- package/python3.4.2/lib/python3.4/site-packages/pip/runner.py +0 -18
- package/python3.4.2/lib/python3.4/site-packages/pip/util.py +0 -720
- package/python3.4.2/lib/python3.4/site-packages/pip/vcs/__init__.py +0 -251
- package/python3.4.2/lib/python3.4/site-packages/pip/vcs/bazaar.py +0 -131
- package/python3.4.2/lib/python3.4/site-packages/pip/vcs/git.py +0 -194
- package/python3.4.2/lib/python3.4/site-packages/pip/vcs/mercurial.py +0 -151
- package/python3.4.2/lib/python3.4/site-packages/pip/vcs/subversion.py +0 -273
- package/python3.4.2/lib/python3.4/site-packages/pip/wheel.py +0 -560
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
from __future__ import absolute_import
|
|
2
|
+
|
|
3
|
+
import logging
|
|
4
|
+
|
|
5
|
+
from .req_install import InstallRequirement
|
|
6
|
+
from .req_set import RequirementSet
|
|
7
|
+
from .req_file import parse_requirements
|
|
8
|
+
from pip._internal.utils.logging import indent_log
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
__all__ = [
|
|
12
|
+
"RequirementSet", "InstallRequirement",
|
|
13
|
+
"parse_requirements", "install_given_reqs",
|
|
14
|
+
]
|
|
15
|
+
|
|
16
|
+
logger = logging.getLogger(__name__)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def install_given_reqs(to_install, install_options, global_options=(),
|
|
20
|
+
*args, **kwargs):
|
|
21
|
+
"""
|
|
22
|
+
Install everything in the given list.
|
|
23
|
+
|
|
24
|
+
(to be called after having downloaded and unpacked the packages)
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
if to_install:
|
|
28
|
+
logger.info(
|
|
29
|
+
'Installing collected packages: %s',
|
|
30
|
+
', '.join([req.name for req in to_install]),
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
with indent_log():
|
|
34
|
+
for requirement in to_install:
|
|
35
|
+
if requirement.conflicts_with:
|
|
36
|
+
logger.info(
|
|
37
|
+
'Found existing installation: %s',
|
|
38
|
+
requirement.conflicts_with,
|
|
39
|
+
)
|
|
40
|
+
with indent_log():
|
|
41
|
+
uninstalled_pathset = requirement.uninstall(
|
|
42
|
+
auto_confirm=True
|
|
43
|
+
)
|
|
44
|
+
try:
|
|
45
|
+
requirement.install(
|
|
46
|
+
install_options,
|
|
47
|
+
global_options,
|
|
48
|
+
*args,
|
|
49
|
+
**kwargs
|
|
50
|
+
)
|
|
51
|
+
except:
|
|
52
|
+
should_rollback = (
|
|
53
|
+
requirement.conflicts_with and
|
|
54
|
+
not requirement.install_succeeded
|
|
55
|
+
)
|
|
56
|
+
# if install did not succeed, rollback previous uninstall
|
|
57
|
+
if should_rollback:
|
|
58
|
+
uninstalled_pathset.rollback()
|
|
59
|
+
raise
|
|
60
|
+
else:
|
|
61
|
+
should_commit = (
|
|
62
|
+
requirement.conflicts_with and
|
|
63
|
+
requirement.install_succeeded
|
|
64
|
+
)
|
|
65
|
+
if should_commit:
|
|
66
|
+
uninstalled_pathset.commit()
|
|
67
|
+
requirement.remove_temporary_source()
|
|
68
|
+
|
|
69
|
+
return to_install
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Requirements file parsing
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
from __future__ import absolute_import
|
|
6
|
+
|
|
7
|
+
import optparse
|
|
8
|
+
import os
|
|
9
|
+
import re
|
|
10
|
+
import shlex
|
|
11
|
+
import sys
|
|
12
|
+
|
|
13
|
+
from pip._vendor.six.moves import filterfalse
|
|
14
|
+
from pip._vendor.six.moves.urllib import parse as urllib_parse
|
|
15
|
+
|
|
16
|
+
from pip._internal import cmdoptions
|
|
17
|
+
from pip._internal.download import get_file_content
|
|
18
|
+
from pip._internal.exceptions import RequirementsFileParseError
|
|
19
|
+
from pip._internal.req.req_install import InstallRequirement
|
|
20
|
+
|
|
21
|
+
__all__ = ['parse_requirements']
|
|
22
|
+
|
|
23
|
+
SCHEME_RE = re.compile(r'^(http|https|file):', re.I)
|
|
24
|
+
COMMENT_RE = re.compile(r'(^|\s)+#.*$')
|
|
25
|
+
|
|
26
|
+
# Matches environment variable-style values in '${MY_VARIABLE_1}' with the
|
|
27
|
+
# variable name consisting of only uppercase letters, digits or the '_'
|
|
28
|
+
# (underscore). This follows the POSIX standard defined in IEEE Std 1003.1,
|
|
29
|
+
# 2013 Edition.
|
|
30
|
+
ENV_VAR_RE = re.compile(r'(?P<var>\$\{(?P<name>[A-Z0-9_]+)\})')
|
|
31
|
+
|
|
32
|
+
SUPPORTED_OPTIONS = [
|
|
33
|
+
cmdoptions.constraints,
|
|
34
|
+
cmdoptions.editable,
|
|
35
|
+
cmdoptions.requirements,
|
|
36
|
+
cmdoptions.no_index,
|
|
37
|
+
cmdoptions.index_url,
|
|
38
|
+
cmdoptions.find_links,
|
|
39
|
+
cmdoptions.extra_index_url,
|
|
40
|
+
cmdoptions.always_unzip,
|
|
41
|
+
cmdoptions.no_binary,
|
|
42
|
+
cmdoptions.only_binary,
|
|
43
|
+
cmdoptions.pre,
|
|
44
|
+
cmdoptions.process_dependency_links,
|
|
45
|
+
cmdoptions.trusted_host,
|
|
46
|
+
cmdoptions.require_hashes,
|
|
47
|
+
]
|
|
48
|
+
|
|
49
|
+
# options to be passed to requirements
|
|
50
|
+
SUPPORTED_OPTIONS_REQ = [
|
|
51
|
+
cmdoptions.install_options,
|
|
52
|
+
cmdoptions.global_options,
|
|
53
|
+
cmdoptions.hash,
|
|
54
|
+
]
|
|
55
|
+
|
|
56
|
+
# the 'dest' string values
|
|
57
|
+
SUPPORTED_OPTIONS_REQ_DEST = [o().dest for o in SUPPORTED_OPTIONS_REQ]
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
def parse_requirements(filename, finder=None, comes_from=None, options=None,
|
|
61
|
+
session=None, constraint=False, wheel_cache=None):
|
|
62
|
+
"""Parse a requirements file and yield InstallRequirement instances.
|
|
63
|
+
|
|
64
|
+
:param filename: Path or url of requirements file.
|
|
65
|
+
:param finder: Instance of pip.index.PackageFinder.
|
|
66
|
+
:param comes_from: Origin description of requirements.
|
|
67
|
+
:param options: cli options.
|
|
68
|
+
:param session: Instance of pip.download.PipSession.
|
|
69
|
+
:param constraint: If true, parsing a constraint file rather than
|
|
70
|
+
requirements file.
|
|
71
|
+
:param wheel_cache: Instance of pip.wheel.WheelCache
|
|
72
|
+
"""
|
|
73
|
+
if session is None:
|
|
74
|
+
raise TypeError(
|
|
75
|
+
"parse_requirements() missing 1 required keyword argument: "
|
|
76
|
+
"'session'"
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
_, content = get_file_content(
|
|
80
|
+
filename, comes_from=comes_from, session=session
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
lines_enum = preprocess(content, options)
|
|
84
|
+
|
|
85
|
+
for line_number, line in lines_enum:
|
|
86
|
+
req_iter = process_line(line, filename, line_number, finder,
|
|
87
|
+
comes_from, options, session, wheel_cache,
|
|
88
|
+
constraint=constraint)
|
|
89
|
+
for req in req_iter:
|
|
90
|
+
yield req
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
def preprocess(content, options):
|
|
94
|
+
"""Split, filter, and join lines, and return a line iterator
|
|
95
|
+
|
|
96
|
+
:param content: the content of the requirements file
|
|
97
|
+
:param options: cli options
|
|
98
|
+
"""
|
|
99
|
+
lines_enum = enumerate(content.splitlines(), start=1)
|
|
100
|
+
lines_enum = join_lines(lines_enum)
|
|
101
|
+
lines_enum = ignore_comments(lines_enum)
|
|
102
|
+
lines_enum = skip_regex(lines_enum, options)
|
|
103
|
+
lines_enum = expand_env_variables(lines_enum)
|
|
104
|
+
return lines_enum
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
def process_line(line, filename, line_number, finder=None, comes_from=None,
|
|
108
|
+
options=None, session=None, wheel_cache=None,
|
|
109
|
+
constraint=False):
|
|
110
|
+
"""Process a single requirements line; This can result in creating/yielding
|
|
111
|
+
requirements, or updating the finder.
|
|
112
|
+
|
|
113
|
+
For lines that contain requirements, the only options that have an effect
|
|
114
|
+
are from SUPPORTED_OPTIONS_REQ, and they are scoped to the
|
|
115
|
+
requirement. Other options from SUPPORTED_OPTIONS may be present, but are
|
|
116
|
+
ignored.
|
|
117
|
+
|
|
118
|
+
For lines that do not contain requirements, the only options that have an
|
|
119
|
+
effect are from SUPPORTED_OPTIONS. Options from SUPPORTED_OPTIONS_REQ may
|
|
120
|
+
be present, but are ignored. These lines may contain multiple options
|
|
121
|
+
(although our docs imply only one is supported), and all our parsed and
|
|
122
|
+
affect the finder.
|
|
123
|
+
|
|
124
|
+
:param constraint: If True, parsing a constraints file.
|
|
125
|
+
:param options: OptionParser options that we may update
|
|
126
|
+
"""
|
|
127
|
+
parser = build_parser(line)
|
|
128
|
+
defaults = parser.get_default_values()
|
|
129
|
+
defaults.index_url = None
|
|
130
|
+
if finder:
|
|
131
|
+
# `finder.format_control` will be updated during parsing
|
|
132
|
+
defaults.format_control = finder.format_control
|
|
133
|
+
args_str, options_str = break_args_options(line)
|
|
134
|
+
if sys.version_info < (2, 7, 3):
|
|
135
|
+
# Prior to 2.7.3, shlex cannot deal with unicode entries
|
|
136
|
+
options_str = options_str.encode('utf8')
|
|
137
|
+
opts, _ = parser.parse_args(shlex.split(options_str), defaults)
|
|
138
|
+
|
|
139
|
+
# preserve for the nested code path
|
|
140
|
+
line_comes_from = '%s %s (line %s)' % (
|
|
141
|
+
'-c' if constraint else '-r', filename, line_number,
|
|
142
|
+
)
|
|
143
|
+
|
|
144
|
+
# yield a line requirement
|
|
145
|
+
if args_str:
|
|
146
|
+
isolated = options.isolated_mode if options else False
|
|
147
|
+
if options:
|
|
148
|
+
cmdoptions.check_install_build_global(options, opts)
|
|
149
|
+
# get the options that apply to requirements
|
|
150
|
+
req_options = {}
|
|
151
|
+
for dest in SUPPORTED_OPTIONS_REQ_DEST:
|
|
152
|
+
if dest in opts.__dict__ and opts.__dict__[dest]:
|
|
153
|
+
req_options[dest] = opts.__dict__[dest]
|
|
154
|
+
yield InstallRequirement.from_line(
|
|
155
|
+
args_str, line_comes_from, constraint=constraint,
|
|
156
|
+
isolated=isolated, options=req_options, wheel_cache=wheel_cache
|
|
157
|
+
)
|
|
158
|
+
|
|
159
|
+
# yield an editable requirement
|
|
160
|
+
elif opts.editables:
|
|
161
|
+
isolated = options.isolated_mode if options else False
|
|
162
|
+
yield InstallRequirement.from_editable(
|
|
163
|
+
opts.editables[0], comes_from=line_comes_from,
|
|
164
|
+
constraint=constraint, isolated=isolated, wheel_cache=wheel_cache
|
|
165
|
+
)
|
|
166
|
+
|
|
167
|
+
# parse a nested requirements file
|
|
168
|
+
elif opts.requirements or opts.constraints:
|
|
169
|
+
if opts.requirements:
|
|
170
|
+
req_path = opts.requirements[0]
|
|
171
|
+
nested_constraint = False
|
|
172
|
+
else:
|
|
173
|
+
req_path = opts.constraints[0]
|
|
174
|
+
nested_constraint = True
|
|
175
|
+
# original file is over http
|
|
176
|
+
if SCHEME_RE.search(filename):
|
|
177
|
+
# do a url join so relative paths work
|
|
178
|
+
req_path = urllib_parse.urljoin(filename, req_path)
|
|
179
|
+
# original file and nested file are paths
|
|
180
|
+
elif not SCHEME_RE.search(req_path):
|
|
181
|
+
# do a join so relative paths work
|
|
182
|
+
req_path = os.path.join(os.path.dirname(filename), req_path)
|
|
183
|
+
# TODO: Why not use `comes_from='-r {} (line {})'` here as well?
|
|
184
|
+
parser = parse_requirements(
|
|
185
|
+
req_path, finder, comes_from, options, session,
|
|
186
|
+
constraint=nested_constraint, wheel_cache=wheel_cache
|
|
187
|
+
)
|
|
188
|
+
for req in parser:
|
|
189
|
+
yield req
|
|
190
|
+
|
|
191
|
+
# percolate hash-checking option upward
|
|
192
|
+
elif opts.require_hashes:
|
|
193
|
+
options.require_hashes = opts.require_hashes
|
|
194
|
+
|
|
195
|
+
# set finder options
|
|
196
|
+
elif finder:
|
|
197
|
+
if opts.index_url:
|
|
198
|
+
finder.index_urls = [opts.index_url]
|
|
199
|
+
if opts.no_index is True:
|
|
200
|
+
finder.index_urls = []
|
|
201
|
+
if opts.extra_index_urls:
|
|
202
|
+
finder.index_urls.extend(opts.extra_index_urls)
|
|
203
|
+
if opts.find_links:
|
|
204
|
+
# FIXME: it would be nice to keep track of the source
|
|
205
|
+
# of the find_links: support a find-links local path
|
|
206
|
+
# relative to a requirements file.
|
|
207
|
+
value = opts.find_links[0]
|
|
208
|
+
req_dir = os.path.dirname(os.path.abspath(filename))
|
|
209
|
+
relative_to_reqs_file = os.path.join(req_dir, value)
|
|
210
|
+
if os.path.exists(relative_to_reqs_file):
|
|
211
|
+
value = relative_to_reqs_file
|
|
212
|
+
finder.find_links.append(value)
|
|
213
|
+
if opts.pre:
|
|
214
|
+
finder.allow_all_prereleases = True
|
|
215
|
+
if opts.process_dependency_links:
|
|
216
|
+
finder.process_dependency_links = True
|
|
217
|
+
if opts.trusted_hosts:
|
|
218
|
+
finder.secure_origins.extend(
|
|
219
|
+
("*", host, "*") for host in opts.trusted_hosts)
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
def break_args_options(line):
|
|
223
|
+
"""Break up the line into an args and options string. We only want to shlex
|
|
224
|
+
(and then optparse) the options, not the args. args can contain markers
|
|
225
|
+
which are corrupted by shlex.
|
|
226
|
+
"""
|
|
227
|
+
tokens = line.split(' ')
|
|
228
|
+
args = []
|
|
229
|
+
options = tokens[:]
|
|
230
|
+
for token in tokens:
|
|
231
|
+
if token.startswith('-') or token.startswith('--'):
|
|
232
|
+
break
|
|
233
|
+
else:
|
|
234
|
+
args.append(token)
|
|
235
|
+
options.pop(0)
|
|
236
|
+
return ' '.join(args), ' '.join(options)
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
def build_parser(line):
|
|
240
|
+
"""
|
|
241
|
+
Return a parser for parsing requirement lines
|
|
242
|
+
"""
|
|
243
|
+
parser = optparse.OptionParser(add_help_option=False)
|
|
244
|
+
|
|
245
|
+
option_factories = SUPPORTED_OPTIONS + SUPPORTED_OPTIONS_REQ
|
|
246
|
+
for option_factory in option_factories:
|
|
247
|
+
option = option_factory()
|
|
248
|
+
parser.add_option(option)
|
|
249
|
+
|
|
250
|
+
# By default optparse sys.exits on parsing errors. We want to wrap
|
|
251
|
+
# that in our own exception.
|
|
252
|
+
def parser_exit(self, msg):
|
|
253
|
+
# add offending line
|
|
254
|
+
msg = 'Invalid requirement: %s\n%s' % (line, msg)
|
|
255
|
+
raise RequirementsFileParseError(msg)
|
|
256
|
+
parser.exit = parser_exit
|
|
257
|
+
|
|
258
|
+
return parser
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
def join_lines(lines_enum):
|
|
262
|
+
"""Joins a line ending in '\' with the previous line (except when following
|
|
263
|
+
comments). The joined line takes on the index of the first line.
|
|
264
|
+
"""
|
|
265
|
+
primary_line_number = None
|
|
266
|
+
new_line = []
|
|
267
|
+
for line_number, line in lines_enum:
|
|
268
|
+
if not line.endswith('\\') or COMMENT_RE.match(line):
|
|
269
|
+
if COMMENT_RE.match(line):
|
|
270
|
+
# this ensures comments are always matched later
|
|
271
|
+
line = ' ' + line
|
|
272
|
+
if new_line:
|
|
273
|
+
new_line.append(line)
|
|
274
|
+
yield primary_line_number, ''.join(new_line)
|
|
275
|
+
new_line = []
|
|
276
|
+
else:
|
|
277
|
+
yield line_number, line
|
|
278
|
+
else:
|
|
279
|
+
if not new_line:
|
|
280
|
+
primary_line_number = line_number
|
|
281
|
+
new_line.append(line.strip('\\'))
|
|
282
|
+
|
|
283
|
+
# last line contains \
|
|
284
|
+
if new_line:
|
|
285
|
+
yield primary_line_number, ''.join(new_line)
|
|
286
|
+
|
|
287
|
+
# TODO: handle space after '\'.
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
def ignore_comments(lines_enum):
|
|
291
|
+
"""
|
|
292
|
+
Strips comments and filter empty lines.
|
|
293
|
+
"""
|
|
294
|
+
for line_number, line in lines_enum:
|
|
295
|
+
line = COMMENT_RE.sub('', line)
|
|
296
|
+
line = line.strip()
|
|
297
|
+
if line:
|
|
298
|
+
yield line_number, line
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
def skip_regex(lines_enum, options):
|
|
302
|
+
"""
|
|
303
|
+
Skip lines that match '--skip-requirements-regex' pattern
|
|
304
|
+
|
|
305
|
+
Note: the regex pattern is only built once
|
|
306
|
+
"""
|
|
307
|
+
skip_regex = options.skip_requirements_regex if options else None
|
|
308
|
+
if skip_regex:
|
|
309
|
+
pattern = re.compile(skip_regex)
|
|
310
|
+
lines_enum = filterfalse(lambda e: pattern.search(e[1]), lines_enum)
|
|
311
|
+
return lines_enum
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
def expand_env_variables(lines_enum):
|
|
315
|
+
"""Replace all environment variables that can be retrieved via `os.getenv`.
|
|
316
|
+
|
|
317
|
+
The only allowed format for environment variables defined in the
|
|
318
|
+
requirement file is `${MY_VARIABLE_1}` to ensure two things:
|
|
319
|
+
|
|
320
|
+
1. Strings that contain a `$` aren't accidentally (partially) expanded.
|
|
321
|
+
2. Ensure consistency across platforms for requirement files.
|
|
322
|
+
|
|
323
|
+
These points are the result of a discusssion on the `github pull
|
|
324
|
+
request #3514 <https://github.com/pypa/pip/pull/3514>`_.
|
|
325
|
+
|
|
326
|
+
Valid characters in variable names follow the `POSIX standard
|
|
327
|
+
<http://pubs.opengroup.org/onlinepubs/9699919799/>`_ and are limited
|
|
328
|
+
to uppercase letter, digits and the `_` (underscore).
|
|
329
|
+
"""
|
|
330
|
+
for line_number, line in lines_enum:
|
|
331
|
+
for env_var, var_name in ENV_VAR_RE.findall(line):
|
|
332
|
+
value = os.getenv(var_name)
|
|
333
|
+
if not value:
|
|
334
|
+
continue
|
|
335
|
+
|
|
336
|
+
line = line.replace(env_var, value)
|
|
337
|
+
|
|
338
|
+
yield line_number, line
|