| Server IP : 173.249.148.11 / Your IP : 216.73.216.179 Web Server : Apache/2.4.68 (AlmaLinux) System : Linux developmentwebsite.ca 4.18.0-553.168.1.el8_10.x86_64 #1 SMP Thu Sep 24 18:05:46 UTC 2026 x86_64 User : devinter ( 1006) PHP Version : 8.3.35 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /snap/certbot/current/lib/python3.12/site-packages/pip/_internal/models/ |
Upload File : |
"""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)