Commit Graph

10507 Commits

Author SHA1 Message Date
Pradyun Gedam de741fa0dd
Clearly note where code duplication exists
The duplication of this code isn't really that bad, but saying
"pip check" makes it ambigous which file is relevant. Changing to
reference the exact filename makes this clearer.
2020-07-16 13:14:35 +05:30
Pradyun Gedam 67cbd0ca18
Break up pip install's "conflict check" function
Making this into two functions allows for separating the "check"
and "print warnings" step in a follow up commit.
2020-07-16 13:14:29 +05:30
Chris Hunt 02a10920c0
Merge pull request #8587 from shireenrao/add-links
Add references to get started with Git
2020-07-15 19:54:16 -04:00
Chris Hunt af89994eb3
Merge pull request #8574 from chrahunt/refactor/simpler-exception-handling
Simplify wheel install entrypoint exception handling
2020-07-15 16:53:25 -04:00
Chris Hunt c40d7b2122
Merge pull request #8575 from chrahunt/tests/add-better-entrypoint-test
Make wheel entrypoint error test higher-level
2020-07-15 16:52:35 -04:00
Srinivas Nyayapati d6ac9a07a2 fix hyper link in patch 2020-07-15 16:31:59 -04:00
Pradyun Gedam e3e916be8d
Add a dedicated type for check_install_conflicts 2020-07-16 01:38:36 +05:30
Srinivas Nyayapati c56f93539c Add references to get started with Git 2020-07-15 15:39:49 -04:00
Pradyun Gedam fa2fceecf1
Merge pull request #8189 from gutsytechster/remove_raise_for_status 2020-07-15 18:06:27 +05:30
Pradyun Gedam 61d497120f
Merge pull request #8424 from jku/8288-deprecate-nonconforming-extras 2020-07-15 18:03:00 +05:30
Nguyễn Gia Phong db217992bd Use more descriptive exception when range requests are unsupported 2020-07-15 16:28:53 +07:00
Chris Hunt 9a10d82b29
Merge pull request #8561 from pypa/8512-feature-flag-docs
Add feature flag documentation
2020-07-14 19:41:41 -04:00
Chris Hunt 607ec6c342
Merge pull request #7416 from chrahunt/maint/add-coverage
Add basic test coverage configuration
2020-07-14 19:22:56 -04:00
Chris Hunt 328e4c06da
Merge pull request #8502 from uranusjr/new-resolver-binary-compat-on-target
Ensure binary compat is checked in --target
2020-07-13 20:38:13 -04:00
Chris Hunt 77ead320b0
Merge pull request #8571 from McSinyx/conf-nit
Clean up Configuration.unset_value and nit __init__
2020-07-13 17:52:37 -04:00
Jussi Kukkonen 76b20d738e Deprecate requirements format "base>=1.0[extra]"
This requirements format does not conform to PEP-508. Currently the
extras specified like this work by accident (because _strip_extras()
also parses them). The version checks end up being done with a
misparsed version '1.0[extra]' -- this is not changed in this commit.

Add deprecation warning and fix the corresponding resolver test. Add a
command line test.

Note that we really only check that the Requirement has SpecifierSet
with a specifier that ends in a ']'. A valid version number cannot
contain ']' and no wheels currently on pypi have versions ending in ']'.
2020-07-13 12:33:50 +03:00
Chris Hunt 05f2d9ebf6 Make entrypoint error test higher-level
The current tests didn't catch the bug that the new tests do,
so they have been removed. Using higher-level tests can give us more
confidence that things work end-to-end and are less likely to get in
the way of refactoring.

