$50 GRAYBYTE WORDPRESS FILE MANAGER $83

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.43.35 | ADMIN IP 216.73.216.180
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/opt/imunify360/venv/lib/python3.11/site-packages/pip/_internal/utils/

HOME
Current File : /opt/imunify360/venv/lib/python3.11/site-packages/pip/_internal/utils//pylock.py
from collections.abc import Iterable
from pathlib import Path

from pip._vendor.packaging.pylock import (
    Package,
    PackageArchive,
    PackageDirectory,
    PackageSdist,
    PackageVcs,
    PackageWheel,
    Pylock,
)
from pip._vendor.packaging.version import Version

from pip._internal.models.direct_url import ArchiveInfo, DirInfo, VcsInfo
from pip._internal.models.link import Link
from pip._internal.req.req_install import InstallRequirement
from pip._internal.utils.urls import url_to_path


def _pylock_package_from_install_requirement(
    ireq: InstallRequirement, base_dir: Path
) -> Package:
    base_dir = base_dir.resolve()
    dist = ireq.get_dist()
    download_info = ireq.download_info
    assert download_info
    package_version = None
    package_vcs = None
    package_directory = None
    package_archive = None
    package_sdist = None
    package_wheels = None
    if ireq.is_direct:
        if isinstance(download_info.info, VcsInfo):
            package_vcs = PackageVcs(
                type=download_info.info.vcs,
                url=download_info.url,
                path=None,
                requested_revision=download_info.info.requested_revision,
                commit_id=download_info.info.commit_id,
                subdirectory=download_info.subdirectory,
            )
        elif isinstance(download_info.info, DirInfo):
            package_directory = PackageDirectory(
                path=(
                    Path(url_to_path(download_info.url))
                    .resolve()
                    .relative_to(base_dir)
                    .as_posix()
                ),
                editable=(
                    download_info.info.editable if download_info.info.editable else None
                ),
                subdirectory=download_info.subdirectory,
            )
        elif isinstance(download_info.info, ArchiveInfo):
            if not download_info.info.hashes:
                raise NotImplementedError()
            package_archive = PackageArchive(
                url=download_info.url,
                path=None,
                hashes=download_info.info.hashes,
                subdirectory=download_info.subdirectory,
            )
        else:
            # should never happen
            raise NotImplementedError()
    else:
        package_version = dist.version
        if isinstance(download_info.info, ArchiveInfo):
            if not download_info.info.hashes:
                raise NotImplementedError()
            link = Link(download_info.url)
            if link.is_wheel:
                package_wheels = [
                    PackageWheel(
                        name=link.filename,
                        url=download_info.url,
                        hashes=download_info.info.hashes,
                    )
                ]
            else:
                package_sdist = PackageSdist(
                    name=link.filename,
                    url=download_info.url,
                    hashes=download_info.info.hashes,
                )
        else:
            # should never happen
            raise NotImplementedError()
    return Package(
        name=dist.canonical_name,
        version=package_version,
        vcs=package_vcs,
        directory=package_directory,
        archive=package_archive,
        sdist=package_sdist,
        wheels=package_wheels,
    )


def pylock_from_install_requirements(
    install_requirements: Iterable[InstallRequirement], base_dir: Path
) -> Pylock:
    return Pylock(
        lock_version=Version("1.0"),
        created_by="pip",
        packages=sorted(
            (
                _pylock_package_from_install_requirement(ireq, base_dir)
                for ireq in install_requirements
            ),
            key=lambda p: p.name,
        ),
    )


Current_dir [ NOT WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
3 Mar 2026 8.59 AM
root / root
0755
__pycache__
--
3 Mar 2026 8.59 AM
root / root
0755
__init__.py
0 KB
13 Feb 2026 12.40 PM
root / root
0644
_jaraco_text.py
3.271 KB
13 Feb 2026 12.40 PM
root / root
0644
_log.py
0.991 KB
13 Feb 2026 12.40 PM
root / root
0644
appdirs.py
1.642 KB
13 Feb 2026 12.40 PM
root / root
0644
compat.py
2.455 KB
13 Feb 2026 12.40 PM
root / root
0644
compatibility_tags.py
6.475 KB
13 Feb 2026 12.40 PM
root / root
0644
datetime.py
0.848 KB
13 Feb 2026 12.40 PM
root / root
0644
deprecation.py
3.609 KB
13 Feb 2026 12.40 PM
root / root
0644
direct_url_helpers.py
3.125 KB
13 Feb 2026 12.40 PM
root / root
0644
egg_link.py
2.401 KB
13 Feb 2026 12.40 PM
root / root
0644
entrypoints.py
3.246 KB
13 Feb 2026 12.40 PM
root / root
0644
filesystem.py
6.73 KB
13 Feb 2026 12.40 PM
root / root
0644
filetypes.py
0.673 KB
13 Feb 2026 12.40 PM
root / root
0644
glibc.py
3.639 KB
13 Feb 2026 12.40 PM
root / root
0644
hashes.py
4.881 KB
13 Feb 2026 12.40 PM
root / root
0644
logging.py
13.1 KB
13 Feb 2026 12.40 PM
root / root
0644
misc.py
23.166 KB
13 Feb 2026 12.40 PM
root / root
0644
packaging.py
1.563 KB
13 Feb 2026 12.40 PM
root / root
0644
pylock.py
3.728 KB
13 Feb 2026 12.40 PM
root / root
0644
retry.py
1.427 KB
13 Feb 2026 12.40 PM
root / root
0644
subprocess.py
8.772 KB
13 Feb 2026 12.40 PM
root / root
0644
temp_dir.py
9.089 KB
13 Feb 2026 12.40 PM
root / root
0644
unpacking.py
12.668 KB
13 Feb 2026 12.40 PM
root / root
0644
urls.py
1.563 KB
13 Feb 2026 12.40 PM
root / root
0644
virtualenv.py
3.374 KB
13 Feb 2026 12.40 PM
root / root
0644
wheel.py
4.363 KB
13 Feb 2026 12.40 PM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF