diff -urp cpython-hg.orig/Lib/ipaddress.py cpython-hg/Lib/ipaddress.py --- cpython-hg.orig/Lib/ipaddress.py 2014-05-18 16:28:03.874761216 +0200 +++ cpython-hg/Lib/ipaddress.py 2014-05-18 16:23:30.220900360 +0200 @@ -1353,6 +1353,10 @@ class IPv4Address(_BaseV4, _BaseAddress) self in IPv4Network('240.0.0.0/4') or self in IPv4Network('255.255.255.255/32')) + @property + def is_global(self): + return (not self in IPv4Network('100.64.0.0/10') and + not self.is_private) @property def is_multicast(self): diff -urp cpython-hg.orig/Lib/test/test_ipaddress.py cpython-hg/Lib/test/test_ipaddress.py --- cpython-hg.orig/Lib/test/test_ipaddress.py 2014-05-18 16:28:03.874761216 +0200 +++ cpython-hg/Lib/test/test_ipaddress.py 2014-05-18 16:23:30.220900360 +0200 @@ -1501,6 +1501,9 @@ class IpaddrUnitTest(unittest.TestCase): ipaddress.ip_address('169.254.100.200').is_link_local) self.assertEqual(False, ipaddress.ip_address('169.255.100.200').is_link_local) + self.assertEqual(True, ipaddress.ip_address('192.0.7.1').is_global) + self.assertEqual(False, + ipaddress.ip_address('203.0.113.1').is_global) self.assertEqual(True, ipaddress.ip_address('127.100.200.254').is_loopback)