File: //usr/lib/python3/dist-packages/pip/_internal/metadata/__init__.py
from typing import List, Optional
from .base import BaseDistribution, BaseEnvironment, FilesystemWheel, MemoryWheel, Wheel
__all__ = [
    "BaseDistribution",
    "BaseEnvironment",
    "FilesystemWheel",
    "MemoryWheel",
    "Wheel",
    "get_default_environment",
    "get_environment",
    "get_wheel_distribution",
]
def get_default_environment() -> BaseEnvironment:
    """Get the default representation for the current environment.
    This returns an Environment instance from the chosen backend. The default
    Environment instance should be built from ``sys.path`` and may use caching
    to share instance state accorss calls.
    """
    from .pkg_resources import Environment
    return Environment.default()
def get_environment(paths: Optional[List[str]]) -> BaseEnvironment:
    """Get a representation of the environment specified by ``paths``.
    This returns an Environment instance from the chosen backend based on the
    given import paths. The backend must build a fresh instance representing
    the state of installed distributions when this function is called.
    """
    from .pkg_resources import Environment
    return Environment.from_paths(paths)
def get_directory_distribution(directory: str) -> BaseDistribution:
    """Get the distribution metadata representation in the specified directory.
    This returns a Distribution instance from the chosen backend based on
    the given on-disk ``.dist-info`` directory.
    """
    from .pkg_resources import Distribution
    return Distribution.from_directory(directory)
def get_wheel_distribution(wheel: Wheel, canonical_name: str) -> BaseDistribution:
    """Get the representation of the specified wheel's distribution metadata.
    This returns a Distribution instance from the chosen backend based on
    the given wheel's ``.dist-info`` directory.
    :param canonical_name: Normalized project name of the given wheel.
    """
    from .pkg_resources import Distribution
    return Distribution.from_wheel(wheel, canonical_name)