Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-iso3166 for openSUSE:Factory 
checked in at 2022-01-31 22:57:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-iso3166 (Old)
 and      /work/SRC/openSUSE:Factory/.python-iso3166.new.1898 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-iso3166"

Mon Jan 31 22:57:34 2022 rev:2 rq:950307 version:2.0.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-iso3166/python-iso3166.changes    
2020-08-29 20:38:48.533375985 +0200
+++ /work/SRC/openSUSE:Factory/.python-iso3166.new.1898/python-iso3166.changes  
2022-01-31 22:58:30.449102624 +0100
@@ -1,0 +2,9 @@
+Mon Jan 24 16:29:11 UTC 2022 - Michael Str??der <mich...@stroeder.com>
+
+- update to 2.0.2
+  * Add the ``py.typed`` marker file in accordance with PEP 561
+  * Add ``python_requires`` to ``setup.py``
+  * Add type hints throughout codebase
+  * Drop support for Python versions prior to 3.6
+
+-------------------------------------------------------------------

Old:
----
  iso3166-1.0.1.tar.gz

New:
----
  iso3166-2.0.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-iso3166.spec ++++++
--- /var/tmp/diff_new_pack.xKlWla/_old  2022-01-31 22:58:31.081098369 +0100
+++ /var/tmp/diff_new_pack.xKlWla/_new  2022-01-31 22:58:31.085098342 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-iso3166
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-iso3166
-Version:        1.0.1
+Version:        2.0.2
 Release:        0
 Summary:        Python ISO 3166-1 country definitions
 License:        MIT

++++++ iso3166-1.0.1.tar.gz -> iso3166-2.0.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iso3166-1.0.1/CHANGES new/iso3166-2.0.2/CHANGES
--- old/iso3166-1.0.1/CHANGES   2019-12-13 20:26:34.000000000 +0100
+++ new/iso3166-2.0.2/CHANGES   2021-09-21 01:48:26.000000000 +0200
@@ -2,6 +2,23 @@
 Changes
 =======
 
+2.0.2 - Sep 20, 2021
+--------------------
+
+* Add the ``py.typed`` marker file in accordance with PEP 561
+
+2.0.1 - Sep 14, 2021
+--------------------
+
+* Add ``python_requires`` to ``setup.py``
+
+2.0.0 - Sep 14, 2021
+--------------------
+
+* Add type hints throughout codebase (thanks blokje!)
+
+* Drop support for Python versions prior to 3.6
+
 1.0.1 - Dec 13, 2019
 --------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iso3166-1.0.1/PKG-INFO new/iso3166-2.0.2/PKG-INFO
--- old/iso3166-1.0.1/PKG-INFO  2019-12-13 20:33:07.000000000 +0100
+++ new/iso3166-2.0.2/PKG-INFO  2021-09-21 01:49:49.927039900 +0200
@@ -1,94 +1,11 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
 Name: iso3166
-Version: 1.0.1
+Version: 2.0.2
 Summary: Self-contained ISO 3166-1 country definitions.
 Home-page: http://github.com/deactivated/python-iso3166
 Author: Mike Spindel
 Author-email: m...@spindel.is
 License: MIT
