Skip to main content

En/Decode unicode country flags emoji

Project description

flag

foodemoji on PyPI Python Versions Coverage Status Codacy Badge Maintainability Quality Gate Status

Flag emoji for Python.
Converts flag emoji to ASCII and other way round.

This is based on http://schinckel.net/2015/10/29/unicode-flags-in-python/ by schinckel

How it works

All the flag emoji are actually composed of two unicode letters. These are the 26 regional indicator symbols.

Alone they look like this:
🇦 🇧 🇨 🇩 🇪 🇫 🇬 🇭 🇮 🇯 🇰 🇱 🇲 🇳 🇴 🇵 🇶 🇷 🇸 🇹 🇺 🇻 🇼 🇽 🇾 🇿

If you pair them up according to ISO 3166 some browsers and phones will display a flag.
For example TW is Taiwan: 🇹 + 🇼 = 🇹🇼

So, to encode an ASCII code like :TW: to 🇹🇼, we just need to convert the ASCII T and W to the corresponding regional indicator symbols 🇹 and 🇼.
To reverse it, we translate the regional indicator symbols back to ASCII letters.

Example

    >>> import flag
    
    >>> flag.flag("IL")
    '🇮🇱'
    
    >>> flag.flag("GBENG")
    '🏴󠁧󠁢󠁥󠁮󠁧󠁿'
    
    >>> flag.flagize("Flag of Israel :IL:")
    'Flag of Israel 🇮🇱'
    
    >>> flag.dflagize("Flag of Israel 🇮🇱")
    'Flag of Israel :IL:'
    
    >>> flag.flagize("England :gb-eng: is part of the UK :GB:", subregions=True)
    'England 🏴󠁧󠁢󠁥󠁮󠁧󠁿 is part of the UK 🇬🇧'
    
    >>> flag.dflagize("England 🏴󠁧󠁢󠁥󠁮󠁧󠁿 is part of the UK 🇬🇧", subregions=True)
    'England :gb-eng: is part of the UK :GB:'

    >>> my_flags = flag.Flag(only_supported=True, allow_subregions=True)
    >>> my_flags.flagize("Convert actual flags like :US: but not unsupported ones like :XX:")
    'Convert actual flags like 🇺🇸 but not unsupported ones like :XX:'

Install

pip install emoji-country-flag

See: https://pypi.org/project/emoji-country-flag/

Python 3.10 or higher is required for the latest release. The last release for Python 3.7 to 3.9 was v1.3.2. The last release for Python 2.7, 3.4 and 3.5 was v1.2.4.

Documentation

Documentation Status

Documentation at https://flag.readthedocs.io

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

emoji_country_flag-2.0.1.tar.gz (81.2 kB view details)

Uploaded Source

Built Distribution

emoji_country_flag-2.0.1-py3-none-any.whl (25.8 kB view details)

Uploaded Python 3

File details

Details for the file emoji_country_flag-2.0.1.tar.gz.

File metadata

  • Download URL: emoji_country_flag-2.0.1.tar.gz
  • Upload date:
  • Size: 81.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for emoji_country_flag-2.0.1.tar.gz
Algorithm Hash digest
SHA256 0faa32ca4f12da4e4c8324431947077b116caf998b0df0c01168ae8ece24e57a
MD5 174572051da0ddd3106d1453e35ea516
BLAKE2b-256 9ea09be36debd24ba5d26623b2ec3b9bdb05d49b62573d239f2ffb64157ab68c

See more details on using hashes here.

File details

Details for the file emoji_country_flag-2.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for emoji_country_flag-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5465745b20f33d1ea46a53126f23f5aea34d66b20c2571c7bbb6a63925e4d95a
MD5 c7823d20ea2ccaa75cd9c94bb995c8a8
BLAKE2b-256 4d71e777f5b50df5dcf12740abe46d7896fa2d791516138a14a975ab8b71aa1c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page