PHP 8.3.31
Preview: direct_url.py Size: 944 B
/proc/self/root/opt/hc_python/lib/python3.12/site-packages/pip/_internal/models/direct_url.py

"""PEP 610"""

from __future__ import annotations

import json
from typing import Any

from pip._vendor.packaging.direct_url import (
    ArchiveInfo,
    DirectUrlValidationError,
    DirInfo,
    VcsInfo,
)
from pip._vendor.packaging.direct_url import (
    DirectUrl as PackagingDirectUrl,
)

__all__ = [
    "ArchiveInfo",
    "DirInfo",
    "DirectUrl",
    "DirectUrlValidationError",
    "DIRECT_URL_METADATA_NAME",
    "VcsInfo",
]

DIRECT_URL_METADATA_NAME = "direct_url.json"


class DirectUrl(PackagingDirectUrl):
    def to_dict_compat(self) -> dict[str, Any]:
        return dict(super().to_dict(generate_legacy_hash=True))

    @classmethod
    def from_json(cls, s: str) -> DirectUrl:
        return cls.from_dict(json.loads(s))

    def to_json(self) -> str:
        return json.dumps(self.to_dict_compat(), sort_keys=True)

    def is_local_editable(self) -> bool:
        return bool(self.dir_info and self.dir_info.editable)

Directory Contents

Dirs: 1 × Files: 13

Name Size Perms Modified Actions
- drwxr-xr-x 2026-06-11 06:30:21
Edit Download
720 B lrw-r--r-- 2026-06-11 06:30:20
Edit Download
944 B lrw-r--r-- 2026-06-11 06:30:20
Edit Download
2.41 KB lrw-r--r-- 2026-06-11 06:30:20
Edit Download
1.01 KB lrw-r--r-- 2026-06-11 06:30:20
Edit Download
2.78 KB lrw-r--r-- 2026-06-11 06:30:20
Edit Download
21.48 KB lrw-r--r-- 2026-06-11 06:30:20
Edit Download
3.29 KB lrw-r--r-- 2026-06-11 06:30:20
Edit Download
558 B lrw-r--r-- 2026-06-11 06:30:20
Edit Download
4.36 KB lrw-r--r-- 2026-06-11 06:30:20
Edit Download
1.47 KB lrw-r--r-- 2026-06-11 06:30:20
Edit Download
4.14 KB lrw-r--r-- 2026-06-11 06:30:20
Edit Download
2.85 KB lrw-r--r-- 2026-06-11 06:30:20
Edit Download
62 B lrw-r--r-- 2026-06-11 06:30:20
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).