Let us walk on the 3-isogeny graph
Loading...
Searching...
No Matches
DownloadCommand Class Reference
Inheritance diagram for DownloadCommand:
Collaboration diagram for DownloadCommand:

Public Member Functions

None add_options (self)
 
int run (self, Values options, List[str] args)
 
- Public Member Functions inherited from RequirementCommand
None __init__ (self, *Any args, **Any kw)
 
RequirementPreparer make_requirement_preparer (cls, TempDirectory temp_build_dir, Values options, BuildTracker build_tracker, PipSession session, PackageFinder finder, bool use_user_site, Optional[str] download_dir=None, int verbosity=0)
 
BaseResolver make_resolver (cls, RequirementPreparer preparer, PackageFinder finder, Values options, Optional[WheelCache] wheel_cache=None, bool use_user_site=False, bool ignore_installed=True, bool ignore_requires_python=False, bool force_reinstall=False, str upgrade_strategy="to-satisfy-only", Optional[bool] use_pep517=None, Optional[Tuple[int,...]] py_version_info=None)
 
List[InstallRequirementget_requirements (self, List[str] args, Values options, PackageFinder finder, PipSession session)
 
- Public Member Functions inherited from IndexGroupCommand
None handle_pip_version_check (self, Values options)
 
- Public Member Functions inherited from Command
Tuple[Values, List[str]] parse_args (self, List[str] args)
 
int main (self, List[str] args)
 
- Public Member Functions inherited from CommandContextMixIn
Generator[None, None, Nonemain_context (self)
 
_T enter_context (self, ContextManager[_T] context_provider)
 
- Public Member Functions inherited from SessionCommandMixin
PipSession get_default_session (self, Values options)
 

Data Fields

 cmd_opts
 
 parser
 
- Data Fields inherited from Command
 name
 
 summary
 
 parser
 
 cmd_opts
 
 tempdir_registry
 
 verbosity
 

Static Public Attributes

str usage
 
- Static Public Attributes inherited from Command
str usage = ""
 
bool ignore_require_venv = False
 

Additional Inherited Members

- Static Public Member Functions inherited from RequirementCommand
str determine_resolver_variant (Values options)
 
None trace_basic_info (PackageFinder finder)
 
- Protected Member Functions inherited from RequirementCommand
PackageFinder _build_package_finder (self, Values options, PipSession session, Optional[TargetPython] target_python=None, Optional[bool] ignore_requires_python=None)
 
- Protected Member Functions inherited from Command
int _main (self, List[str] args)
 
- Protected Member Functions inherited from SessionCommandMixin
Optional[List[str]] _get_index_urls (cls, Values options)
 
PipSession _build_session (self, Values options, Optional[int] retries=None, Optional[int] timeout=None, bool fallback_to_certifi=False)
 
- Protected Attributes inherited from CommandContextMixIn
 _in_main_context
 
 _main_context
 
- Protected Attributes inherited from SessionCommandMixin
 _session
 

Detailed Description

Download packages from:

- PyPI (and other indexes) using requirement specifiers.
- VCS project urls.
- Local project directories.
- Local or remote source archives.

pip also supports downloading from "requirements files", which provide
an easy way to specify a whole environment to be downloaded.

Definition at line 18 of file download.py.

Member Function Documentation

◆ add_options()

None add_options (   self)

Reimplemented from Command.

Definition at line 38 of file download.py.

38 def add_options(self) -> None:
39 self.cmd_opts.add_option(cmdoptions.constraints())
40 self.cmd_opts.add_option(cmdoptions.requirements())
41 self.cmd_opts.add_option(cmdoptions.no_deps())
43 self.cmd_opts.add_option(cmdoptions.no_binary())
44 self.cmd_opts.add_option(cmdoptions.only_binary())
46 self.cmd_opts.add_option(cmdoptions.src())
47 self.cmd_opts.add_option(cmdoptions.pre())
49 self.cmd_opts.add_option(cmdoptions.progress_bar())
51 self.cmd_opts.add_option(cmdoptions.use_pep517())
55
56 self.cmd_opts.add_option(
57 "-d",
58 "--dest",
59 "--destination-dir",
60 "--destination-directory",
61 dest="download_dir",
62 metavar="dir",
63 default=os.curdir,
64 help="Download packages into <dir>.",
65 )
66
68
71 self.parser,
72 )
73
74 self.parser.insert_option_group(0, index_opts)
75 self.parser.insert_option_group(0, self.cmd_opts)
76
for i

References Command.cmd_opts, CacheCommand.cmd_opts, CompletionCommand.cmd_opts, ConfigurationCommand.cmd_opts, DebugCommand.cmd_opts, DownloadCommand.cmd_opts, FreezeCommand.cmd_opts, HashCommand.cmd_opts, IndexCommand.cmd_opts, InspectCommand.cmd_opts, InstallCommand.cmd_opts, ListCommand.cmd_opts, SearchCommand.cmd_opts, ShowCommand.cmd_opts, UninstallCommand.cmd_opts, WheelCommand.cmd_opts, and i.

◆ run()

int run (   self,
Values  options,
List[str]  args 
)

Reimplemented from Command.

Definition at line 78 of file download.py.

78 def run(self, options: Values, args: List[str]) -> int:
80 # editable doesn't really make sense for `pip download`, but the bowels
81 # of the RequirementSet code require that property.
83
85
87 ensure_dir(options.download_dir)
88
89 session = self.get_default_session(options)
90
91 target_python = make_target_python(options)
92 finder = self._build_package_finder(
93 options=options,
94 session=session,
95 target_python=target_python,
96 ignore_requires_python=options.ignore_requires_python,
97 )
98
99 build_tracker = self.enter_context(get_build_tracker())
100
101 directory = TempDirectory(
102 delete=not options.no_clean,
103 kind="download",
104 globally_managed=True,
105 )
106
107 reqs = self.get_requirements(args, options, finder, session)
108 check_legacy_setup_py_options(options, reqs)
109
110 preparer = self.make_requirement_preparer(
111 temp_build_dir=directory,
112 options=options,
113 build_tracker=build_tracker,
114 session=session,
115 finder=finder,
116 download_dir=options.download_dir,
117 use_user_site=False,
118 verbosity=self.verbosity,
119 )
120
121 resolver = self.make_resolver(
122 preparer=preparer,
123 finder=finder,
124 options=options,
125 ignore_requires_python=options.ignore_requires_python,
126 use_pep517=options.use_pep517,
127 py_version_info=options.python_version,
128 )
129
130 self.trace_basic_info(finder)
131
132 requirement_set = resolver.resolve(reqs, check_supported_wheels=True)
133
134 downloaded: List[str] = []
136 if req.satisfied_by is None:
137 assert req.name is not None
140
143
144 if downloaded:
145 write_output("Successfully downloaded %s", " ".join(downloaded))
146
147 return SUCCESS

References ListCommand._build_package_finder(), RequirementCommand._build_package_finder(), IndexCommand._build_package_finder(), CommandContextMixIn.enter_context(), SessionCommandMixin.get_default_session(), RequirementCommand.get_requirements(), Metadata.get_requirements(), i, RequirementCommand.make_requirement_preparer(), RequirementCommand.make_resolver(), RequirementCommand.trace_basic_info(), Command.verbosity, and RequirementPreparer.verbosity.

Here is the call graph for this function:

Field Documentation

◆ cmd_opts

◆ parser

◆ usage

str usage
static
Initial value:
= """
%prog [options] <requirement specifier> [package-index-options] ...
%prog [options] -r <requirements file> [package-index-options] ...
%prog [options] <vcs project url> ...
%prog [options] <local project path> ...
%prog [options] <archive url/path> ..."""

Definition at line 31 of file download.py.


The documentation for this class was generated from the following file: