Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.11/site-packages/netaddr/__init__.py: 90%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

21 statements  

1# ----------------------------------------------------------------------------- 

2# Copyright (c) 2008 by David P. D. Moss. All rights reserved. 

3# 

4# Released under the BSD license. See the LICENSE file for details. 

5# ----------------------------------------------------------------------------- 

6"""A Python library for manipulating IP and EUI network addresses.""" 

7 

8#: Version info (major, minor, maintenance, status) 

9__version__ = '1.3.0' 

10VERSION = tuple(int(part) for part in __version__.split('.')) 

11STATUS = '' 

12 

13import sys as _sys 

14 

15if _sys.version_info[0:2] < (3, 7): 

16 raise RuntimeError('Python 3.7.0 or higher is required!') 

17 

18__all__ = [ 

19 'AddrConversionError', 

20 'AddrFormatError', 

21 'NotRegisteredError', 

22 'ZEROFILL', 

23 'INET_ATON', 

24 'INET_PTON', 

25 'NOHOST', 

26 'IPAddress', 

27 'IPNetwork', 

28 'IPRange', 

29 'all_matching_cidrs', 

30 'cidr_abbrev_to_verbose', 

31 'cidr_exclude', 

32 'cidr_merge', 

33 'expand_partial_ipv4_address', 

34 'iprange_to_cidrs', 

35 'iter_iprange', 

36 'iter_unique_ips', 

37 'largest_matching_cidr', 

38 'smallest_matching_cidr', 

39 'spanning_cidr', 

40 'IPSet', 

41 'IPGlob', 

42 'cidr_to_glob', 

43 'glob_to_cidrs', 

44 'glob_to_iprange', 

45 'glob_to_iptuple', 

46 'iprange_to_globs', 

47 'valid_glob', 

48 'valid_nmap_range', 

49 'iter_nmap_range', 

50 'base85_to_ipv6', 

51 'ipv6_to_base85', 

52 'EUI', 

53 'IAB', 

54 'OUI', 

55 'valid_ipv4', 

56 'valid_ipv6', 

57 'ipv6_compact', 

58 'ipv6_full', 

59 'ipv6_verbose', 

60 'mac_eui48', 

61 'mac_unix', 

62 'mac_unix_expanded', 

63 'mac_cisco', 

64 'mac_bare', 

65 'mac_pgsql', 

66 'valid_mac', 

67 'eui64_base', 

68 'eui64_unix', 

69 'eui64_unix_expanded', 

70 'eui64_cisco', 

71 'eui64_bare', 

72 'valid_eui64', 

73 'SubnetSplitter', 

74] 

75 

76from netaddr.core import ( 

77 AddrConversionError, 

78 AddrFormatError, 

79 NotRegisteredError, 

80 ZEROFILL, 

81 INET_ATON, 

82 INET_PTON, 

83 NOHOST, 

84) 

85 

86from netaddr.ip import ( 

87 IPAddress, 

88 IPNetwork, 

89 IPRange, 

90 all_matching_cidrs, 

91 cidr_abbrev_to_verbose, 

92 cidr_exclude, 

93 cidr_merge, 

94 iprange_to_cidrs, 

95 iter_iprange, 

96 iter_unique_ips, 

97 largest_matching_cidr, 

98 smallest_matching_cidr, 

99 spanning_cidr, 

100) 

101 

102from netaddr.ip.sets import IPSet 

103 

104from netaddr.ip.glob import ( 

105 IPGlob, 

106 cidr_to_glob, 

107 glob_to_cidrs, 

108 glob_to_iprange, 

109 glob_to_iptuple, 

110 iprange_to_globs, 

111 valid_glob, 

112) 

113 

114from netaddr.ip.nmap import valid_nmap_range, iter_nmap_range 

115 

116from netaddr.ip.rfc1924 import base85_to_ipv6, ipv6_to_base85 

117 

118from netaddr.eui import EUI, IAB, OUI 

119 

120from netaddr.strategy.ipv4 import ( 

121 expand_partial_address as expand_partial_ipv4_address, 

122 valid_str as valid_ipv4, 

123) 

124 

125from netaddr.strategy.ipv6 import valid_str as valid_ipv6, ipv6_compact, ipv6_full, ipv6_verbose 

126 

127from netaddr.strategy.eui48 import ( 

128 mac_eui48, 

129 mac_unix, 

130 mac_unix_expanded, 

131 mac_cisco, 

132 mac_bare, 

133 mac_pgsql, 

134 valid_str as valid_mac, 

135) 

136 

137from netaddr.strategy.eui64 import ( 

138 eui64_base, 

139 eui64_unix, 

140 eui64_unix_expanded, 

141 eui64_cisco, 

142 eui64_bare, 

143 valid_str as valid_eui64, 

144) 

145 

146from netaddr.contrib.subnet_splitter import SubnetSplitter