$43 GRAYBYTE WORDPRESS FILE MANAGER $54

SERVER : vnpttt-amd7f72-h1.vietnix.vn #1 SMP Fri May 24 12:42:50 UTC 2024
SERVER IP : 103.200.23.149 | ADMIN IP 216.73.216.22
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/lib/python3.9/site-packages/pip/_internal/models/

HOME
Current File : /lib/python3.9/site-packages/pip/_internal/models//target_python.py
import sys

from pip._internal.utils.compatibility_tags import (
    get_supported,
    version_info_to_nodot,
)
from pip._internal.utils.misc import normalize_version_info
from pip._internal.utils.typing import MYPY_CHECK_RUNNING

if MYPY_CHECK_RUNNING:
    from typing import List, Optional, Tuple

    from pip._vendor.packaging.tags import Tag


class TargetPython(object):

    """
    Encapsulates the properties of a Python interpreter one is targeting
    for a package install, download, etc.
    """

    __slots__ = [
        "_given_py_version_info",
        "abi",
        "implementation",
        "platform",
        "py_version",
        "py_version_info",
        "_valid_tags",
    ]

    def __init__(
        self,
        platform=None,  # type: Optional[str]
        py_version_info=None,  # type: Optional[Tuple[int, ...]]
        abi=None,  # type: Optional[str]
        implementation=None,  # type: Optional[str]
    ):
        # type: (...) -> None
        """
        :param platform: A string or None. If None, searches for packages
            that are supported by the current system. Otherwise, will find
            packages that can be built on the platform passed in. These
            packages will only be downloaded for distribution: they will
            not be built locally.
        :param py_version_info: An optional tuple of ints representing the
            Python version information to use (e.g. `sys.version_info[:3]`).
            This can have length 1, 2, or 3 when provided.
        :param abi: A string or None. This is passed to compatibility_tags.py's
            get_supported() function as is.
        :param implementation: A string or None. This is passed to
            compatibility_tags.py's get_supported() function as is.
        """
        # Store the given py_version_info for when we call get_supported().
        self._given_py_version_info = py_version_info

        if py_version_info is None:
            py_version_info = sys.version_info[:3]
        else:
            py_version_info = normalize_version_info(py_version_info)

        py_version = '.'.join(map(str, py_version_info[:2]))

        self.abi = abi
        self.implementation = implementation
        self.platform = platform
        self.py_version = py_version
        self.py_version_info = py_version_info

        # This is used to cache the return value of get_tags().
        self._valid_tags = None  # type: Optional[List[Tag]]

    def format_given(self):
        # type: () -> str
        """
        Format the given, non-None attributes for display.
        """
        display_version = None
        if self._given_py_version_info is not None:
            display_version = '.'.join(
                str(part) for part in self._given_py_version_info
            )

        key_values = [
            ('platform', self.platform),
            ('version_info', display_version),
            ('abi', self.abi),
            ('implementation', self.implementation),
        ]
        return ' '.join(
            '{}={!r}'.format(key, value) for key, value in key_values
            if value is not None
        )

    def get_tags(self):
        # type: () -> List[Tag]
        """
        Return the supported PEP 425 tags to check wheel candidates against.

        The tags are returned in order of preference (most preferred first).
        """
        if self._valid_tags is None:
            # Pass versions=None if no py_version_info was given since
            # versions=None uses special default logic.
            py_version_info = self._given_py_version_info
            if py_version_info is None:
                version = None
            else:
                version = version_info_to_nodot(py_version_info)

            tags = get_supported(
                version=version,
                platform=self.platform,
                abi=self.abi,
                impl=self.implementation,
            )
            self._valid_tags = tags

        return self._valid_tags

Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
31 Oct 2025 8.38 AM
root / root
0755
__pycache__
--
31 Oct 2025 8.38 AM
root / root
0755
__init__.py
0.062 KB
7 Apr 2024 8.06 PM
root / root
0644
candidate.py
1.167 KB
7 Apr 2024 8.06 PM
root / root
0644
direct_url.py
6.738 KB
7 Apr 2024 8.06 PM
root / root
0644
format_control.py
2.757 KB
7 Apr 2024 8.06 PM
root / root
0644
index.py
1.134 KB
7 Apr 2024 8.06 PM
root / root
0644
link.py
7.295 KB
7 Apr 2024 8.06 PM
root / root
0644
scheme.py
0.76 KB
7 Apr 2024 8.06 PM
root / root
0644
search_scope.py
4.64 KB
7 Apr 2024 8.06 PM
root / root
0644
selection_prefs.py
1.996 KB
7 Apr 2024 8.06 PM
root / root
0644
target_python.py
3.939 KB
7 Apr 2024 8.06 PM
root / root
0644
wheel.py
2.707 KB
7 Apr 2024 8.06 PM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF