Commit Graph

223 Commits

Author SHA1 Message Date
q0w 3166157e40 Opt to check build dependencies 2022-05-13 03:05:55 +03:00
Pradyun Gedam 428e886ad6
Drop out-of-tree/in-tree build transition flags
These were intended to help users transition when the default behaviour
changed to no longer perform out-of-tree builds. The transition is now
considered complete.
2022-04-08 12:20:36 +01:00
Pradyun Gedam de1c798243
Rename all {req -> build}_tracker arguments/variables 2022-03-26 12:09:32 +00:00
Pradyun Gedam e5542dc024
Move `BuildTracker` to `operations.build.build_tracker` 2022-03-26 12:09:32 +00:00
Pradyun Gedam 4bc81e3c24
Rename `RequirementTracker` to `BuildTracker` 2022-03-26 12:09:23 +00:00
James Gerity 5c24a798b8
Change VCS tooling verbosity along with pip's verbosity (#9639)
Co-authored-by: Tzu-ping Chung <uranusjr@gmail.com>
Co-authored-by: Pradyun Gedam <pradyunsg@users.noreply.github.com>
2022-01-25 08:54:02 +00:00
Stéphane Bidoul d362431d02
Add TODO 2021-10-18 14:31:11 +02:00
Stéphane Bidoul 040cc391ba
Make in-tree-build the default
Add an out-of-tree-build feature flag to ease the transition.
2021-09-25 13:11:01 +02:00
Tzu-ping Chung 135faabfd6
Remove direct pkg_resource usages from resolver and preparer 2021-08-23 02:07:33 +08:00
Pradyun Gedam 585037a80a
Cleanup implicit string concatenation 2021-08-20 13:37:52 +01:00
Pradyun Gedam 94999255d5
Reformat the codebase, with black 2021-08-20 13:37:49 +01:00
Jon Dufresne 61333f5732 Simplify RequirementPreparer._downloaded data structure
The original type was `Dict[str, Tuple[str, str]]`. The 2nd element of
the tuple goes unused so map to a single str instead.
2021-08-09 20:05:32 -07:00
harupy 5db63be6f6 Resolve conflicts 2021-08-02 15:28:55 +09:00
Ben Mares e8b5b585d3
Fix long line 2021-07-29 16:00:17 -07:00
Ben Mares 89f6c91806
Improve style for multiline string
Co-authored-by: Pradyun Gedam <pradyunsg@gmail.com>
2021-07-29 15:50:25 -07:00
Ben Mares a2252a3b33 Switch deprecation message to use feature_flag 2021-07-28 23:36:43 -07:00
Ben Mares 1418b5fc04 Improve the phrasing of in-tree-build deprecation
Context is explained in the following comment:
<https://github.com/pypa/pip/issues/7555#issuecomment-873612344>
2021-07-28 23:36:43 -07:00
harupy 93db97c383 convert type comments 2021-07-23 23:29:29 +09:00
Tzu-ping Chung 288bffc43c Unify Python project root detection logic
A Python project root is now defined as containing a pyproject.toml, or
a setup.py (pre-PEP-517 legacy layout). After this patch, this logic
applies to all checks except parse_editable, where we check for setup.py
and setup.cfg instead since non-setuptools PEP 517 projects cannot be
installed as editable right now.
2021-06-19 15:29:04 +08:00
David Hewitt 838988cb44 Build local directories in-place with feature flag 2021-02-22 23:31:47 +00:00
Pradyun Gedam 8a949a1c52
Merge pull request #9415 from jdufresne/path_to_display
Remove Python 2 compat shim path_to_display()
2021-02-20 13:22:43 +00:00
Jon Dufresne 0945809afc Remove typing.TYPE_CHECKING guards
The typing module has been available since Python 3.5. Guarding the
import has been unnecessary since dropping Python 2.

Some guards remain to either:

- Avoid circular imports
- Importing objects that are also guarded by typing.TYPE_CHECKING
- Avoid mypy_extensions dependency
2021-02-19 18:34:21 -08:00
Jon Dufresne 3f6df167e0 Remove Python 2 compat shim path_to_display()
Per the function's type signature, this accepted either a str or None.
In both cases, the value was returned unaltered. Since dropping Python
2, it has been unnecessary.
2021-02-19 05:45:59 -08:00
Jon Dufresne a6392bd62e Replace pip._internal.utils.typing with stdlib typing
The stdlib module has been available since Python 3.5 and the
TYPE_CHECKING constant has been available since 3.5.2.