The new test has been marked xfail since the bug is still present.
2020-07-11 15:45:18 -04:00
Chris Hunt 677b4e7f11 Remove redundant try ... except 2020-07-11 15:34:06 -04:00
Chris Hunt 145b7add7e Move error message construction into MissingCallableSuffix
Now, we are free to throw MissingCallableSuffix from anywhere and don't
have to worry about catching it in the middle of our processing.
2020-07-11 15:34:06 -04:00
Chris Hunt f48c44e203 Add req description to error in install_wheel
Moving this value up from `_install_wheel` means that we do not need to
pass `req_description` anymore. This will also let us move our
entrypoint error handling around without worrying about losing the
context from the previous message.
2020-07-11 15:34:06 -04:00
Nguyễn Gia Phong c5e19c01c4 Clean up Configuration.unset_value and nit __init__ 2020-07-11 15:56:34 +07:00
Chris Hunt 8bf5731b84
Merge pull request #8562 from chrahunt/extract-direct-from-zip-refactoring
Install directly from wheels, without unpacking into an intermediate directory
2020-07-10 21:33:16 -04:00
Chris Hunt 83078470a6
Merge pull request #8566 from deveshks/mypy-configuration
Add type annotations to pip._internal.configuration
2020-07-10 20:09:30 -04:00
Pradyun Gedam eebab795d5
Merge pull request #8570 from avinashkarhana/master
Fixed useless `else` clause after loop inside `get_version` function
2020-07-11 04:46:25 +05:30
Avinash Karhana 135e9c1369 Fixed useless `else` cluase after loop inside `get_version` function in setup.py 2020-07-11 02:15:29 +05:30
Devesh Kumar Singh 4cc731c62b Add type annotations to pip._internal.configuration 2020-07-11 01:38:19 +05:30
Chris Hunt 15b7afbcad
Merge pull request #8266 from gutsytechster/add_logs_for_install
feat(): Add logs for pip environment when installing
2020-07-10 09:36:13 -04:00
Prashant Sharma f7abe1f874
test(functional/test_install): Use shared_data for installing package 2020-07-10 16:20:30 +05:30
Chris Hunt 46bd55f371
Merge pull request #8565 from deveshks/mypy-cache
Add type annotations to "pip._internal.cache"
2020-07-09 21:53:06 -04:00
Chris Hunt e9508591ce
Merge pull request #8556 from chrahunt/maint/fail-on-install-location-options
Disallow explicitly passing install-location-related arguments in --install-options
2020-07-09 21:25:20 -04:00
Chris Hunt d13ec25361 Prevent path traversal when installing wheels directly 2020-07-09 21:21:35 -04:00
Chris Hunt 80a2a94955 Add news 2020-07-09 18:25:11 -04:00
Chris Hunt 4605b32c49 Don't unpack wheel before installing 2020-07-09 18:25:11 -04:00
Chris Hunt 483213a318 Drop unused wheeldir parameter 2020-07-09 18:25:11 -04:00
Chris Hunt df92f25079 Don't use wheeldir for pyc record paths 2020-07-09 18:25:11 -04:00
Chris Hunt 4bdb8bcd7e Extract files directly from wheel 2020-07-09 18:25:10 -04:00
Chris Hunt f9432790de Get list of files directly from wheel
One less dependency on the wheel being extracted.
2020-07-09 18:24:33 -04:00
Chris Hunt e0f95f12b6 Get non-root scheme files from paths, not disk
Now we rely solely on the list of RECORD-like paths derived from the
filesystem, and can easily trade out the implementation for one that
comes from the wheel file directly.
2020-07-09 18:24:30 -04:00
Chris Hunt 8221aac105 Get paths and make files separately
At the beginning of our wheel processing we are going to have the list
of contained files. By splitting this into its own function, and
deriving it from disk in the same way it will appear in the zip, we can
incrementally refactor our approach using the same interface that will
be available at that time.

We start with the root-scheme paths (that end up in lib_dir) first.
2020-07-09 18:23:17 -04:00
Chris Hunt d241f0d30a Add partition from itertools recipes
From https://docs.python.org/3/library/itertools.html,
adapted for Python 2 and with types added.

This will be used in the next commit.
2020-07-09 18:23:17 -04:00
Chris Hunt a3b977330a Separate RECORD path from source file path
When we start processing files directly from the wheel, all we will have
are the files with their zip path (which should match a `RECORD`
entry). Separating this from the source file path (used for copying)
and annotating it with our `RecordPath` type makes it clear what the
format of this public property is, and that it should match what is in
`RECORD`.
2020-07-09 18:23:17 -04:00
Chris Hunt 239accb1b6 Inline clobber 2020-07-09 18:23:17 -04:00
Chris Hunt f2239b5488 Combine processing of root- and data-scheme files
With this approach, we can add the rest of our generated files into the
same iterable and they can undergo the same processing.
2020-07-09 18:23:17 -04:00
Chris Hunt e8382871ad Filter files outside of file-finding function
Simplifying the file-finding function will make it easier to drive our
whole wheel installation from a single list of files later.
2020-07-09 18:23:17 -04:00
Chris Hunt f1e906d166 Move script fixing into separate class
This makes `clobber` much simpler, and aligns the interface of
root_scheme files and data_scheme files, so we can process them in the
same way.
2020-07-09 18:23:17 -04:00
Chris Hunt 50f6f8d69b Simplify return type for fix_script
We always pass a file path to this function, so assert as much. We want
the return type to be consistent so we can assign the result to
non-Optional types.
2020-07-09 18:23:17 -04:00
Nicole Harris 061d9fcdec
Update docs/html/development/release-process.rst
Co-authored-by: Tzu-ping Chung <uranusjr@gmail.com>
2020-07-09 21:53:30 +01:00
Pradyun Gedam 6679b5e7a9
Merge pull request #8493 from pypa/add-resolver-docs 2020-07-10 02:02:36 +05:30
Devesh Kumar Singh dadac2ce03 Add type annotations to pip._internal.cache 2020-07-09 21:46:55 +05:30
Tzu-ping Chung 152642ddcf Ensure binary compat is checked in --target 2020-07-09 21:23:21 +08:00