2 from typing import (Any, Container, Generic, Iterable, Iterator, Optional,
\r
3 overload, SupportsInt, Tuple, TypeVar, Union)
\r
5 # Undocumented length constants
\r
9 _A = TypeVar("_A", IPv4Address, IPv6Address)
\r
10 _N = TypeVar("_N", IPv4Network, IPv6Network)
\r
13 def ip_address(address: object) -> Union[IPv4Address, IPv6Address]: ...
\r
14 def ip_network(address: object, strict: bool = ...) -> Union[IPv4Network, IPv6Network]: ...
\r
15 def ip_interface(address: object) -> Union[IPv4Interface, IPv6Interface]: ...
\r
17 class _IPAddressBase:
\r
18 def __eq__(self, other: Any) -> bool: ...
\r
19 def __ge__(self: _T, other: _T) -> bool: ...
\r
20 def __gt__(self: _T, other: _T) -> bool: ...
\r
21 def __le__(self: _T, other: _T) -> bool: ...
\r
22 def __lt__(self: _T, other: _T) -> bool: ...
\r
23 def __ne__(self, other: Any) -> bool: ...
\r
25 def compressed(self) -> str: ...
\r
27 def exploded(self) -> str: ...
\r
28 if sys.version_info >= (3, 5):
\r
30 def reverse_pointer(self) -> str: ...
\r
32 def version(self) -> int: ...
\r
34 class _BaseAddress(_IPAddressBase, SupportsInt):
\r
35 def __init__(self, address: object) -> None: ...
\r
36 def __add__(self: _T, other: int) -> _T: ...
\r
37 def __hash__(self) -> int: ...
\r
38 def __int__(self) -> int: ...
\r
39 def __sub__(self: _T, other: int) -> _T: ...
\r
40 if sys.version_info >= (3, 4):
\r
42 def is_global(self) -> bool: ...
\r
44 def is_link_local(self) -> bool: ...
\r
46 def is_loopback(self) -> bool: ...
\r
48 def is_multicast(self) -> bool: ...
\r
50 def is_private(self) -> bool: ...
\r
52 def is_reserved(self) -> bool: ...
\r
54 def is_unspecified(self) -> bool: ...
\r
56 def max_prefixlen(self) -> int: ...
\r
58 def packed(self) -> bytes: ...
\r
60 class _BaseNetwork(_IPAddressBase, Container, Iterable[_A], Generic[_A]):
\r
63 def __init__(self, address: object, strict: bool = ...) -> None: ...
\r
64 def __contains__(self, other: Any) -> bool: ...
\r
65 def __getitem__(self, n: int) -> _A: ...
\r
66 def __iter__(self) -> Iterator[_A]: ...
\r
67 def address_exclude(self: _T, other: _T) -> Iterator[_T]: ...
\r
69 def broadcast_address(self) -> _A: ...
\r
70 def compare_networks(self: _T, other: _T) -> int: ...
\r
71 def hosts(self) -> Iterator[_A]: ...
\r
73 def is_global(self) -> bool: ...
\r
75 def is_link_local(self) -> bool: ...
\r
77 def is_loopback(self) -> bool: ...
\r
79 def is_multicast(self) -> bool: ...
\r
81 def is_private(self) -> bool: ...
\r
83 def is_reserved(self) -> bool: ...
\r
85 def is_unspecified(self) -> bool: ...
\r
87 def max_prefixlen(self) -> int: ...
\r
89 def num_addresses(self) -> int: ...
\r
90 def overlaps(self: _T, other: _T) -> bool: ...
\r
92 def prefixlen(self) -> int: ...
\r
93 def subnets(self: _T, prefixlen_diff: int = ..., new_prefix: Optional[int] = ...) -> Iterator[_T]: ...
\r
94 def supernet(self: _T, prefixlen_diff: int = ..., new_prefix: Optional[int] = ...) -> _T: ...
\r
96 def with_hostmask(self) -> str: ...
\r
98 def with_netmask(self) -> str: ...
\r
100 def with_prefixlen(self) -> str: ...
\r
102 class _BaseInterface(_BaseAddress, Generic[_A, _N]):
\r
107 def ip(self) -> _A: ...
\r
109 def with_hostmask(self) -> str: ...
\r
111 def with_netmask(self) -> str: ...
\r
113 def with_prefixlen(self) -> str: ...
\r
115 class IPv4Address(_BaseAddress): ...
\r
116 class IPv4Network(_BaseNetwork[IPv4Address]): ...
\r
117 class IPv4Interface(IPv4Address, _BaseInterface[IPv4Address, IPv4Network]): ...
\r
119 class IPv6Address(_BaseAddress):
\r
121 def ipv4_mapped(self) -> Optional[IPv4Address]: ...
\r
123 def is_site_local(self) -> bool: ...
\r
125 def sixtofour(self) -> Optional[IPv4Address]: ...
\r
127 def teredo(self) -> Optional[Tuple[IPv4Address, IPv4Address]]: ...
\r
129 class IPv6Network(_BaseNetwork[IPv6Address]):
\r
131 def is_site_local(self) -> bool: ...
\r
133 class IPv6Interface(IPv6Address, _BaseInterface[IPv6Address, IPv6Network]): ...
\r
135 def v4_int_to_packed(address: int) -> bytes: ...
\r
136 def v6_int_to_packed(address: int) -> bytes: ...
\r
138 def summarize_address_range(first: IPv4Address, last: IPv4Address) -> Iterator[IPv4Network]: ...
\r
140 def summarize_address_range(first: IPv6Address, last: IPv6Address) -> Iterator[IPv6Network]: ...
\r
141 def collapse_addresses(addresses: Iterable[_N]) -> Iterator[_N]: ...
\r
143 def get_mixed_type_key(obj: _A) -> Tuple[int, _A]: ...
\r
145 def get_mixed_type_key(obj: IPv4Network) -> Tuple[int, IPv4Address, IPv4Address]: ...
\r
147 def get_mixed_type_key(obj: IPv6Network) -> Tuple[int, IPv6Address, IPv6Address]: ...
\r
149 class AddressValueError(ValueError): ...
\r
150 class NetmaskValueError(ValueError): ...
\r