{"id":32178453,"url":"https://github.com/indecol/country_converter","last_synced_at":"2025-10-21T20:56:03.231Z","repository":{"id":36016190,"uuid":"40310849","full_name":"IndEcol/country_converter","owner":"IndEcol","description":"The country converter (coco) - a Python package for converting country names between different classification schemes.","archived":false,"fork":false,"pushed_at":"2025-07-24T20:17:45.000Z","size":699,"stargazers_count":247,"open_issues_count":24,"forks_count":83,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-10-21T20:55:35.806Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IndEcol.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-08-06T14:59:19.000Z","updated_at":"2025-10-09T22:14:48.000Z","dependencies_parsed_at":"2023-07-27T19:03:20.132Z","dependency_job_id":"1c73ef0c-ccb3-4b65-a8d5-1dd2edf23dae","html_url":"https://github.com/IndEcol/country_converter","commit_stats":{"total_commits":299,"total_committers":23,"mean_commits":13.0,"dds":"0.15384615384615385","last_synced_commit":"089e26ff3766571e83d0d5cc46d0df1941c38578"},"previous_names":["konstantinstadler/country_converter"],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/IndEcol/country_converter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IndEcol%2Fcountry_converter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IndEcol%2Fcountry_converter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IndEcol%2Fcountry_converter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IndEcol%2Fcountry_converter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IndEcol","download_url":"https://codeload.github.com/IndEcol/country_converter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IndEcol%2Fcountry_converter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280333500,"owners_count":26312845,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-21T02:00:06.614Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-21T20:56:01.289Z","updated_at":"2025-10-21T20:56:03.225Z","avatar_url":"https://github.com/IndEcol.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# country converter\n\nThe country converter (coco) is a Python package to convert and match\ncountry names between different classifications and between different\nnaming versions. Internally it uses regular expressions to match country\nnames. Coco can also be used to build aggregation concordance matrices\nbetween different classification schemes.\n\n[![image](https://img.shields.io/pypi/v/country-converter.svg)](https://pypi.python.org/pypi/country_converter/)\n[![image](https://anaconda.org/conda-forge/country_converter/badges/version.svg)](https://anaconda.org/conda-forge/country_converter)\n[![image](https://zenodo.org/badge/DOI/10.5281/zenodo.838035.svg)](https://doi.org/10.5281/zenodo.838035)\n[![image](http://joss.theoj.org/papers/af694f2e5994b8aacbad119c4005e113/status.svg)](http://joss.theoj.org/papers/af694f2e5994b8aacbad119c4005e113)\n\n[![image](https://github.com/IndEcol/country_converter/workflows/build/badge.svg)](https://github.com/IndEcol/country_converter/actions)\n[![image](https://coveralls.io/repos/github/IndEcol/country_converter/badge.svg?branch=master\u0026service=github)](https://coveralls.io/github/IndEcol/country_converter?branch=master)\n[![image](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n\n\n## Motivation\n\nTo date, there is no single standard of how to name or specify\nindividual countries in a (meta) data description. While some data\nsources follow ISO 3166, this standard defines a two and a three letter\ncode in addition to a numerical classification. To further complicate\nthe matter, instead of using one of the existing standards, many\ndatabases use unstandardised country names to classify countries.\n\nThe country converter (coco) automates the conversion from different\nstandards and version of country names. Internally, coco is based on a\ntable specifying the different ISO and UN standards per country together\nwith the official name and a regular expression which aim to match all\nEnglish versions of a specific country name. In addition, coco includes\nclassification based on UN-, EU-, OECD-membership, UN regions\nspecifications, continents and various MRIO and IAM databases (see\n[Classification schemes](#classification-schemes) below).\n\n## Installation\n\nCountry_converter is registered at PyPI. From the command line:\n\n    pip install country_converter --upgrade\n\nThe country converter is also available from the [conda\nforge](https://conda-forge.org/) and can be installed using conda with\n(if you don't have the conda_forge channel added to your conda config\nadd \"-c conda-forge\", see [the install instructions\nhere](https://github.com/conda-forge/country_converter-feedstock)):\n\n    conda install country_converter\n\nAlternatively, the source code is available on\n[GitHub](https://github.com/IndEcol/country_converter).\n\nThe package depends on [Pandas](http://pandas.pydata.org/); for testing\n[pytest](http://pytest.org/) is required. For further information on\nrunning the tests see [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## Usage\n\n### Basic usage\n\n#### Use within Python\n\nConvert various country names to some standard names:\n\n``` python\nimport country_converter as coco\nsome_names = ['United Rep. of Tanzania', 'DE', 'Cape Verde', '788', 'Burma', 'COG',\n              'Iran (Islamic Republic of)', 'Korea, Republic of',\n              \"Dem. People's Rep. of Korea\"]\nstandard_names = coco.convert(names=some_names, to='name_short')\nprint(standard_names)\n```\n\nWhich results in \\['Tanzania', 'Germany', 'Cabo Verde', 'Tunisia',\n'Myanmar', 'Congo Republic', 'Iran', 'South Korea', 'North Korea'\\]. The\ninput format is determined automatically, based on ISO two letter, ISO\nthree letter, ISO numeric or regular expression matching. In case of any\nambiguity, the source format can be specified with the parameter 'src'.\n\nIn case of multiple conversion, better performance can be achieved by\ninstantiating a single CountryConverter object for all conversions:\n\n``` python\nimport country_converter as coco\ncc = coco.CountryConverter()\n\nsome_names = ['United Rep. of Tanzania', 'Cape Verde', 'Burma',\n              'Iran (Islamic Republic of)', 'Korea, Republic of',\n              \"Dem. People's Rep. of Korea\"]\n\nstandard_names = cc.convert(names = some_names, to = 'name_short')\nUNmembership = cc.convert(names = some_names, to = 'UNmember')\nprint(standard_names)\nprint(UNmembership)\n```\n\nIn order to more efficiently convert Pandas Series, the `pandas_convert()` method can be used. The\nperformance gain is especially significant for large Series. For a series containing 1 million rows\na 4000x speedup can be achieved, compared to `convert()`.\n\n``` python\nimport country_converter as coco\nimport pandas as pd\ncc = coco.CountryConverter()\n\nsome_countries = pd.Series(['Australia', 'Belgium', 'Brazil', 'Bulgaria', 'Cyprus', 'Czech Republic',\n                  'Guatemala', 'Mexico', 'Honduras', 'Costa Rica', 'Colombia', 'Greece', 'Hungary',\n                  'India', 'Indonesia', 'Ireland', 'Italy', 'Japan', 'Latvia', 'Lithuania',\n                  'Luxembourg', 'Malta', 'Jamaica', 'Ireland', 'Turkey', 'United Kingdom',\n                  'United States'], name='country')\n \niso3_codes = cc.pandas_convert(series=some_countries, to='ISO3')                  \n```\n\nConvert between classification schemes:\n\n``` python\niso3_codes = ['USA', 'VUT', 'TKL', 'AUT', 'XXX' ]\niso2_codes = coco.convert(names=iso3_codes, to='ISO2')\nprint(iso2_codes)\n```\n\nWhich results in \\['US', 'VU', 'TK', 'AT', 'not found'\\]\n\nThe not found indication can be specified (e.g. not_found = 'not\nthere'), if None is passed for 'not_found', the original entry gets\npassed through:\n\n``` python\niso2_codes = coco.convert(names=iso3_codes, to='ISO2', not_found=None)\nprint(iso2_codes)\n```\n\nresults in \\['US', 'VU', 'TK', 'AT', 'XXX'\\]\n\nInternally the data is stored in a Pandas DataFrame, which can be\naccessed directly. For example, this can be used to filter countries for\nmembership organisations (per year). Note: for this, an instance of\nCountryConverter is required.\n\n``` python\nimport country_converter as coco\ncc = coco.CountryConverter()\n\nsome_countries = ['Australia', 'Belgium', 'Brazil', 'Bulgaria', 'Cyprus', 'Czech Republic',\n                  'Denmark', 'Estonia', 'Finland', 'France', 'Germany', 'Greece', 'Hungary',\n                  'India', 'Indonesia', 'Ireland', 'Italy', 'Japan', 'Latvia', 'Lithuania',\n                  'Luxembourg', 'Malta', 'Romania', 'Russia', 'Turkey', 'United Kingdom',\n                  'United States']\n\noecd_since_1995 = cc.data[(cc.data.OECD \u003e= 1995) \u0026 cc.data.name_short.isin(some_countries)].name_short\neu_until_1980 = cc.data[(cc.data.EU \u003c= 1980) \u0026 cc.data.name_short.isin(some_countries)].name_short\nprint(oecd_since_1995)\nprint(eu_until_1980)\n```\n\nAll classifications can be directly accessed by:\n\n``` python\ncc.EU28\ncc.OECD\n\ncc.EU27as('ISO3')\n```\n\nand the classification schemes available:\n\n``` python\ncc.valid_class\n```\n\nThere is also a method for only getting country classifications (thus\nomitting any grouping of countries):\n\n``` python\ncc.valid_country_classifications\n```\n\nIf you rather need a dictionary describing the classification/membership\nuse:\n\n``` python\nimport country_converter as coco\ncc = coco.CountryConverter()\ncc.get_correspondence_dict('EXIO3', 'ISO3')\n```\n\nto also include countries not assigned within a specific classification\nuse:\n\n``` python\ncc.get_correspondence_dict('EU27', 'ISO2', replace_nan='NonEU')\n```\n\nThe regular expressions can also be used to match any list of countries\nto any other. For example:\n\n``` python\nmatch_these = ['norway', 'united_states', 'china', 'taiwan']\nmaster_list = ['USA', 'The Swedish Kingdom', 'Norway is a Kingdom too',\n               'Peoples Republic of China', 'Republic of China' ]\n\nmatching_dict = coco.match(match_these, master_list)\n```\n\nCountry converter by default provides a warning to the python \u003cspan\nclass=\"title-ref\"\u003elogging\u003c/span\u003e logger if no match is found. The\nfollowing example demonstrates how to configure the \u003cspan\nclass=\"title-ref\"\u003ecoco\u003c/span\u003e logging behaviour.\n\n``` python\nimport logging\nimport country_converter as coco\nlogging.basicConfig(level=logging.INFO)\ncoco.convert(\"asdf\")\n# WARNING:country_converter.country_converter:asdf not found in regex\n# Out: 'not found'\n\ncoco_logger = coco.logging.getLogger()\ncoco_logger.setLevel(logging.CRITICAL)\ncoco.convert(\"asdf\")\n# Out: 'not found'\n```\n\nSee the IPython Notebook\n([country_converter_examples.ipynb](http://nbviewer.ipython.org/github/IndEcol/country_converter/blob/master/doc/country_converter_examples.ipynb))\nfor more information.\n\n#### Command line usage\n\nThe country converter package also provides a command line interface\ncalled coco.\n\nMinimal example:\n\n    coco Cyprus DE Denmark Estonia 4 'United Kingdom' AUT\n\nConverts the given names to ISO3 codes based on matching the input to\nISO2, ISO3, ISOnumeric or regular expression matching. The list of names\nmust be separated by spaces, country names consisting of multiple words\nmust be put in quotes ('').\n\nThe input classification can be specified with '--src' or '-s' (or will\nbe determined automatically), the target classification with '--to' or\n'-t'.\n\nThe default output is a space separated list, this can be changed by\npassing a separator by '--output_sep' or '-o' (e.g -o '\\|').\n\nThus, to convert from ISO3 to UN number codes and receive the output as\ncomma separated list use:\n\n    coco AUT DEU VAT AUS -s ISO3 -t UNcode -o ', '\n\nThe command line tool also allows to specify the output for none found\nentries, including passing them through to the output by passing None:\n\n    coco CAN Peru US Mexico Venezuela UK Arendelle --not_found=None\n\nand to specify an additional data file which will overwrite existing\ncountry matching\n\n    coco Congo --additional_data path/to/datafile.csv\n\nSee\n\u003chttps://github.com/IndEcol/country_converter/tree/master/tests/custom_data_example.txt\u003e\nfor an example of an additional datafile.\n\nThe flags --UNmember_only (-u) and --include_obsolete (-i) restrict the\nsearch to UN member states only or extend it to also include currently\nobsolete countries. For example, the [Netherlands\nAntilles](https://en.wikipedia.org/wiki/Netherlands_Antilles) were\ndissolved in 2010.\n\nThus:\n\n    coco \"Netherlands Antilles\"\n\nresults in \"not found\". The search, however, can be extended to recently\ndissolved countries by:\n\n    coco \"Netherlands Antilles\" -i\n\nwhich results in 'ANT'.\n\nIn addition to the countries, the coco command line tool also accepts\nvarious country classifications (EXIO1, EXIO2, EXIO3, WIOD, Eora,\nMESSAGE, OECD, EU27, EU28, UN, obsolete, Cecilia2050, BRIC, APEC, BASIC,\nCIS, G7, G20). One of these can be passed by\n\n    coco G20\n\nwhich lists all countries in that classification.\n\nFor the classifications covering almost all countries (MRIO and IAM\nclassifications)\n\n    coco EXIO3\n\nlists the unique classification names. When passing a --to parameter, a\nsimplified correspondence of the chosen classification is printed:\n\n    coco EXIO3 --to ISO3\n\nFor further information call the help by\n\n    coco -h\n\n#### Use in Matlab\n\nNewer (tested in 2016a) versions of Matlab allow to directly call Python\nfunctions and libraries. This requires a Python version \\\u003e= 3.4\ninstalled in the system path (e.g. through Anaconda).\n\nTo test, try this in Matlab:\n\n``` matlab\npy.print(py.sys.version)\n```\n\nIf this works, you can also use coco after installing it through pip (at\nthe windows commandline - see the installing instruction above):\n\n``` matlab\npip install country_converter --upgrade\n```\n\nAnd in matlab:\n\n``` matlab\ncoco = py.country_converter.CountryConverter()\ncountries = {'The Swedish Kingdom', 'Norway is a Kingdom too', 'Peoples Republic of China', 'Republic of China'};\nISO2_pythontype = coco.convert(countries, pyargs('to', 'ISO2'));\nISO2_cellarray = cellfun(@char,cell(ISO2_pythontype),'UniformOutput',false);\n```\n\nAlternatively, as a long oneliner:\n\n``` matlab\nshort_names = cellfun(@char, cell(py.country_converter.convert({56, 276}, pyargs('src', 'UNcode', 'to', 'name_short'))), 'UniformOutput',false);\n```\n\nAll properties of coco as explained above are also available in Matlab:\n\n``` matlab\ncoco = py.country_converter.CountryConverter();\ncoco.EU27\nEU27ISO3 = coco.EU27as('ISO3');\n```\n\nThese functions return a Pandas DataFrame. The underlying values can be\naccess with .values (e.g.\n\n``` matlab\nEU27ISO3.values\n```\n\nI leave it to professional Matlab users to figure out how to further\nprocess them.\n\nSee also IPython Notebook\n([country_converter_examples.ipynb](http://nbviewer.ipython.org/github/IndEcol/country_converter/blob/master/doc/country_converter_examples.ipynb))\nfor more information - all functions available in Python (for example\npassing additional data files, specifying the output in case of missing\ndata) work also in Matlab by passing arguments through the pyargs\nfunction.\n\n### Building concordances for country aggregation\n\nCoco provides a function for building concordance vectors, matrices and\ndictionaries between different classifications. This can be used in\npython as well as in matlab. For further information see\n([country_converter_aggregation_helper.ipynb](http://nbviewer.ipython.org/github/IndEcol/country_converter/blob/master/doc/country_converter_aggregation_helper.ipynb))\n\n## Classification schemes\n\nCurrently the following classification schemes are available (see also\nData sources below for further information):\n\n1.  ISO2 (ISO 3166-1 alpha-2) - including UK/EL for Britain/Greece (but always convert to GB/GR)\n2.  ISO3 (ISO 3166-1 alpha-3)\n3.  ISO - numeric (ISO 3166-1 numeric)\n4.  UN numeric code (M.49 - follows to a large extend ISO-numeric)\n5.  A standard or short name\n6.  The \"official\" name\n7.  Continent: 6 continent classification with Africa, Antarctica, Asia, Europe, America, Oceania\n8.  [Continent_7 classification](https://ourworldindata.org/world-region-map-definitions) - 7 continent classification spliting North/South America\n9.  UN region\n10. [EXIOBASE 1](http://exiobase.eu/) classification (2 and 3 letters)\n11. [EXIOBASE 2](http://exiobase.eu/) classification (2 and 3 letters)\n12. [EXIOBASE 3](https://zenodo.org/doi/10.5281/zenodo.3583070) classification (2 and 3 letters)\n13. [WIOD](http://www.wiod.org/home) classification\n14. [Eora](http://www.worldmrio.com/)\n15. [OECD](http://www.oecd.org/about/membersandpartners/list-oecd-member-countries.htm)\n    membership (per year)\n16. [MESSAGE](http://www.iiasa.ac.at/web/home/research/researchPrograms/Energy/MESSAGE-model-regions.en.html)\n    11-region classification\n17. [IMAGE](https://models.pbl.nl/image/index.php/Welcome_to_IMAGE_3.0_Documentation)\n18. [REMIND](https://www.pik-potsdam.de/en/institute/departments/transformation-pathways/models/remind)\n19. [UN](http://www.un.org/en/members/) membership (per year)\n20. [EU](https://ec.europa.eu/eurostat/statistics-explained/index.php/Glossary:EU_enlargements)\n    membership (including EU12, EU15, EU25, EU27, EU27_2007, EU28)\n21. [EEA](https://ec.europa.eu/eurostat/statistics-explained/index.php/Glossary:European_Economic_Area_(EEA))\n    membership\n22. [Schengen](https://en.wikipedia.org/wiki/Schengen_Area) region\n23. [Cecilia](https://cecilia2050.eu/system/files/De%20Koning%20et%20al.%20%282014%29_Scenarios%20for%202050_0.pdf)\n    2050 classification\n24. [APEC](https://en.wikipedia.org/wiki/Asia-Pacific_Economic_Cooperation)\n25. [BRIC](https://en.wikipedia.org/wiki/BRIC)\n26. [BASIC](https://en.wikipedia.org/wiki/BASIC_countries)\n27. [CIS](https://en.wikipedia.org/wiki/Commonwealth_of_Independent_States)\n    (as by 2019, excl. Turkmenistan)\n28. [G7](https://en.wikipedia.org/wiki/Group_of_Seven)\n29. [G20](https://en.wikipedia.org/wiki/G20) (listing all EU member\n    states as individual members)\n30. [FAOcode](http://www.fao.org/faostat/en/#definitions) (numeric)\n31. [GBDcode](http://ghdx.healthdata.org/) (numeric - Global Burden of\n    Disease country codes)\n32. [IEA](https://www.iea.org/countries) (World Energy Balances 2021)\n33. [DACcode](https://www.oecd.org/dac/financing-sustainable-development/development-finance-standards/dacandcrscodelists.htm)\n    (numeric - OECD Development Assistance Committee)\n33. [ccTLD](https://en.wikipedia.org/wiki/Country_code_top-level_domain) - country code top-level domains\n34. [GWcode](https://www.tandfonline.com/doi/abs/10.1080/03050629908434958) - Gledisch \u0026 Ward numerical codes as published in https://www.andybeger.com/states/articles/statelists.html\n35. CC41 - common classification for MRIOs (list of countries found in all public MRIOs)\n36. [IOC](https://en.wikipedia.org/wiki/List_of_IOC_country_codes) - International Olympic Committee (IOC) country codes\n37. [BACI](https://www.cepii.fr/CEPII/en/bdd_modele/bdd_modele_item.asp?id=37) - BACI: International Trade Database at the Product-Level\n38. [UNIDO](https://stat.unido.org/portal/dataset/getDataset/COUNTRY_PROFILE) - UNIDO INDSTAT database\n39. [EXIOBASE hybrid 3](https://zenodo.org/records/10148587) classification\n40. [EXIOBASE hybrid 3 consequential](https://zenodo.org/records/13926939) classification\n41. [GEOnumeric](https://ec.europa.eu/eurostat/comext/newxtweb/openNom.do) GEO numerical codes (also used in Prodcom)\n42. [FIFA](https://en.wikipedia.org/wiki/List_of_FIFA_country_codes) List of FIFA country codes \n\nCoco contains official recognised codes as well as non-standard codes\nfor disputed or dissolved countries. To restrict the set to only the\nofficial recognized UN members or include obsolete countries, pass\n\n``` python\nimport country_converter as coco\ncc = coco.CountryConverter()\ncc_UN = coco.CountryConverter(only_UNmember=True)\ncc_all = coco.CountryConverter(include_obsolete=True)\n\ncc.convert(['PSE', 'XKX', 'EAZ', 'FRA'], to='name_short')\ncc_UN.convert(['PSE', 'XKX', 'EAZ', 'FRA'], to='name_short')\ncc_all.convert(['PSE', 'XKX', 'EAZ', 'FRA'], to='name_short')\n```\n\ncc results in \\['Palestine', 'Kosovo', 'not found', 'France'\\], whereas\ncc_UN converts to \\['not found', 'not found', 'not found', 'France'\\]\nand cc_all converts to \\['Palestine', 'Kosovo', 'Zanzibar', 'France'\\]\nNote that the underlying dataframe is available at the attribute .data\n(e.g. cc_all.data).\n\n## Data sources and further reading\n\nMost of the underlying data can be found in Wikipedia, the page describing [ISO\n3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) is a good starting point. The\npage on the [ISO2 codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)\nincludes a section \"Imperfect Implementations\" explaining the GB/UK and EL/GR\nissue.\nUN regions/codes are given on the United Nation\nStatistical Division\n([unstats](http://unstats.un.org/unsd/methods/m49/m49regin.htm))\nwebpage. The differences between the ISO numeric and UN (M.49) codes are\n[also explained at wikipedia](https://en.wikipedia.org/wiki/UN_M.49).\n[EXIOBASE](http://exiobase.eu/), [WIOD](http://www.wiod.org/home) and\n[Eora](http://www.worldmrio.com/) classification were extracted from the\nrespective databases. For [Eora](http://www.worldmrio.com/), the names\nare based on the 'Country names' csv file provided on the webpage, but\nupdated for different names used in the Eora26 database. The MESSAGE\nclassification follows the 11-region aggregation given in the\n[MESSAGE](http://www.iiasa.ac.at/web/home/research/researchPrograms/Energy/MESSAGE-model-regions.en.html)\nmodel regions description. The\n[IMAGE](https://models.pbl.nl/image/index.php/Welcome_to_IMAGE_3.0_Documentation)\nclassification is based on the \"[region classification\nmap](https://models.pbl.nl/image/index.php/Region_classification_map)\",\nfor\n[REMIND](https://www.pik-potsdam.de/en/institute/departments/transformation-pathways/models/remind)\nwe received a country mapping from the model developers.\n\nThe membership of\n[OECD](http://www.oecd.org/about/membersandpartners/list-oecd-member-countries.htm)\nand [UN](http://www.un.org/en/members/) can be found at the membership\norganisations' webpages, information about obsolete country codes on the\n[Statoids](http://www.statoids.com/w3166his.html) webpage.\n\nThe situation for the\n[EU](https://ec.europa.eu/eurostat/statistics-explained/index.php/Glossary:EU_enlargements)\ngot complicated due to the Brexit process. For the naming, coco follows\nthe [Eurostat\nglossary](https://ec.europa.eu/eurostat/statistics-explained/index.php/Glossary:EU_enlargements),\nthus EU27 refers to the EU without UK, whereas EU27_2007 refers to the\nEU without Croatia (the status after the 2007 enlargement). The shortcut\nEU always links to the most recent classification. The\n[EEA](https://ec.europa.eu/eurostat/statistics-explained/index.php/Glossary:European_Economic_Area_(EEA))\nagreements for the UK ended by 2021-01-01 (which also affects Guernsey, Isle of Man, Jersey and Gibraltar). \nSwitzerland is not part of the EEA but member of the single market.\n\nThe Global Burden of Disease country codes were extracted form the [GBD\ncode book available\nhere.](https://ghdx.healthdata.org/sites/default/files/ihme_query_tool/IHME_GBD_2019_CODEBOOK.zip)\n\n## Communication, issues, bugs and enhancements\n\nPlease use the issue tracker for documenting bugs, proposing\nenhancements and all other communication related to coco.\n\nYou can follow me on [mastodon - @kst@qoto.org](https://qoto.org/@kst) and [twitter](https://twitter.com/kst_stadler) to get\nthe latest news about all my open-source and research projects (and\noccasionally some random retweets/toots).\n\n## Contributing\n\nWant to contribute? Great! Please check\n[CONTRIBUTING.md](CONTRIBUTING.md) if you want to help to improve coco\nand for some pointer for how to add classifications.\n\n## Related software\n\nThe package [pycountry](https://pypi.python.org/pypi/pycountry) provides\naccess to the official ISO databases for historic countries, country\nsubdivisions, languages and currencies. In case you need to convert\nnon-English country names,\n[countrynames](https://github.com/occrp/countrynames) includes an\nextensive database of country names in different languages and functions\nto convert them to the different ISO 3166 standards.\n[Python-iso3166](https://github.com/deactivated/python-iso3166) focuses\non conversion between the two-letter, three-letter and three-digit codes\ndefined in the ISO 3166 standard.\n\nIf you are using R, you should have a look at\n[countrycode](https://github.com/vincentarelbundock/countrycode).\n\n## Citing the country converter\n\nVersion 0.5 of the country converter was published in the [Journal of\nOpen Source Software](http://joss.theoj.org/). To cite the country\nconverter in publication please use:\n\nStadler, K. (2017). The country converter coco - a Python package for\nconverting country names between different classification schemes. The\nJournal of Open Source Software. doi:\n[10.21105/joss.00332](http://dx.doi.org/10.21105/joss.00332)\n\nFor the full bibtex key see [CITATION](CITATION)\n\n## Acknowledgements\n\nThis package was inspired by (and the regular expression are mostly\nbased on) the R-package\n[countrycode](https://github.com/vincentarelbundock/countrycode) by\n[Vincent Arel-Bundock](http://arelbundock.com/) and his (defunct) port\nto Python (pycountrycode). Many thanks to [Robert\nGieseke](https://github.com/rgieseke) for the review of the source code\nand paper for the publication in the [Journal of Open Source\nSoftware](http://joss.theoj.org/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Findecol%2Fcountry_converter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Findecol%2Fcountry_converter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Findecol%2Fcountry_converter/lists"}