Tipragot
628be439b8
Cela permet de ne pas avoir de problèmes de compatibilité car python est dans le git.
52 lines
1.9 KiB
Python
52 lines
1.9 KiB
Python
from typing import Optional
|
|
|
|
from pip._internal.models.format_control import FormatControl
|
|
|
|
|
|
class SelectionPreferences:
|
|
"""
|
|
Encapsulates the candidate selection preferences for downloading
|
|
and installing files.
|
|
"""
|
|
|
|
__slots__ = [
|
|
"allow_yanked",
|
|
"allow_all_prereleases",
|
|
"format_control",
|
|
"prefer_binary",
|
|
"ignore_requires_python",
|
|
]
|
|
|
|
# Don't include an allow_yanked default value to make sure each call
|
|
# site considers whether yanked releases are allowed. This also causes
|
|
# that decision to be made explicit in the calling code, which helps
|
|
# people when reading the code.
|
|
def __init__(
|
|
self,
|
|
allow_yanked: bool,
|
|
allow_all_prereleases: bool = False,
|
|
format_control: Optional[FormatControl] = None,
|
|
prefer_binary: bool = False,
|
|
ignore_requires_python: Optional[bool] = None,
|
|
) -> None:
|
|
"""Create a SelectionPreferences object.
|
|
|
|
:param allow_yanked: Whether files marked as yanked (in the sense
|
|
of PEP 592) are permitted to be candidates for install.
|
|
:param format_control: A FormatControl object or None. Used to control
|
|
the selection of source packages / binary packages when consulting
|
|
the index and links.
|
|
:param prefer_binary: Whether to prefer an old, but valid, binary
|
|
dist over a new source dist.
|
|
:param ignore_requires_python: Whether to ignore incompatible
|
|
"Requires-Python" values in links. Defaults to False.
|
|
"""
|
|
if ignore_requires_python is None:
|
|
ignore_requires_python = False
|
|
|
|
self.allow_yanked = allow_yanked
|
|
self.allow_all_prereleases = allow_all_prereleases
|
|
self.format_control = format_control
|
|
self.prefer_binary = prefer_binary
|
|
self.ignore_requires_python = ignore_requires_python
|