By using stdlib, this removes the need for pip to maintain its own
Python 2 typing compatibility shim.
2021-02-18 19:09:13 -08:00
Tzu-ping Chung f03d71e6fe
Merge pull request #8896 2021-02-18 22:43:36 +08:00
Pradyun Gedam 3af9093a73
Merge pull request #9274 from sbidoul/pip-wheel-must-keep-clone-sbi 2021-01-17 15:30:57 +00:00
Jon Dufresne 4bfe1037ee Remove unused class CopytreeKwargs
Unused since d509a27ad4.
2020-12-28 17:07:56 -08:00
Stéphane Bidoul 4ea00f2f1b
The preparer always clones VCS requirements
Previously, in download mode, it did a vcs export,
which did not include vcs information, leading to
issues when the build backend required it.
2020-12-27 17:13:35 +01:00
Jon Dufresne 09b3d3a50b Remove object from class definitions
Unnecessary since dropping Python 2 support. In Python 3, all classes
are new style classes.
2020-12-25 15:48:11 -08:00
Jon Dufresne c148bcc1aa Use short Python3 super() syntax 2020-12-24 15:11:51 -08:00
Hugo van Kemenade d509a27ad4 Review updates 2020-12-22 15:21:17 +02:00
Hugo van Kemenade 817ee23051 Remove redundant Python 2.7 code 2020-12-22 09:06:26 +02:00
Stéphane Bidoul a24d198c15
Do not download editables while preparing requirements
Downloading is done at the end of the download command
just like any other requirement. This is necessary to avoid
archiving editable requirements to a zip file when running
pip wheel.
2020-11-22 21:14:09 +01:00
Danny McClanahan 24ad324aef
fix lint 2020-10-09 00:44:44 -07:00
Danny McClanahan 22406d48fc
download requirements in the download command, outside of the resolver
create PartialRequirementDownloadCompleter, and use in wheel, install, and download

add NEWS entry

rename NEWS entry

rename NEWS entry

respond to review comments

move the partial requirement download completion to the bottom of the prepare_more method
2020-10-09 00:19:21 -07:00
Nguyễn Gia Phong b28e2c4928 New resolver: Avoid polluting dest dir
Previously, during dependency resolution for `pip download -d <dir>`
or `pip wheel -w <dir>`, distributions downloaded are always saved
to <dir>, even for those are only used in backtracking and are not
part of the returned requirement set.
2020-10-07 13:42:21 +07:00
Nguyễn Gia Phong 6887b0795b Merge usage of download_dir and wheel_download_dir
In every cases, at least one of them is None.  By doing this,
it is also possible to simplify wrapper codes around download_dir.
2020-10-07 13:42:21 +07:00
Nguyễn Gia Phong 78b294e746 Remove download_dir exist check
Both pip download and wheel call endure_dir on the directory.
2020-10-07 13:42:21 +07:00
Pradyun Gedam d0f80a44c9
Merge pull request #8804 from McSinyx/fast-deps-check-dl-dir 2020-10-02 03:41:43 +05:30
Nguyễn Gia Phong 2ef8040495 Comment and rework conditionals in download dir check
Co-authored-by: Pradyun Gedam <3275593+pradyunsg@users.noreply.github.com>
2020-10-01 22:00:47 +07:00
Pradyun Gedam 58c594c06b
Prepare isort for black 2020-09-23 21:47:47 +05:30
Pradyun Gedam 67ab116f00
Merge pull request #8861 from pradyunsg/nicer-output-try-1 2020-09-17 11:00:23 +05:30
Nguyễn Gia Phong c947d00882 [fast-deps] Check download directory before making requests 2020-09-17 10:38:27 +07:00
Nguyễn Gia Phong 8f8a1d65b2 Dedent late download logs 2020-09-13 21:09:57 +07:00
Pradyun Gedam cc472fd54a
Use a symmetric type and make mypy happy 2020-09-10 17:32:58 +05:30
Pradyun Gedam 3d32960c80
Only Print "Collecting ..." when the requirement changes 2020-09-10 17:21:42 +05:30
Pradyun Gedam 963e390abe
Improve how cached wheels are presented
This is specifically for the case of look ups done in the new resolver.
2020-09-10 17:21:04 +05:30
Pradyun Gedam c07ef581e7
Factor out logger.into into a single call
This makes it easier to conditionally print this information.
2020-09-10 17:15:32 +05:30
Nguyễn Gia Phong b46576d933 Give batch downloader a separate class 2020-08-12 16:07:27 +07:00
Nguyễn Gia Phong a1aeb4ce01 Check download folder for files to be downloaded in batch 2020-08-12 16:02:28 +07:00