-Description: ============================================================
-         python-iso3166 - Standalone ISO 3166-1 country definitions
-        ============================================================
-        
-        :Authors:
-                Mike Spindel
-        :Version: 1.0.1
-        
-        
-        ISO 3166-1 defines two-letter, three-letter, and three-digit country
-        codes.  `python-iso3166` is a self-contained module that converts
-        between these codes and the corresponding country name.
-        
-        
-        Installation
-        ============
-        
-        ::
-        
-          $ pip install iso3166
-        
-        
-        Usage
-        =====
-        
-        
-        Country details
-        ---------------
-        
-        ::
-        
-          >>> from iso3166 import countries
-          >>>
-          >>> countries.get('us')
-          Country(name=u'United States', alpha2='US', alpha3='USA', 
numeric='840')
-          >>> countries.get('ala')
-          Country(name=u'\xc5land Islands', alpha2='AX', alpha3='ALA', 
numeric='248')
-          >>> countries.get(8)
-          Country(name=u'Albania', alpha2='AL', alpha3='ALB', numeric='008')
-        
-        
-        Country lists and indexes
-        -------------------------
-        
-        ::
-        
-          >>> from iso3166 import countries
-        
-          >>> for c in countries:
-                 print c
-          >>> Country(name=u'Afghanistan', alpha2='AF', alpha3='AFG', 
numeric='004')
-          Country(name=u'\xc5land Islands', alpha2='AX', alpha3='ALA', 
numeric='248')
-          Country(name=u'Albania', alpha2='AL', alpha3='ALB', numeric='008')
-          Country(name=u'Algeria', alpha2='DZ', alpha3='DZA', numeric='012')
-        
-        ::
-        
-          >>> import iso3166
-        
-          >>> iso3166.countries_by_name
-          >>> {u'AFGHANISTAN': Country(name=u'Afghanistan', alpha2='AF', 
alpha3='AFG', numeric='004'),
-          u'ALBANIA': Country(name=u'Albania', alpha2='AL', alpha3='ALB', 
numeric='008'),
-          u'ALGERIA': Country(name=u'Algeria', alpha2='DZ', alpha3='DZA', 
numeric='012'),
-          ...
-        
-          >>> iso3166.countries_by_numeric
-          >>> {'004': Country(name=u'Afghanistan', alpha2='AF', alpha3='AFG', 
numeric='004'),
-          '008': Country(name=u'Albania', alpha2='AL', alpha3='ALB', 
numeric='008'),
-          '010': Country(name=u'Antarctica', alpha2='AQ', alpha3='ATA', 
numeric='010'),
-          ...
-        
-          >>> iso3166.countries_by_alpha2
-          >>> {'AD': Country(name=u'Andorra', alpha2='AD', alpha3='AND', 
numeric='020'),
-          'AE': Country(name=u'United Arab Emirates', alpha2='AE', 
alpha3='ARE', numeric='784'),
-          'AF': Country(name=u'Afghanistan', alpha2='AF', alpha3='AFG', 
numeric='004'),
-          ...
-        
-          >>> iso3166.countries_by_alpha3
-          >>> {'ABW': Country(name=u'Aruba', alpha2='AW', alpha3='ABW', 
numeric='533'),
-          'AFG': Country(name=u'Afghanistan', alpha2='AF', alpha3='AFG', 
numeric='004'),
-          'AGO': Country(name=u'Angola', alpha2='AO', alpha3='AGO', 
numeric='024'),
-          ...
-        
 Keywords: iso 3166-1 country codes
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
@@ -96,15 +13,97 @@
 Classifier: Intended Audience :: Developers
 Classifier: Natural Language :: English
 Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.1
-Classifier: Programming Language :: Python :: 3.2
-Classifier: Programming Language :: Python :: 3.3
-Classifier: Programming Language :: Python :: 3.4
-Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3 :: Only
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3.10
+Requires-Python: >= 3.6
+License-File: LICENSE.txt
+
+============================================================
+ python-iso3166 - Standalone ISO 3166-1 country definitions
+============================================================
+
+:Authors:
+        Mike Spindel
+:Version: 2.0.2
+
+
+ISO 3166-1 defines two-letter, three-letter, and three-digit country
+codes.  `python-iso3166` is a self-contained module that converts
+between these codes and the corresponding country name.
+
+
+Installation
+============
+
+::
+
+  $ pip install iso3166
+
+
+Usage
+=====
+
+
+Country details
+---------------
+
+::
+
+  >>> from iso3166 import countries
+  >>>
+  >>> countries.get('us')
+  Country(name='United States', alpha2='US', alpha3='USA', numeric='840')
+  >>> countries.get('ala')
+  Country(name='??land Islands', alpha2='AX', alpha3='ALA', numeric='248')
+  >>> countries.get(8)
+  Country(name='Albania', alpha2='AL', alpha3='ALB', numeric='008')
+
+
+Country lists and indexes
+-------------------------
+
+::
+
+  >>> from iso3166 import countries
+
+  >>> for c in countries:
+         print(c)
+  >>> Country(name='Afghanistan', alpha2='AF', alpha3='AFG', numeric='004')
+  Country(name='??land Islands', alpha2='AX', alpha3='ALA', numeric='248')
+  Country(name='Albania', alpha2='AL', alpha3='ALB', numeric='008')
+  Country(name='Algeria', alpha2='DZ', alpha3='DZA', numeric='012')
+
+::
+
+  >>> import iso3166
+
+  >>> iso3166.countries_by_name
+  >>> {'AFGHANISTAN': Country(name='Afghanistan', alpha2='AF', alpha3='AFG', 
numeric='004'),
+  'ALBANIA': Country(name='Albania', alpha2='AL', alpha3='ALB', numeric='008'),
+  'ALGERIA': Country(name='Algeria', alpha2='DZ', alpha3='DZA', numeric='012'),
+  ...
+
+  >>> iso3166.countries_by_numeric
+  >>> {'004': Country(name='Afghanistan', alpha2='AF', alpha3='AFG', 
numeric='004'),
+  '008': Country(name='Albania', alpha2='AL', alpha3='ALB', numeric='008'),
+  '010': Country(name='Antarctica', alpha2='AQ', alpha3='ATA', numeric='010'),
+  ...
+
+  >>> iso3166.countries_by_alpha2
+  >>> {'AD': Country(name='Andorra', alpha2='AD', alpha3='AND', numeric='020'),
+  'AE': Country(name='United Arab Emirates', alpha2='AE', alpha3='ARE', 
numeric='784'),
+  'AF': Country(name='Afghanistan', alpha2='AF', alpha3='AFG', numeric='004'),
+  ...
+
+  >>> iso3166.countries_by_alpha3
+  >>> {'ABW': Country(name='Aruba', alpha2='AW', alpha3='ABW', numeric='533'),
+  'AFG': Country(name='Afghanistan', alpha2='AF', alpha3='AFG', numeric='004'),
+  'AGO': Country(name='Angola', alpha2='AO', alpha3='AGO', numeric='024'),
+  ...
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iso3166-1.0.1/README.rst new/iso3166-2.0.2/README.rst
--- old/iso3166-1.0.1/README.rst        2019-12-13 20:16:00.000000000 +0100
+++ new/iso3166-2.0.2/README.rst        2021-09-21 01:49:25.000000000 +0200
@@ -4,7 +4,7 @@
 
 :Authors:
         Mike Spindel
-:Version: 1.0.1
+:Version: 2.0.2
 
 
 ISO 3166-1 defines two-letter, three-letter, and three-digit country
@@ -32,11 +32,11 @@
   >>> from iso3166 import countries
   >>>
   >>> countries.get('us')
-  Country(name=u'United States', alpha2='US', alpha3='USA', numeric='840')
+  Country(name='United States', alpha2='US', alpha3='USA', numeric='840')
   >>> countries.get('ala')
-  Country(name=u'\xc5land Islands', alpha2='AX', alpha3='ALA', numeric='248')
+  Country(name='??land Islands', alpha2='AX', alpha3='ALA', numeric='248')
   >>> countries.get(8)
-  Country(name=u'Albania', alpha2='AL', alpha3='ALB', numeric='008')
+  Country(name='Albania', alpha2='AL', alpha3='ALB', numeric='008')
 
 
 Country lists and indexes
@@ -47,36 +47,36 @@
   >>> from iso3166 import countries
 
   >>> for c in countries:
-         print c
-  >>> Country(name=u'Afghanistan', alpha2='AF', alpha3='AFG', numeric='004')
-  Country(name=u'\xc5land Islands', alpha2='AX', alpha3='ALA', numeric='248')
-  Country(name=u'Albania', alpha2='AL', alpha3='ALB', numeric='008')
-  Country(name=u'Algeria', alpha2='DZ', alpha3='DZA', numeric='012')
+         print(c)
+  >>> Country(name='Afghanistan', alpha2='AF', alpha3='AFG', numeric='004')
+  Country(name='??land Islands', alpha2='AX', alpha3='ALA', numeric='248')
+  Country(name='Albania', alpha2='AL', alpha3='ALB', numeric='008')
+  Country(name='Algeria', alpha2='DZ', alpha3='DZA', numeric='012')
 
 ::
 
   >>> import iso3166
 
   >>> iso3166.countries_by_name
-  >>> {u'AFGHANISTAN': Country(name=u'Afghanistan', alpha2='AF', alpha3='AFG', 
numeric='004'),
-  u'ALBANIA': Country(name=u'Albania', alpha2='AL', alpha3='ALB', 
numeric='008'),
-  u'ALGERIA': Country(name=u'Algeria', alpha2='DZ', alpha3='DZA', 
numeric='012'),
+  >>> {'AFGHANISTAN': Country(name='Afghanistan', alpha2='AF', alpha3='AFG', 
numeric='004'),
+  'ALBANIA': Country(name='Albania', alpha2='AL', alpha3='ALB', numeric='008'),
+  'ALGERIA': Country(name='Algeria', alpha2='DZ', alpha3='DZA', numeric='012'),
   ...
 
   >>> iso3166.countries_by_numeric
-  >>> {'004': Country(name=u'Afghanistan', alpha2='AF', alpha3='AFG', 
numeric='004'),
-  '008': Country(name=u'Albania', alpha2='AL', alpha3='ALB', numeric='008'),
-  '010': Country(name=u'Antarctica', alpha2='AQ', alpha3='ATA', numeric='010'),
+  >>> {'004': Country(name='Afghanistan', alpha2='AF', alpha3='AFG', 
numeric='004'),
+  '008': Country(name='Albania', alpha2='AL', alpha3='ALB', numeric='008'),
+  '010': Country(name='Antarctica', alpha2='AQ', alpha3='ATA', numeric='010'),
   ...
 
   >>> iso3166.countries_by_alpha2
-  >>> {'AD': Country(name=u'Andorra', alpha2='AD', alpha3='AND', 
numeric='020'),
-  'AE': Country(name=u'United Arab Emirates', alpha2='AE', alpha3='ARE', 
numeric='784'),
-  'AF': Country(name=u'Afghanistan', alpha2='AF', alpha3='AFG', numeric='004'),
+  >>> {'AD': Country(name='Andorra', alpha2='AD', alpha3='AND', numeric='020'),
+  'AE': Country(name='United Arab Emirates', alpha2='AE', alpha3='ARE', 
numeric='784'),
+  'AF': Country(name='Afghanistan', alpha2='AF', alpha3='AFG', numeric='004'),
   ...
 
   >>> iso3166.countries_by_alpha3
-  >>> {'ABW': Country(name=u'Aruba', alpha2='AW', alpha3='ABW', numeric='533'),
-  'AFG': Country(name=u'Afghanistan', alpha2='AF', alpha3='AFG', 
numeric='004'),
-  'AGO': Country(name=u'Angola', alpha2='AO', alpha3='AGO', numeric='024'),
+  >>> {'ABW': Country(name='Aruba', alpha2='AW', alpha3='ABW', numeric='533'),
+  'AFG': Country(name='Afghanistan', alpha2='AF', alpha3='AFG', numeric='004'),
+  'AGO': Country(name='Angola', alpha2='AO', alpha3='AGO', numeric='024'),
   ...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iso3166-1.0.1/iso3166/__init__.py 
new/iso3166-2.0.2/iso3166/__init__.py
--- old/iso3166-1.0.1/iso3166/__init__.py       2019-03-19 19:42:00.000000000 
+0100
+++ new/iso3166-2.0.2/iso3166/__init__.py       2021-09-15 07:49:08.000000000 
+0200
@@ -1,319 +1,455 @@
 # -*- coding: utf-8 -*-
 
 import re
-from numbers import Integral
-from collections import namedtuple
+from typing import Dict, Iterator, NamedTuple, Type, TypeVar, Union, overload
 
 __all__ = ["countries"]
 
-try:
-    basestring
-except NameError:
-    basestring = str
+StrOrInt = Union[str, int]
+_D = TypeVar("_D")
+
+
+class Country(NamedTuple):
+    name: str
+    alpha2: str
+    alpha3: str
+    numeric: str
+    apolitical_name: str
 
-Country = namedtuple('Country',
-                     'name alpha2 alpha3 numeric apolitical_name')
 
 _records = [
-    Country(u"Afghanistan", "AF", "AFG", "004", u"Afghanistan"),
-    Country(u"??land Islands", "AX", "ALA", "248", u"??land Islands"),
-    Country(u"Albania", "AL", "ALB", "008", u"Albania"),
-    Country(u"Algeria", "DZ", "DZA", "012", u"Algeria"),
-    Country(u"American Samoa", "AS", "ASM", "016", u"American Samoa"),
-    Country(u"Andorra", "AD", "AND", "020", u"Andorra"),
-    Country(u"Angola", "AO", "AGO", "024", u"Angola"),
-    Country(u"Anguilla", "AI", "AIA", "660", u"Anguilla"),
-    Country(u"Antarctica", "AQ", "ATA", "010", u"Antarctica"),
-    Country(u"Antigua and Barbuda", "AG", "ATG", "028",
-            u"Antigua and Barbuda"),
-    Country(u"Argentina", "AR", "ARG", "032", u"Argentina"),
-    Country(u"Armenia", "AM", "ARM", "051", u"Armenia"),
-    Country(u"Aruba", "AW", "ABW", "533", u"Aruba"),
-    Country(u"Australia", "AU", "AUS", "036", u"Australia"),
-    Country(u"Austria", "AT", "AUT", "040", u"Austria"),
-    Country(u"Azerbaijan", "AZ", "AZE", "031", u"Azerbaijan"),
-    Country(u"Bahamas", "BS", "BHS", "044", u"Bahamas"),
-    Country(u"Bahrain", "BH", "BHR", "048", u"Bahrain"),
-    Country(u"Bangladesh", "BD", "BGD", "050", u"Bangladesh"),
-    Country(u"Barbados", "BB", "BRB", "052", u"Barbados"),
-    Country(u"Belarus", "BY", "BLR", "112", u"Belarus"),
-    Country(u"Belgium", "BE", "BEL", "056", u"Belgium"),
-    Country(u"Belize", "BZ", "BLZ", "084", u"Belize"),
-    Country(u"Benin", "BJ", "BEN", "204", u"Benin"),
-    Country(u"Bermuda", "BM", "BMU", "060", u"Bermuda"),
-    Country(u"Bhutan", "BT", "BTN", "064", u"Bhutan"),
-    Country(u"Bolivia, Plurinational State of", "BO", "BOL", "068",
-            u"Bolivia, Plurinational State of"),
-    Country(u"Bonaire, Sint Eustatius and Saba", "BQ", "BES", "535",
-            u"Bonaire, Sint Eustatius and Saba"),
-    Country(u"Bosnia and Herzegovina", "BA", "BIH", "070",
-            u"Bosnia and Herzegovina"),
-    Country(u"Botswana", "BW", "BWA", "072", u"Botswana"),
-    Country(u"Bouvet Island", "BV", "BVT", "074", u"Bouvet Island"),
-    Country(u"Brazil", "BR", "BRA", "076", u"Brazil"),
-    Country(u"British Indian Ocean Territory", "IO", "IOT", "086",
-            u"British Indian Ocean Territory"),
-    Country(u"Brunei Darussalam", "BN", "BRN", "096",
-            u"Brunei Darussalam"),
-    Country(u"Bulgaria", "BG", "BGR", "100", u"Bulgaria"),
-    Country(u"Burkina Faso", "BF", "BFA", "854", u"Burkina Faso"),
-    Country(u"Burundi", "BI", "BDI", "108", u"Burundi"),
-    Country(u"Cambodia", "KH", "KHM", "116", u"Cambodia"),
-    Country(u"Cameroon", "CM", "CMR", "120", u"Cameroon"),
-    Country(u"Canada", "CA", "CAN", "124", u"Canada"),
-    Country(u"Cabo Verde", "CV", "CPV", "132", u"Cabo Verde"),
-    Country(u"Cayman Islands", "KY", "CYM", "136", u"Cayman Islands"),
-    Country(u"Central African Republic", "CF", "CAF", "140",
-            u"Central African Republic"),
-    Country(u"Chad", "TD", "TCD", "148", u"Chad"),
-    Country(u"Chile", "CL", "CHL", "152", u"Chile"),
-    Country(u"China", "CN", "CHN", "156", u"China"),
-    Country(u"Christmas Island", "CX", "CXR", "162", u"Christmas Island"),
-    Country(u"Cocos (Keeling) Islands", "CC", "CCK", "166",
-            u"Cocos (Keeling) Islands"),
-    Country(u"Colombia", "CO", "COL", "170", u"Colombia"),
-    Country(u"Comoros", "KM", "COM", "174", u"Comoros"),
-    Country(u"Congo", "CG", "COG", "178", u"Congo"),
-    Country(u"Congo, Democratic Republic of the", "CD", "COD", "180",
-            u"Congo, Democratic Republic of the"),
-    Country(u"Cook Islands", "CK", "COK", "184", u"Cook Islands"),
-    Country(u"Costa Rica", "CR", "CRI", "188", u"Costa Rica"),
-    Country(u"C??te d'Ivoire", "CI", "CIV", "384", u"C??te d'Ivoire"),
-    Country(u"Croatia", "HR", "HRV", "191", u"Croatia"),
-    Country(u"Cuba", "CU", "CUB", "192", u"Cuba"),
-    Country(u"Cura??ao", "CW", "CUW", "531", u"Cura??ao"),
-    Country(u"Cyprus", "CY", "CYP", "196", u"Cyprus"),
-    Country(u"Czechia", "CZ", "CZE", "203", u"Czechia"),
-    Country(u"Denmark", "DK", "DNK", "208", u"Denmark"),
-    Country(u"Djibouti", "DJ", "DJI", "262", u"Djibouti"),
-    Country(u"Dominica", "DM", "DMA", "212", u"Dominica"),
-    Country(u"Dominican Republic", "DO", "DOM", "214", u"Dominican Republic"),
-    Country(u"Ecuador", "EC", "ECU", "218", u"Ecuador"),
-    Country(u"Egypt", "EG", "EGY", "818", u"Egypt"),
-    Country(u"El Salvador", "SV", "SLV", "222", u"El Salvador"),
-    Country(u"Equatorial Guinea", "GQ", "GNQ", "226", u"Equatorial Guinea"),
-    Country(u"Eritrea", "ER", "ERI", "232", u"Eritrea"),
-    Country(u"Estonia", "EE", "EST", "233", u"Estonia"),
-    Country(u"Ethiopia", "ET", "ETH", "231", u"Ethiopia"),
-    Country(u"Falkland Islands (Malvinas)", "FK", "FLK", "238",
-            u"Falkland Islands (Malvinas)"),
-    Country(u"Faroe Islands", "FO", "FRO", "234", u"Faroe Islands"),
-    Country(u"Fiji", "FJ", "FJI", "242", u"Fiji"),
-    Country(u"Finland", "FI", "FIN", "246", u"Finland"),
-    Country(u"France", "FR", "FRA", "250", u"France"),
-    Country(u"French Guiana", "GF", "GUF", "254", u"French Guiana"),
-    Country(u"French Polynesia", "PF", "PYF", "258", u"French Polynesia"),
-    Country(u"French Southern Territories", "TF", "ATF", "260",
-            u"French Southern Territories"),
-    Country(u"Gabon", "GA", "GAB", "266", u"Gabon"),
-    Country(u"Gambia", "GM", "GMB", "270", u"Gambia"),
-    Country(u"Georgia", "GE", "GEO", "268", u"Georgia"),
-    Country(u"Germany", "DE", "DEU", "276", u"Germany"),
-    Country(u"Ghana", "GH", "GHA", "288", u"Ghana"),
-    Country(u"Gibraltar", "GI", "GIB", "292", u"Gibraltar"),
-    Country(u"Greece", "GR", "GRC", "300", u"Greece"),
-    Country(u"Greenland", "GL", "GRL", "304", u"Greenland"),
-    Country(u"Grenada", "GD", "GRD", "308", u"Grenada"),
-    Country(u"Guadeloupe", "GP", "GLP", "312", u"Guadeloupe"),
-    Country(u"Guam", "GU", "GUM", "316", u"Guam"),
-    Country(u"Guatemala", "GT", "GTM", "320", u"Guatemala"),
-    Country(u"Guernsey", "GG", "GGY", "831", u"Guernsey"),
-    Country(u"Guinea", "GN", "GIN", "324", u"Guinea"),
-    Country(u"Guinea-Bissau", "GW", "GNB", "624", u"Guinea-Bissau"),
-    Country(u"Guyana", "GY", "GUY", "328", u"Guyana"),
-    Country(u"Haiti", "HT", "HTI", "332", u"Haiti"),
-    Country(u"Heard Island and McDonald Islands", "HM", "HMD", "334",
-            u"Heard Island and McDonald Islands"),
-    Country(u"Holy See", "VA", "VAT", "336", u"Holy See"),
-    Country(u"Honduras", "HN", "HND", "340", u"Honduras"),
-    Country(u"Hong Kong", "HK", "HKG", "344", u"Hong Kong"),
-    Country(u"Hungary", "HU", "HUN", "348", u"Hungary"),
-    Country(u"Iceland", "IS", "ISL", "352", u"Iceland"),
-    Country(u"India", "IN", "IND", "356", u"India"),
-    Country(u"Indonesia", "ID", "IDN", "360", u"Indonesia"),
-    Country(u"Iran, Islamic Republic of", "IR", "IRN", "364",
-            u"Iran, Islamic Republic of"),
-    Country(u"Iraq", "IQ", "IRQ", "368", u"Iraq"),
-    Country(u"Ireland", "IE", "IRL", "372", u"Ireland"),
-    Country(u"Isle of Man", "IM", "IMN", "833", u"Isle of Man"),
-    Country(u"Israel", "IL", "ISR", "376", u"Israel"),
-    Country(u"Italy", "IT", "ITA", "380", u"Italy"),
-    Country(u"Jamaica", "JM", "JAM", "388", u"Jamaica"),
-    Country(u"Japan", "JP", "JPN", "392", u"Japan"),
-    Country(u"Jersey", "JE", "JEY", "832", u"Jersey"),
-    Country(u"Jordan", "JO", "JOR", "400", u"Jordan"),
-    Country(u"Kazakhstan", "KZ", "KAZ", "398", u"Kazakhstan"),
-    Country(u"Kenya", "KE", "KEN", "404", u"Kenya"),
-    Country(u"Kiribati", "KI", "KIR", "296", u"Kiribati"),
-    Country(u"Korea, Democratic People's Republic of", "KP", "PRK", "408",
-            u"Korea, Democratic People's Republic of"),
-    Country(u"Korea, Republic of", "KR", "KOR", "410", u"Korea, Republic of"),
-    Country(u"Kosovo", "XK", "XKX", "983", u"Kosovo"),
-    Country(u"Kuwait", "KW", "KWT", "414", u"Kuwait"),
-    Country(u"Kyrgyzstan", "KG", "KGZ", "417", u"Kyrgyzstan"),
-    Country(u"Lao People's Democratic Republic", "LA", "LAO", "418",
-            u"Lao People's Democratic Republic"),
-    Country(u"Latvia", "LV", "LVA", "428", u"Latvia"),
-    Country(u"Lebanon", "LB", "LBN", "422", u"Lebanon"),
-    Country(u"Lesotho", "LS", "LSO", "426", u"Lesotho"),
-    Country(u"Liberia", "LR", "LBR", "430", u"Liberia"),
-    Country(u"Libya", "LY", "LBY", "434", u"Libya"),
-    Country(u"Liechtenstein", "LI", "LIE", "438", u"Liechtenstein"),
-    Country(u"Lithuania", "LT", "LTU", "440", u"Lithuania"),
-    Country(u"Luxembourg", "LU", "LUX", "442", u"Luxembourg"),
-    Country(u"Macao", "MO", "MAC", "446", u"Macao"),
-    Country(u"North Macedonia", "MK", "MKD", "807", u"North Macedonia"),
-    Country(u"Madagascar", "MG", "MDG", "450", u"Madagascar"),
-    Country(u"Malawi", "MW", "MWI", "454", u"Malawi"),
-    Country(u"Malaysia", "MY", "MYS", "458", u"Malaysia"),
-    Country(u"Maldives", "MV", "MDV", "462", u"Maldives"),
-    Country(u"Mali", "ML", "MLI", "466", u"Mali"),
-    Country(u"Malta", "MT", "MLT", "470", u"Malta"),
-    Country(u"Marshall Islands", "MH", "MHL", "584", u"Marshall Islands"),
-    Country(u"Martinique", "MQ", "MTQ", "474", u"Martinique"),
-    Country(u"Mauritania", "MR", "MRT", "478", u"Mauritania"),
-    Country(u"Mauritius", "MU", "MUS", "480", u"Mauritius"),
-    Country(u"Mayotte", "YT", "MYT", "175", u"Mayotte"),
-    Country(u"Mexico", "MX", "MEX", "484", u"Mexico"),
-    Country(u"Micronesia, Federated States of", "FM", "FSM", "583",
-            u"Micronesia, Federated States of"),
-    Country(u"Moldova, Republic of", "MD", "MDA", "498",
-            u"Moldova, Republic of"),
-    Country(u"Monaco", "MC", "MCO", "492", u"Monaco"),
-    Country(u"Mongolia", "MN", "MNG", "496", u"Mongolia"),
-    Country(u"Montenegro", "ME", "MNE", "499", u"Montenegro"),
-    Country(u"Montserrat", "MS", "MSR", "500", u"Montserrat"),
-    Country(u"Morocco", "MA", "MAR", "504", u"Morocco"),
-    Country(u"Mozambique", "MZ", "MOZ", "508", u"Mozambique"),
-    Country(u"Myanmar", "MM", "MMR", "104", u"Myanmar"),
-    Country(u"Namibia", "NA", "NAM", "516", u"Namibia"),
-    Country(u"Nauru", "NR", "NRU", "520", u"Nauru"),
-    Country(u"Nepal", "NP", "NPL", "524", u"Nepal"),
-    Country(u"Netherlands", "NL", "NLD", "528", u"Netherlands"),
-    Country(u"New Caledonia", "NC", "NCL", "540", u"New Caledonia"),
-    Country(u"New Zealand", "NZ", "NZL", "554", u"New Zealand"),
-    Country(u"Nicaragua", "NI", "NIC", "558", u"Nicaragua"),
-    Country(u"Niger", "NE", "NER", "562", u"Niger"),
-    Country(u"Nigeria", "NG", "NGA", "566", u"Nigeria"),
-    Country(u"Niue", "NU", "NIU", "570", u"Niue"),
-    Country(u"Norfolk Island", "NF", "NFK", "574", u"Norfolk Island"),
-    Country(u"Northern Mariana Islands", "MP", "MNP", "580",
-            u"Northern Mariana Islands"),
-    Country(u"Norway", "NO", "NOR", "578", u"Norway"),
-    Country(u"Oman", "OM", "OMN", "512", u"Oman"),
-    Country(u"Pakistan", "PK", "PAK", "586", u"Pakistan"),
-    Country(u"Palau", "PW", "PLW", "585", u"Palau"),
-    Country(u"Palestine, State of", "PS", "PSE", "275",
-            u"Palestine"),
-    Country(u"Panama", "PA", "PAN", "591", u"Panama"),
-    Country(u"Papua New Guinea", "PG", "PNG", "598",
-            u"Papua New Guinea"),
-    Country(u"Paraguay", "PY", "PRY", "600", u"Paraguay"),
-    Country(u"Peru", "PE", "PER", "604", u"Peru"),
-    Country(u"Philippines", "PH", "PHL", "608", u"Philippines"),
-    Country(u"Pitcairn", "PN", "PCN", "612", u"Pitcairn"),
-    Country(u"Poland", "PL", "POL", "616", u"Poland"),
-    Country(u"Portugal", "PT", "PRT", "620", u"Portugal"),
-    Country(u"Puerto Rico", "PR", "PRI", "630", u"Puerto Rico"),
-    Country(u"Qatar", "QA", "QAT", "634", u"Qatar"),
-    Country(u"R??union", "RE", "REU", "638", u"R??union"),
-    Country(u"Romania", "RO", "ROU", "642", u"Romania"),
-    Country(u"Russian Federation", "RU", "RUS", "643",
-            u"Russian Federation"),
-    Country(u"Rwanda", "RW", "RWA", "646", u"Rwanda"),
-    Country(u"Saint Barth??lemy", "BL", "BLM", "652",
-            u"Saint Barth??lemy"),
-    Country(u"Saint Helena, Ascension and Tristan da Cunha",
-            "SH", "SHN", "654",
-            u"Saint Helena, Ascension and Tristan da Cunha"),
-    Country(u"Saint Kitts and Nevis", "KN", "KNA", "659",
-            u"Saint Kitts and Nevis"),
-    Country(u"Saint Lucia", "LC", "LCA", "662", u"Saint Lucia"),
-    Country(u"Saint Martin (French part)", "MF", "MAF", "663",
-            u"Saint Martin (French part)"),
-    Country(u"Saint Pierre and Miquelon", "PM", "SPM", "666",
-            u"Saint Pierre and Miquelon"),
-    Country(u"Saint Vincent and the Grenadines", "VC", "VCT", "670",
-            u"Saint Vincent and the Grenadines"),
-    Country(u"Samoa", "WS", "WSM", "882", u"Samoa"),
-    Country(u"San Marino", "SM", "SMR", "674", u"San Marino"),
-    Country(u"Sao Tome and Principe", "ST", "STP", "678",
-            u"Sao Tome and Principe"),
-    Country(u"Saudi Arabia", "SA", "SAU", "682", u"Saudi Arabia"),
-    Country(u"Senegal", "SN", "SEN", "686", u"Senegal"),
-    Country(u"Serbia", "RS", "SRB", "688", u"Serbia"),
-    Country(u"Seychelles", "SC", "SYC", "690", u"Seychelles"),
-    Country(u"Sierra Leone", "SL", "SLE", "694", u"Sierra Leone"),
-    Country(u"Singapore", "SG", "SGP", "702", u"Singapore"),
-    Country(u"Sint Maarten (Dutch part)", "SX", "SXM", "534",
-            u"Sint Maarten (Dutch part)"),
-    Country(u"Slovakia", "SK", "SVK", "703", u"Slovakia"),
-    Country(u"Slovenia", "SI", "SVN", "705", u"Slovenia"),
-    Country(u"Solomon Islands", "SB", "SLB", "090", u"Solomon Islands"),
-    Country(u"Somalia", "SO", "SOM", "706", u"Somalia"),
-    Country(u"South Africa", "ZA", "ZAF", "710", u"South Africa"),
-    Country(u"South Georgia and the South Sandwich Islands",
-            "GS", "SGS", "239",
-            u"South Georgia and the South Sandwich Islands",),
-    Country(u"South Sudan", "SS", "SSD", "728", u"South Sudan"),
-    Country(u"Spain", "ES", "ESP", "724", u"Spain"),
-    Country(u"Sri Lanka", "LK", "LKA", "144", u"Sri Lanka"),
-    Country(u"Sudan", "SD", "SDN", "729", u"Sudan"),
-    Country(u"Suriname", "SR", "SUR", "740", u"Suriname"),
-    Country(u"Svalbard and Jan Mayen", "SJ", "SJM", "744",
-            u"Svalbard and Jan Mayen"),
-    Country(u"Eswatini", "SZ", "SWZ", "748", u"Eswatini"),
-    Country(u"Sweden", "SE", "SWE", "752", u"Sweden"),
-    Country(u"Switzerland", "CH", "CHE", "756", u"Switzerland"),
-    Country(u"Syrian Arab Republic", "SY", "SYR", "760",
-            u"Syrian Arab Republic"),
-    Country(u"Taiwan, Province of China", "TW", "TWN", "158",
-            u"Taiwan"),
-    Country(u"Tajikistan", "TJ", "TJK", "762", u"Tajikistan"),
-    Country(u"Tanzania, United Republic of", "TZ", "TZA", "834",
-            u"Tanzania, United Republic of"),
-    Country(u"Thailand", "TH", "THA", "764", u"Thailand"),
-    Country(u"Timor-Leste", "TL", "TLS", "626", u"Timor-Leste"),
-    Country(u"Togo", "TG", "TGO", "768", u"Togo"),
-    Country(u"Tokelau", "TK", "TKL", "772", u"Tokelau"),
-    Country(u"Tonga", "TO", "TON", "776", u"Tonga"),
-    Country(u"Trinidad and Tobago", "TT", "TTO", "780",
-            u"Trinidad and Tobago"),
-    Country(u"Tunisia", "TN", "TUN", "788", u"Tunisia"),
-    Country(u"Turkey", "TR", "TUR", "792", u"Turkey"),
-    Country(u"Turkmenistan", "TM", "TKM", "795", u"Turkmenistan"),
-    Country(u"Turks and Caicos Islands", "TC", "TCA", "796",
-            u"Turks and Caicos Islands"),
-    Country(u"Tuvalu", "TV", "TUV", "798", u"Tuvalu"),
-    Country(u"Uganda", "UG", "UGA", "800", u"Uganda"),
-    Country(u"Ukraine", "UA", "UKR", "804", u"Ukraine"),
-    Country(u"United Arab Emirates", "AE", "ARE", "784",
-            u"United Arab Emirates"),
-    Country(u"United Kingdom of Great Britain and Northern Ireland",
-            "GB", "GBR", "826",
-            u"United Kingdom of Great Britain and Northern Ireland"),
-    Country(u"United States of America", "US", "USA", "840",
-            u"United States of America"),
-    Country(u"United States Minor Outlying Islands", "UM", "UMI", "581",
-            u"United States Minor Outlying Islands"),
-    Country(u"Uruguay", "UY", "URY", "858", u"Uruguay"),
-    Country(u"Uzbekistan", "UZ", "UZB", "860", u"Uzbekistan"),
-    Country(u"Vanuatu", "VU", "VUT", "548", u"Vanuatu"),
-    Country(u"Venezuela, Bolivarian Republic of", "VE", "VEN", "862",
-            u"Venezuela, Bolivarian Republic of"),
-    Country(u"Viet Nam", "VN", "VNM", "704", u"Viet Nam"),
-    Country(u"Virgin Islands, British", "VG", "VGB", "092",
-            u"Virgin Islands, British"),
-    Country(u"Virgin Islands, U.S.", "VI", "VIR", "850",
-            u"Virgin Islands, U.S."),
-    Country(u"Wallis and Futuna", "WF", "WLF", "876", u"Wallis and Futuna"),
-    Country(u"Western Sahara", "EH", "ESH", "732", u"Western Sahara"),
-    Country(u"Yemen", "YE", "YEM", "887", u"Yemen"),
-    Country(u"Zambia", "ZM", "ZMB", "894", u"Zambia"),
-    Country(u"Zimbabwe", "ZW", "ZWE", "716", u"Zimbabwe")]
+    Country("Afghanistan", "AF", "AFG", "004", "Afghanistan"),
+    Country("??land Islands", "AX", "ALA", "248", "??land Islands"),
+    Country("Albania", "AL", "ALB", "008", "Albania"),
+    Country("Algeria", "DZ", "DZA", "012", "Algeria"),
+    Country("American Samoa", "AS", "ASM", "016", "American Samoa"),
+    Country("Andorra", "AD", "AND", "020", "Andorra"),
+    Country("Angola", "AO", "AGO", "024", "Angola"),
+    Country("Anguilla", "AI", "AIA", "660", "Anguilla"),
+    Country("Antarctica", "AQ", "ATA", "010", "Antarctica"),
+    Country("Antigua and Barbuda", "AG", "ATG", "028", "Antigua and Barbuda"),
+    Country("Argentina", "AR", "ARG", "032", "Argentina"),
+    Country("Armenia", "AM", "ARM", "051", "Armenia"),
+    Country("Aruba", "AW", "ABW", "533", "Aruba"),
+    Country("Australia", "AU", "AUS", "036", "Australia"),
+    Country("Austria", "AT", "AUT", "040", "Austria"),
+    Country("Azerbaijan", "AZ", "AZE", "031", "Azerbaijan"),
+    Country("Bahamas", "BS", "BHS", "044", "Bahamas"),
+    Country("Bahrain", "BH", "BHR", "048", "Bahrain"),
+    Country("Bangladesh", "BD", "BGD", "050", "Bangladesh"),
+    Country("Barbados", "BB", "BRB", "052", "Barbados"),
+    Country("Belarus", "BY", "BLR", "112", "Belarus"),
+    Country("Belgium", "BE", "BEL", "056", "Belgium"),
+    Country("Belize", "BZ", "BLZ", "084", "Belize"),
+    Country("Benin", "BJ", "BEN", "204", "Benin"),
+    Country("Bermuda", "BM", "BMU", "060", "Bermuda"),
+    Country("Bhutan", "BT", "BTN", "064", "Bhutan"),
+    Country(
+        "Bolivia, Plurinational State of",
+        "BO",
+        "BOL",
+        "068",
+        "Bolivia, Plurinational State of",
+    ),
+    Country(
+        "Bonaire, Sint Eustatius and Saba",
+        "BQ",
+        "BES",
+        "535",
+        "Bonaire, Sint Eustatius and Saba",
+    ),
+    Country(
+        "Bosnia and Herzegovina", "BA", "BIH", "070", "Bosnia and Herzegovina"
+    ),
+    Country("Botswana", "BW", "BWA", "072", "Botswana"),
+    Country("Bouvet Island", "BV", "BVT", "074", "Bouvet Island"),
+    Country("Brazil", "BR", "BRA", "076", "Brazil"),
+    Country(
+        "British Indian Ocean Territory",
+        "IO",
+        "IOT",
+        "086",
+        "British Indian Ocean Territory",
+    ),
+    Country("Brunei Darussalam", "BN", "BRN", "096", "Brunei Darussalam"),
+    Country("Bulgaria", "BG", "BGR", "100", "Bulgaria"),
+    Country("Burkina Faso", "BF", "BFA", "854", "Burkina Faso"),
+    Country("Burundi", "BI", "BDI", "108", "Burundi"),
+    Country("Cambodia", "KH", "KHM", "116", "Cambodia"),
+    Country("Cameroon", "CM", "CMR", "120", "Cameroon"),
+    Country("Canada", "CA", "CAN", "124", "Canada"),
+    Country("Cabo Verde", "CV", "CPV", "132", "Cabo Verde"),
+    Country("Cayman Islands", "KY", "CYM", "136", "Cayman Islands"),
+    Country(
+        "Central African Republic",
+        "CF",
+        "CAF",
+        "140",
+        "Central African Republic",
+    ),
+    Country("Chad", "TD", "TCD", "148", "Chad"),
+    Country("Chile", "CL", "CHL", "152", "Chile"),
+    Country("China", "CN", "CHN", "156", "China"),
+    Country("Christmas Island", "CX", "CXR", "162", "Christmas Island"),
+    Country(
+        "Cocos (Keeling) Islands",
+        "CC",
+        "CCK",
+        "166",
+        "Cocos (Keeling) Islands",
+    ),
+    Country("Colombia", "CO", "COL", "170", "Colombia"),
+    Country("Comoros", "KM", "COM", "174", "Comoros"),
+    Country("Congo", "CG", "COG", "178", "Congo"),
+    Country(
+        "Congo, Democratic Republic of the",
+        "CD",
+        "COD",
+        "180",
+        "Congo, Democratic Republic of the",
+    ),
+    Country("Cook Islands", "CK", "COK", "184", "Cook Islands"),
+    Country("Costa Rica", "CR", "CRI", "188", "Costa Rica"),
+    Country("C??te d'Ivoire", "CI", "CIV", "384", "C??te d'Ivoire"),
+    Country("Croatia", "HR", "HRV", "191", "Croatia"),
+    Country("Cuba", "CU", "CUB", "192", "Cuba"),
+    Country("Cura??ao", "CW", "CUW", "531", "Cura??ao"),
+    Country("Cyprus", "CY", "CYP", "196", "Cyprus"),
+    Country("Czechia", "CZ", "CZE", "203", "Czechia"),
+    Country("Denmark", "DK", "DNK", "208", "Denmark"),
+    Country("Djibouti", "DJ", "DJI", "262", "Djibouti"),
+    Country("Dominica", "DM", "DMA", "212", "Dominica"),
+    Country("Dominican Republic", "DO", "DOM", "214", "Dominican Republic"),
+    Country("Ecuador", "EC", "ECU", "218", "Ecuador"),
+    Country("Egypt", "EG", "EGY", "818", "Egypt"),
+    Country("El Salvador", "SV", "SLV", "222", "El Salvador"),
+    Country("Equatorial Guinea", "GQ", "GNQ", "226", "Equatorial Guinea"),
+    Country("Eritrea", "ER", "ERI", "232", "Eritrea"),
+    Country("Estonia", "EE", "EST", "233", "Estonia"),
+    Country("Ethiopia", "ET", "ETH", "231", "Ethiopia"),
+    Country(
+        "Falkland Islands (Malvinas)",
+        "FK",
+        "FLK",
+        "238",
+        "Falkland Islands (Malvinas)",
+    ),
+    Country("Faroe Islands", "FO", "FRO", "234", "Faroe Islands"),
+    Country("Fiji", "FJ", "FJI", "242", "Fiji"),
+    Country("Finland", "FI", "FIN", "246", "Finland"),
+    Country("France", "FR", "FRA", "250", "France"),
+    Country("French Guiana", "GF", "GUF", "254", "French Guiana"),
+    Country("French Polynesia", "PF", "PYF", "258", "French Polynesia"),
+    Country(
+        "French Southern Territories",
+        "TF",
+        "ATF",
+        "260",
+        "French Southern Territories",
+    ),
+    Country("Gabon", "GA", "GAB", "266", "Gabon"),
+    Country("Gambia", "GM", "GMB", "270", "Gambia"),
+    Country("Georgia", "GE", "GEO", "268", "Georgia"),
+    Country("Germany", "DE", "DEU", "276", "Germany"),
+    Country("Ghana", "GH", "GHA", "288", "Ghana"),
+    Country("Gibraltar", "GI", "GIB", "292", "Gibraltar"),
+    Country("Greece", "GR", "GRC", "300", "Greece"),
+    Country("Greenland", "GL", "GRL", "304", "Greenland"),
+    Country("Grenada", "GD", "GRD", "308", "Grenada"),
+    Country("Guadeloupe", "GP", "GLP", "312", "Guadeloupe"),
+    Country("Guam", "GU", "GUM", "316", "Guam"),
+    Country("Guatemala", "GT", "GTM", "320", "Guatemala"),
+    Country("Guernsey", "GG", "GGY", "831", "Guernsey"),
+    Country("Guinea", "GN", "GIN", "324", "Guinea"),
+    Country("Guinea-Bissau", "GW", "GNB", "624", "Guinea-Bissau"),
+    Country("Guyana", "GY", "GUY", "328", "Guyana"),
+    Country("Haiti", "HT", "HTI", "332", "Haiti"),
+    Country(
+        "Heard Island and McDonald Islands",
+        "HM",
+        "HMD",
+        "334",
+        "Heard Island and McDonald Islands",
+    ),
+    Country("Holy See", "VA", "VAT", "336", "Holy See"),
+    Country("Honduras", "HN", "HND", "340", "Honduras"),
+    Country("Hong Kong", "HK", "HKG", "344", "Hong Kong"),
+    Country("Hungary", "HU", "HUN", "348", "Hungary"),
+    Country("Iceland", "IS", "ISL", "352", "Iceland"),
+    Country("India", "IN", "IND", "356", "India"),
+    Country("Indonesia", "ID", "IDN", "360", "Indonesia"),
+    Country(
+        "Iran, Islamic Republic of",
+        "IR",
+        "IRN",
+        "364",
+        "Iran, Islamic Republic of",
+    ),
+    Country("Iraq", "IQ", "IRQ", "368", "Iraq"),
+    Country("Ireland", "IE", "IRL", "372", "Ireland"),
+    Country("Isle of Man", "IM", "IMN", "833", "Isle of Man"),
+    Country("Israel", "IL", "ISR", "376", "Israel"),
+    Country("Italy", "IT", "ITA", "380", "Italy"),
+    Country("Jamaica", "JM", "JAM", "388", "Jamaica"),
+    Country("Japan", "JP", "JPN", "392", "Japan"),
+    Country("Jersey", "JE", "JEY", "832", "Jersey"),
+    Country("Jordan", "JO", "JOR", "400", "Jordan"),
+    Country("Kazakhstan", "KZ", "KAZ", "398", "Kazakhstan"),
+    Country("Kenya", "KE", "KEN", "404", "Kenya"),
+    Country("Kiribati", "KI", "KIR", "296", "Kiribati"),
+    Country(
+        "Korea, Democratic People's Republic of",
+        "KP",
+        "PRK",
+        "408",
+        "Korea, Democratic People's Republic of",
+    ),
+    Country("Korea, Republic of", "KR", "KOR", "410", "Korea, Republic of"),
+    Country("Kosovo", "XK", "XKX", "983", "Kosovo"),
+    Country("Kuwait", "KW", "KWT", "414", "Kuwait"),
+    Country("Kyrgyzstan", "KG", "KGZ", "417", "Kyrgyzstan"),
+    Country(
+        "Lao People's Democratic Republic",
+        "LA",
+        "LAO",
+        "418",
+        "Lao People's Democratic Republic",
+    ),
+    Country("Latvia", "LV", "LVA", "428", "Latvia"),
+    Country("Lebanon", "LB", "LBN", "422", "Lebanon"),
+    Country("Lesotho", "LS", "LSO", "426", "Lesotho"),
+    Country("Liberia", "LR", "LBR", "430", "Liberia"),
+    Country("Libya", "LY", "LBY", "434", "Libya"),
+    Country("Liechtenstein", "LI", "LIE", "438", "Liechtenstein"),
+    Country("Lithuania", "LT", "LTU", "440", "Lithuania"),
+    Country("Luxembourg", "LU", "LUX", "442", "Luxembourg"),
+    Country("Macao", "MO", "MAC", "446", "Macao"),
+    Country("North Macedonia", "MK", "MKD", "807", "North Macedonia"),
+    Country("Madagascar", "MG", "MDG", "450", "Madagascar"),
+    Country("Malawi", "MW", "MWI", "454", "Malawi"),
+    Country("Malaysia", "MY", "MYS", "458", "Malaysia"),
+    Country("Maldives", "MV", "MDV", "462", "Maldives"),
+    Country("Mali", "ML", "MLI", "466", "Mali"),
+    Country("Malta", "MT", "MLT", "470", "Malta"),
+    Country("Marshall Islands", "MH", "MHL", "584", "Marshall Islands"),
+    Country("Martinique", "MQ", "MTQ", "474", "Martinique"),
+    Country("Mauritania", "MR", "MRT", "478", "Mauritania"),
+    Country("Mauritius", "MU", "MUS", "480", "Mauritius"),
+    Country("Mayotte", "YT", "MYT", "175", "Mayotte"),
+    Country("Mexico", "MX", "MEX", "484", "Mexico"),
+    Country(
+        "Micronesia, Federated States of",
+        "FM",
+        "FSM",
+        "583",
+        "Micronesia, Federated States of",
+    ),
+    Country(
+        "Moldova, Republic of", "MD", "MDA", "498", "Moldova, Republic of"
+    ),
+    Country("Monaco", "MC", "MCO", "492", "Monaco"),
+    Country("Mongolia", "MN", "MNG", "496", "Mongolia"),
+    Country("Montenegro", "ME", "MNE", "499", "Montenegro"),
+    Country("Montserrat", "MS", "MSR", "500", "Montserrat"),
+    Country("Morocco", "MA", "MAR", "504", "Morocco"),
+    Country("Mozambique", "MZ", "MOZ", "508", "Mozambique"),
+    Country("Myanmar", "MM", "MMR", "104", "Myanmar"),
+    Country("Namibia", "NA", "NAM", "516", "Namibia"),
+    Country("Nauru", "NR", "NRU", "520", "Nauru"),
+    Country("Nepal", "NP", "NPL", "524", "Nepal"),
+    Country("Netherlands", "NL", "NLD", "528", "Netherlands"),
+    Country("New Caledonia", "NC", "NCL", "540", "New Caledonia"),
+    Country("New Zealand", "NZ", "NZL", "554", "New Zealand"),
+    Country("Nicaragua", "NI", "NIC", "558", "Nicaragua"),
+    Country("Niger", "NE", "NER", "562", "Niger"),
+    Country("Nigeria", "NG", "NGA", "566", "Nigeria"),
+    Country("Niue", "NU", "NIU", "570", "Niue"),
+    Country("Norfolk Island", "NF", "NFK", "574", "Norfolk Island"),
+    Country(
+        "Northern Mariana Islands",
+        "MP",
+        "MNP",
+        "580",
+        "Northern Mariana Islands",
+    ),
+    Country("Norway", "NO", "NOR", "578", "Norway"),
+    Country("Oman", "OM", "OMN", "512", "Oman"),
+    Country("Pakistan", "PK", "PAK", "586", "Pakistan"),
+    Country("Palau", "PW", "PLW", "585", "Palau"),
+    Country("Palestine, State of", "PS", "PSE", "275", "Palestine"),
+    Country("Panama", "PA", "PAN", "591", "Panama"),
+    Country("Papua New Guinea", "PG", "PNG", "598", "Papua New Guinea"),
+    Country("Paraguay", "PY", "PRY", "600", "Paraguay"),
+    Country("Peru", "PE", "PER", "604", "Peru"),
+    Country("Philippines", "PH", "PHL", "608", "Philippines"),
+    Country("Pitcairn", "PN", "PCN", "612", "Pitcairn"),
+    Country("Poland", "PL", "POL", "616", "Poland"),
+    Country("Portugal", "PT", "PRT", "620", "Portugal"),
+    Country("Puerto Rico", "PR", "PRI", "630", "Puerto Rico"),
+    Country("Qatar", "QA", "QAT", "634", "Qatar"),
+    Country("R??union", "RE", "REU", "638", "R??union"),
+    Country("Romania", "RO", "ROU", "642", "Romania"),
+    Country("Russian Federation", "RU", "RUS", "643", "Russian Federation"),
+    Country("Rwanda", "RW", "RWA", "646", "Rwanda"),
+    Country("Saint Barth??lemy", "BL", "BLM", "652", "Saint Barth??lemy"),
+    Country(
+        "Saint Helena, Ascension and Tristan da Cunha",
+        "SH",
+        "SHN",
+        "654",
+        "Saint Helena, Ascension and Tristan da Cunha",
+    ),
+    Country(
+        "Saint Kitts and Nevis", "KN", "KNA", "659", "Saint Kitts and Nevis"
+    ),
+    Country("Saint Lucia", "LC", "LCA", "662", "Saint Lucia"),
+    Country(
+        "Saint Martin (French part)",
+        "MF",
+        "MAF",
+        "663",
+        "Saint Martin (French part)",
+    ),
+    Country(
+        "Saint Pierre and Miquelon",
+        "PM",
+        "SPM",
+        "666",
+        "Saint Pierre and Miquelon",
+    ),
+    Country(
+        "Saint Vincent and the Grenadines",
+        "VC",
+        "VCT",
+        "670",
+        "Saint Vincent and the Grenadines",
+    ),
+    Country("Samoa", "WS", "WSM", "882", "Samoa"),
+    Country("San Marino", "SM", "SMR", "674", "San Marino"),
+    Country(
+        "Sao Tome and Principe", "ST", "STP", "678", "Sao Tome and Principe"
+    ),
+    Country("Saudi Arabia", "SA", "SAU", "682", "Saudi Arabia"),
+    Country("Senegal", "SN", "SEN", "686", "Senegal"),
+    Country("Serbia", "RS", "SRB", "688", "Serbia"),
+    Country("Seychelles", "SC", "SYC", "690", "Seychelles"),
+    Country("Sierra Leone", "SL", "SLE", "694", "Sierra Leone"),
+    Country("Singapore", "SG", "SGP", "702", "Singapore"),
+    Country(
+        "Sint Maarten (Dutch part)",
+        "SX",
+        "SXM",
+        "534",
+        "Sint Maarten (Dutch part)",
+    ),
+    Country("Slovakia", "SK", "SVK", "703", "Slovakia"),
+    Country("Slovenia", "SI", "SVN", "705", "Slovenia"),
+    Country("Solomon Islands", "SB", "SLB", "090", "Solomon Islands"),
+    Country("Somalia", "SO", "SOM", "706", "Somalia"),
+    Country("South Africa", "ZA", "ZAF", "710", "South Africa"),
+    Country(
+        "South Georgia and the South Sandwich Islands",
+        "GS",
+        "SGS",
+        "239",
+        "South Georgia and the South Sandwich Islands",
+    ),
+    Country("South Sudan", "SS", "SSD", "728", "South Sudan"),
+    Country("Spain", "ES", "ESP", "724", "Spain"),
+    Country("Sri Lanka", "LK", "LKA", "144", "Sri Lanka"),
+    Country("Sudan", "SD", "SDN", "729", "Sudan"),
+    Country("Suriname", "SR", "SUR", "740", "Suriname"),
+    Country(
+        "Svalbard and Jan Mayen", "SJ", "SJM", "744", "Svalbard and Jan Mayen"
+    ),
+    Country("Eswatini", "SZ", "SWZ", "748", "Eswatini"),
+    Country("Sweden", "SE", "SWE", "752", "Sweden"),
+    Country("Switzerland", "CH", "CHE", "756", "Switzerland"),
+    Country(
+        "Syrian Arab Republic", "SY", "SYR", "760", "Syrian Arab Republic"
+    ),
+    Country("Taiwan, Province of China", "TW", "TWN", "158", "Taiwan"),
+    Country("Tajikistan", "TJ", "TJK", "762", "Tajikistan"),
+    Country(
+        "Tanzania, United Republic of",
+        "TZ",
+        "TZA",
+        "834",
+        "Tanzania, United Republic of",
+    ),
+    Country("Thailand", "TH", "THA", "764", "Thailand"),
+    Country("Timor-Leste", "TL", "TLS", "626", "Timor-Leste"),
+    Country("Togo", "TG", "TGO", "768", "Togo"),
+    Country("Tokelau", "TK", "TKL", "772", "Tokelau"),
+    Country("Tonga", "TO", "TON", "776", "Tonga"),
+    Country("Trinidad and Tobago", "TT", "TTO", "780", "Trinidad and Tobago"),
+    Country("Tunisia", "TN", "TUN", "788", "Tunisia"),
+    Country("Turkey", "TR", "TUR", "792", "Turkey"),
+    Country("Turkmenistan", "TM", "TKM", "795", "Turkmenistan"),
+    Country(
+        "Turks and Caicos Islands",
+        "TC",
+        "TCA",
+        "796",
+        "Turks and Caicos Islands",
+    ),
+    Country("Tuvalu", "TV", "TUV", "798", "Tuvalu"),
+    Country("Uganda", "UG", "UGA", "800", "Uganda"),
+    Country("Ukraine", "UA", "UKR", "804", "Ukraine"),
+    Country(
+        "United Arab Emirates", "AE", "ARE", "784", "United Arab Emirates"
+    ),
+    Country(
+        "United Kingdom of Great Britain and Northern Ireland",
+        "GB",
+        "GBR",
+        "826",
+        "United Kingdom of Great Britain and Northern Ireland",
+    ),
+    Country(
+        "United States of America",
+        "US",
+        "USA",
+        "840",
+        "United States of America",
+    ),
+    Country(
+        "United States Minor Outlying Islands",
+        "UM",
+        "UMI",
+        "581",
+        "United States Minor Outlying Islands",
+    ),
+    Country("Uruguay", "UY", "URY", "858", "Uruguay"),
+    Country("Uzbekistan", "UZ", "UZB", "860", "Uzbekistan"),
+    Country("Vanuatu", "VU", "VUT", "548", "Vanuatu"),
+    Country(
+        "Venezuela, Bolivarian Republic of",
+        "VE",
+        "VEN",
+        "862",
+        "Venezuela, Bolivarian Republic of",
+    ),
+    Country("Viet Nam", "VN", "VNM", "704", "Viet Nam"),
+    Country(
+        "Virgin Islands, British",
+        "VG",
+        "VGB",
+        "092",
+        "Virgin Islands, British",
+    ),
+    Country(
+        "Virgin Islands, U.S.", "VI", "VIR", "850", "Virgin Islands, U.S."
+    ),
+    Country("Wallis and Futuna", "WF", "WLF", "876", "Wallis and Futuna"),
+    Country("Western Sahara", "EH", "ESH", "732", "Western Sahara"),
+    Country("Yemen", "YE", "YEM", "887", "Yemen"),
+    Country("Zambia", "ZM", "ZMB", "894", "Zambia"),
+    Country("Zimbabwe", "ZW", "ZWE", "716", "Zimbabwe"),
+]
 
 
-def _build_index(idx):
+def _build_index(idx: int) -> Dict[str, Country]:
     return dict((r[idx].upper(), r) for r in _records)
 
 
@@ -333,15 +469,26 @@
 countries_by_apolitical_name = _by_apolitical_name
 
 
-NOT_FOUND = object()
-
+class NotFound:
+    pass
 
-class _CountryLookup(object):
 
-    def get(self, key, default=NOT_FOUND):
-        if isinstance(key, Integral):
-            r = _by_numeric.get("%03d" % key, default)
-        elif isinstance(key, basestring):
+class _CountryLookup:
+    @overload
+    def get(self, key: StrOrInt) -> Country:
+        ...
+
+    @overload
+    def get(self, key: StrOrInt, default: _D) -> Union[Country, _D]:
+        ...
+
+    def get(
+        self, key: StrOrInt, default: Union[Type[NotFound], _D] = NotFound
+    ) -> Union[Country, _D]:
+        if isinstance(key, int):
+            k = f"{key:03d}"
+            r = _by_numeric.get(k, default)
+        else:
             k = key.upper()
             if len(k) == 2:
                 r = _by_alpha2.get(k, default)
@@ -353,23 +500,21 @@
                 r = _by_name.get(k, default)
             else:
                 r = _by_apolitical_name.get(k, default)
-        else:
-            r = default
 
-        if r == NOT_FOUND:
+        if r == NotFound:
             raise KeyError(key)
 
         return r
 
     __getitem__ = get
 
-    def __len__(self):
+    def __len__(self) -> int:
         return len(_records)
 
-    def __iter__(self):
+    def __iter__(self) -> Iterator[Country]:
         return iter(_records)
 
-    def __contains__(self, item):
+    def __contains__(self, item: StrOrInt) -> bool:
         try:
             self.get(item)
             return True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iso3166-1.0.1/iso3166.egg-info/PKG-INFO 
new/iso3166-2.0.2/iso3166.egg-info/PKG-INFO
--- old/iso3166-1.0.1/iso3166.egg-info/PKG-INFO 2019-12-13 20:33:06.000000000 
+0100
+++ new/iso3166-2.0.2/iso3166.egg-info/PKG-INFO 2021-09-21 01:49:49.000000000 
+0200
@@ -1,94 +1,11 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
 Name: iso3166
-Version: 1.0.1
+Version: 2.0.2
 Summary: Self-contained ISO 3166-1 country definitions.
 Home-page: http://github.com/deactivated/python-iso3166
 Author: Mike Spindel
 Author-email: m...@spindel.is
 License: MIT
-Description: ============================================================
-         python-iso3166 - Standalone ISO 3166-1 country definitions
-        ============================================================
-        
-        :Authors:
-                Mike Spindel
-        :Version: 1.0.1
-        
-        
-        ISO 3166-1 defines two-letter, three-letter, and three-digit country
-        codes.  `python-iso3166` is a self-contained module that converts
-        between these codes and the corresponding country name.
-        
-        
-        Installation
-        ============
-        
-        ::
-        
-          $ pip install iso3166
-        
-        
-        Usage
-        =====
-        
-        
-        Country details
-        ---------------
-        
-        ::
-        
-          >>> from iso3166 import countries
-          >>>
-          >>> countries.get('us')
-          Country(name=u'United States', alpha2='US', alpha3='USA', 
numeric='840')
-          >>> countries.get('ala')
-          Country(name=u'\xc5land Islands', alpha2='AX', alpha3='ALA', 
numeric='248')
-          >>> countries.get(8)
-          Country(name=u'Albania', alpha2='AL', alpha3='ALB', numeric='008')
-        
-        
-        Country lists and indexes
-        -------------------------
-        
-        ::
-        
-          >>> from iso3166 import countries
-        
-          >>> for c in countries:
-                 print c
-          >>> Country(name=u'Afghanistan', alpha2='AF', alpha3='AFG', 
numeric='004')
-          Country(name=u'\xc5land Islands', alpha2='AX', alpha3='ALA', 
numeric='248')
-          Country(name=u'Albania', alpha2='AL', alpha3='ALB', numeric='008')
-          Country(name=u'Algeria', alpha2='DZ', alpha3='DZA', numeric='012')
-        
-        ::
-        
-          >>> import iso3166
-        
-          >>> iso3166.countries_by_name
-          >>> {u'AFGHANISTAN': Country(name=u'Afghanistan', alpha2='AF', 
alpha3='AFG', numeric='004'),
-          u'ALBANIA': Country(name=u'Albania', alpha2='AL', alpha3='ALB', 
numeric='008'),
-          u'ALGERIA': Country(name=u'Algeria', alpha2='DZ', alpha3='DZA', 
numeric='012'),
-          ...
-        
-          >>> iso3166.countries_by_numeric
-          >>> {'004': Country(name=u'Afghanistan', alpha2='AF', alpha3='AFG', 
numeric='004'),
-          '008': Country(name=u'Albania', alpha2='AL', alpha3='ALB', 
numeric='008'),
-          '010': Country(name=u'Antarctica', alpha2='AQ', alpha3='ATA', 
numeric='010'),
-          ...
-        
-          >>> iso3166.countries_by_alpha2
-          >>> {'AD': Country(name=u'Andorra', alpha2='AD', alpha3='AND', 
numeric='020'),
-          'AE': Country(name=u'United Arab Emirates', alpha2='AE', 
alpha3='ARE', numeric='784'),
-          'AF': Country(name=u'Afghanistan', alpha2='AF', alpha3='AFG', 
numeric='004'),
-          ...
-        
-          >>> iso3166.countries_by_alpha3
-          >>> {'ABW': Country(name=u'Aruba', alpha2='AW', alpha3='ABW', 
numeric='533'),
-          'AFG': Country(name=u'Afghanistan', alpha2='AF', alpha3='AFG', 
numeric='004'),
-          'AGO': Country(name=u'Angola', alpha2='AO', alpha3='AGO', 
numeric='024'),
-          ...
-        
 Keywords: iso 3166-1 country codes
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
@@ -96,15 +13,97 @@
 Classifier: Intended Audience :: Developers
 Classifier: Natural Language :: English
 Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.1
-Classifier: Programming Language :: Python :: 3.2
-Classifier: Programming Language :: Python :: 3.3
-Classifier: Programming Language :: Python :: 3.4
-Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3 :: Only
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3.10
+Requires-Python: >= 3.6
+License-File: LICENSE.txt
+
+============================================================
+ python-iso3166 - Standalone ISO 3166-1 country definitions
+============================================================
+
+:Authors:
+        Mike Spindel
+:Version: 2.0.2
+
+
+ISO 3166-1 defines two-letter, three-letter, and three-digit country
+codes.  `python-iso3166` is a self-contained module that converts
+between these codes and the corresponding country name.
+
+
+Installation
+============
+
+::
+
+  $ pip install iso3166
+
+
+Usage
+=====
+
+
+Country details
+---------------
+
+::
+
+  >>> from iso3166 import countries
+  >>>
+  >>> countries.get('us')
+  Country(name='United States', alpha2='US', alpha3='USA', numeric='840')
+  >>> countries.get('ala')
+  Country(name='??land Islands', alpha2='AX', alpha3='ALA', numeric='248')
+  >>> countries.get(8)
+  Country(name='Albania', alpha2='AL', alpha3='ALB', numeric='008')
+
+
+Country lists and indexes
+-------------------------
+
+::
+
+  >>> from iso3166 import countries
+
+  >>> for c in countries:
+         print(c)
+  >>> Country(name='Afghanistan', alpha2='AF', alpha3='AFG', numeric='004')
+  Country(name='??land Islands', alpha2='AX', alpha3='ALA', numeric='248')
+  Country(name='Albania', alpha2='AL', alpha3='ALB', numeric='008')
+  Country(name='Algeria', alpha2='DZ', alpha3='DZA', numeric='012')
+
+::
+
+  >>> import iso3166
+
+  >>> iso3166.countries_by_name
+  >>> {'AFGHANISTAN': Country(name='Afghanistan', alpha2='AF', alpha3='AFG', 
numeric='004'),
+  'ALBANIA': Country(name='Albania', alpha2='AL', alpha3='ALB', numeric='008'),
+  'ALGERIA': Country(name='Algeria', alpha2='DZ', alpha3='DZA', numeric='012'),
+  ...
+
+  >>> iso3166.countries_by_numeric
+  >>> {'004': Country(name='Afghanistan', alpha2='AF', alpha3='AFG', 
numeric='004'),
+  '008': Country(name='Albania', alpha2='AL', alpha3='ALB', numeric='008'),
+  '010': Country(name='Antarctica', alpha2='AQ', alpha3='ATA', numeric='010'),
+  ...
+
+  >>> iso3166.countries_by_alpha2
+  >>> {'AD': Country(name='Andorra', alpha2='AD', alpha3='AND', numeric='020'),
+  'AE': Country(name='United Arab Emirates', alpha2='AE', alpha3='ARE', 
numeric='784'),
+  'AF': Country(name='Afghanistan', alpha2='AF', alpha3='AFG', numeric='004'),
+  ...
+
+  >>> iso3166.countries_by_alpha3
+  >>> {'ABW': Country(name='Aruba', alpha2='AW', alpha3='ABW', numeric='533'),
+  'AFG': Country(name='Afghanistan', alpha2='AF', alpha3='AFG', numeric='004'),
+  'AGO': Country(name='Angola', alpha2='AO', alpha3='AGO', numeric='024'),
+  ...
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iso3166-1.0.1/iso3166.egg-info/SOURCES.txt 
new/iso3166-2.0.2/iso3166.egg-info/SOURCES.txt
--- old/iso3166-1.0.1/iso3166.egg-info/SOURCES.txt      2019-12-13 
20:33:07.000000000 +0100
+++ new/iso3166-2.0.2/iso3166.egg-info/SOURCES.txt      2021-09-21 
01:49:49.000000000 +0200
@@ -2,9 +2,11 @@
 LICENSE.txt
 MANIFEST.in
 README.rst
+pyproject.toml
 setup.cfg
 setup.py
 iso3166/__init__.py
+iso3166/py.typed
 iso3166.egg-info/PKG-INFO
 iso3166.egg-info/SOURCES.txt
 iso3166.egg-info/dependency_links.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iso3166-1.0.1/pyproject.toml 
new/iso3166-2.0.2/pyproject.toml
--- old/iso3166-1.0.1/pyproject.toml    1970-01-01 01:00:00.000000000 +0100
+++ new/iso3166-2.0.2/pyproject.toml    2021-09-15 07:38:48.000000000 +0200
@@ -0,0 +1,7 @@
+[build-system]
+requires = ["setuptools", "wheel"]
+build-backend = "setuptools.build_meta"
+
+[tool.black]
+line-length = 79
+target-version = ['py36', 'py37', 'py38', 'py39']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iso3166-1.0.1/setup.cfg new/iso3166-2.0.2/setup.cfg
--- old/iso3166-1.0.1/setup.cfg 2019-12-13 20:33:07.000000000 +0100
+++ new/iso3166-2.0.2/setup.cfg 2021-09-21 01:49:49.927039900 +0200
@@ -1,6 +1,3 @@
-[bdist_wheel]
-universal = 1
-
 [metadata]
 license_file = LICENSE.txt
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iso3166-1.0.1/setup.py new/iso3166-2.0.2/setup.py
--- old/iso3166-1.0.1/setup.py  2019-12-13 20:26:54.000000000 +0100
+++ new/iso3166-2.0.2/setup.py  2021-09-21 01:48:43.000000000 +0200
@@ -1,44 +1,40 @@
 import os.path
 
-try:
-    from setuptools import setup, find_packages
-except ImportError:
-    from ez_setup import use_setuptools
-    use_setuptools()
-    from setuptools import setup, find_packages
+from setuptools import setup, find_packages
 
 
 def read(fname):
     return open(os.path.join(os.path.dirname(__file__), fname)).read()
 
 
-setup(name='iso3166',
-      version="1.0.1",
-      author="Mike Spindel",
-      author_email="m...@spindel.is",
-      license="MIT",
-      keywords="iso 3166-1 country codes",
-      url="http://github.com/deactivated/python-iso3166";,
-      description='Self-contained ISO 3166-1 country definitions.',
-      packages=find_packages(exclude=['ez_setup']),
-      long_description=read('README.rst'),
-      zip_safe=False,
-      classifiers=[
-          "Development Status :: 5 - Production/Stable",
-          "License :: OSI Approved :: MIT License",
-          "Intended Audience :: Developers",
-          "Natural Language :: English",
-          "Programming Language :: Python",
-          "Programming Language :: Python :: 2",
-          "Programming Language :: Python :: 2.7",
-          "Programming Language :: Python :: 3",
-          "Programming Language :: Python :: 3.1",
-          "Programming Language :: Python :: 3.2",
-          "Programming Language :: Python :: 3.3",
-          "Programming Language :: Python :: 3.4",
-          "Programming Language :: Python :: 3.5",
-          "Programming Language :: Python :: 3.6",
-          "Programming Language :: Python :: 3.7",
-          "Programming Language :: Python :: 3.8",
-          "Programming Language :: Python :: 3.9",
-      ])
+setup(
+    name="iso3166",
+    version="2.0.2",
+    author="Mike Spindel",
+    author_email="m...@spindel.is",
+    license="MIT",
+    keywords="iso 3166-1 country codes",
+    url="http://github.com/deactivated/python-iso3166";,
+    description="Self-contained ISO 3166-1 country definitions.",
+    packages=find_packages(),
+    package_data={
+        "iso3166": ["py.typed"],
+    },
+    long_description=read("README.rst"),
+    zip_safe=False,
+    python_requires=">= 3.6",
+    classifiers=[
+        "Development Status :: 5 - Production/Stable",
+        "License :: OSI Approved :: MIT License",
+        "Intended Audience :: Developers",
+        "Natural Language :: English",
+        "Programming Language :: Python",
+        "Programming Language :: Python :: 3",
+        "Programming Language :: Python :: 3 :: Only",
+        "Programming Language :: Python :: 3.6",
+        "Programming Language :: Python :: 3.7",
+        "Programming Language :: Python :: 3.8",
+        "Programming Language :: Python :: 3.9",
+        "Programming Language :: Python :: 3.10",
+    ],
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iso3166-1.0.1/tests/test_listings.py 
new/iso3166-2.0.2/tests/test_listings.py
--- old/iso3166-1.0.1/tests/test_listings.py    2019-02-14 21:06:52.000000000 
+0100
+++ new/iso3166-2.0.2/tests/test_listings.py    2021-09-15 07:37:39.000000000 
+0200
@@ -3,38 +3,38 @@
 import iso3166
 
 
-def test_country_list():
+def test_country_list() -> None:
     country_list = iso3166.countries
     assert len(country_list) > 100
     assert all(isinstance(c, iso3166.Country) for c in country_list)
 
 
-def test_by_name():
+def test_by_name() -> None:
     table = iso3166.countries_by_name
     assert len(table) >= len(iso3166.countries)
     assert table["AFGHANISTAN"].name == "Afghanistan"
 
 
-def test_by_alt_name():
+def test_by_alt_name() -> None:
     table = iso3166.countries_by_apolitical_name
     assert len(table) >= len(iso3166.countries)
     assert table["AFGHANISTAN"].name == "Afghanistan"
     assert table["TAIWAN"].apolitical_name == "Taiwan"
 
 
-def test_by_number():
+def test_by_number() -> None:
     table = iso3166.countries_by_numeric
     assert len(table) >= len(iso3166.countries)
     assert table["008"].name == "Albania"
 
 
-def test_by_alpha2():
+def test_by_alpha2() -> None:
     table = iso3166.countries_by_alpha2
     assert len(table) >= len(iso3166.countries)
-    assert table['AE'].name == "United Arab Emirates"
+    assert table["AE"].name == "United Arab Emirates"
 
 
-def test_by_alpha3():
+def test_by_alpha3() -> None:
     table = iso3166.countries_by_alpha3
     assert len(table) >= len(iso3166.countries)
-    assert table['AFG'].name == 'Afghanistan'
+    assert table["AFG"].name == "Afghanistan"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iso3166-1.0.1/tests/test_lookup.py 
new/iso3166-2.0.2/tests/test_lookup.py
--- old/iso3166-1.0.1/tests/test_lookup.py      2019-02-14 21:07:25.000000000 
+0100
+++ new/iso3166-2.0.2/tests/test_lookup.py      2021-09-15 07:39:50.000000000 
+0200
@@ -1,11 +1,16 @@
 # -*- coding: utf-8 -*-
 
+from typing import List, Union
 import pytest
 import iso3166
 from iso3166 import countries
 
 
-def check_lookup(alpha2, matching_keys, missing_keys):
+def check_lookup(
+    alpha2: str,
+    matching_keys: List[Union[int, str]],
+    missing_keys: List[Union[int, str]],
+) -> None:
     for k in matching_keys:
         assert countries[k].alpha2 == alpha2
         assert countries.get(k).alpha2 == alpha2
@@ -21,45 +26,47 @@
         assert countries.get(k, None) is None
 
 
-def test_length():
+def test_length() -> None:
     assert len(countries) == len(iso3166._records)
 
 
-def test_empty_string():
+def test_empty_string() -> None:
     check_lookup("US", ["us", "US"], [""])
 
 
-def test_none():
-    check_lookup("US", ["us", "US"], [None])
-
-
-def test_alpha2():
+def test_alpha2() -> None:
     check_lookup("US", ["us", "US"], ["zz"])
 
 
-def test_alpha3():
+def test_alpha3() -> None:
     check_lookup("US", ["usa", "USA"], ["zzz"])
 
 
-def test_name():
-    check_lookup("US",
-                 ["united states of america", "United STates of America"],
-                 ["zzzzz"])
+def test_name() -> None:
+    check_lookup(
+        "US",
+        ["united states of america", "United STates of America"],
+        ["zzzzz"],
+    )
 
 
-def test_numeric():
+def test_numeric() -> None:
     check_lookup("US", [840, "840"], [111, "111"])
 
     with pytest.raises(KeyError):
         countries.get("000")
 
 
-def test_alt_name():
+def test_alt_name() -> None:
     check_lookup("TW", ["taiwan", "Taiwan, province of china"], ["zzzzz"])
     check_lookup("PS", ["palestine", "palestine, state of"], ["zzzz"])
 
 
-def test_data():
+def test_none_default() -> None:
+    assert countries.get("NOTUS", None) is None
+
+
+def test_data() -> None:
     assert len(list(countries)) > 0
 
     for country in countries:

Reply via email to