1from .connection import HTTPConnection 
    2from .connection_pool import ConnectionPool 
    3from .http11 import HTTP11Connection 
    4from .http_proxy import HTTPProxy 
    5from .interfaces import ConnectionInterface 
    6 
    7try: 
    8    from .http2 import HTTP2Connection 
    9except ImportError:  # pragma: nocover 
    10 
    11    class HTTP2Connection:  # type: ignore 
    12        def __init__(self, *args, **kwargs) -> None:  # type: ignore 
    13            raise RuntimeError( 
    14                "Attempted to use http2 support, but the `h2` package is not " 
    15                "installed. Use 'pip install httpcore[http2]'." 
    16            ) 
    17 
    18 
    19try: 
    20    from .socks_proxy import SOCKSProxy 
    21except ImportError:  # pragma: nocover 
    22 
    23    class SOCKSProxy:  # type: ignore 
    24        def __init__(self, *args, **kwargs) -> None:  # type: ignore 
    25            raise RuntimeError( 
    26                "Attempted to use SOCKS support, but the `socksio` package is not " 
    27                "installed. Use 'pip install httpcore[socks]'." 
    28            ) 
    29 
    30 
    31__all__ = [ 
    32    "HTTPConnection", 
    33    "ConnectionPool", 
    34    "HTTPProxy", 
    35    "HTTP11Connection", 
    36    "HTTP2Connection", 
    37    "ConnectionInterface", 
    38    "SOCKSProxy", 
    39]