Skip to content

carpedm20/emoji

Repository files navigation

Emoji

Emoji for Python. This project was inspired by kyokomi.

Example

The entire set of Emoji codes as defined by the Unicode consortium is supported in addition to a bunch of aliases. By default, only the official list is enabled but doing emoji.emojize(language='alias') enables both the full list and aliases.

>>> import emoji
>>> print(emoji.emojize('Python is :thumbs_up:'))
Python is 👍
>>> print(emoji.emojize('Python is :thumbsup:', language='alias'))
Python is 👍
>>> print(emoji.demojize('Python is 👍'))
Python is :thumbs_up:
>>> print(emoji.emojize("Python is fun :red_heart:"))
Python is fun>>> print(emoji.emojize("Python is fun :red_heart:", variant="emoji_type"))
Python is fun ❤️ #red heart, not black heart
>>> print(emoji.is_emoji("👍"))
True

By default, the language is English (language='en') but also supported languages are:

  • Spanish ('es')
  • Portuguese ('pt')
  • Italian ('it')
  • French ('fr')
  • German ('de')
  • Farsi/Persian ('fa')
  • Indonesian ('id')
  • Simplified Chinese ('zh')
  • Japanese ('ja')
  • Korean ('ko')
  • Russian ('ru')
  • Arabic ('ar')
  • Turkish ('tr')
>>> print(emoji.emojize('Python es :pulgar_hacia_arriba:', language='es'))
Python es 👍
>>> print(emoji.demojize('Python es 👍', language='es'))
Python es :pulgar_hacia_arriba:
>>> print(emoji.emojize("Python é :polegar_para_cima:", language='pt'))
Python é 👍
>>> print(emoji.demojize("Python é 👍", language='pt'))
Python é :polegar_para_cima:️

Installation

Via pip:

$ python -m pip install emoji --upgrade

From master branch:

$ git clone https://github.com/carpedm20/emoji.git
$ cd emoji
$ python -m pip install .

Developing

$ git clone https://github.com/carpedm20/emoji.git
$ cd emoji
$ python -m pip install -e .\[dev\]
$ pytest
$ coverage run -m pytest
$ coverage report

The utils/generate_emoji.py script is used to generate unicode_codes/emoji.json. Generally speaking it scrapes a table on the Unicode Consortium's website with BeautifulSoup For more information take a look in the utils/README.md file.

Check the code style with:

$ python -m pip install ruff
$ ruff check emoji

Test the type checks with:

$ python -m pip install pyright mypy typeguard
$ pyright emoji
$ pyright tests
$ mypy emoji
$ pytest --typeguard-packages=emoji

Links

Documentation

https://carpedm20.github.io/emoji/docs/

Overview of all emoji:

https://carpedm20.github.io/emoji/

(auto-generated list of the emoji that are supported by the current version of this package)

For English:

Emoji Cheat Sheet

Official Unicode list

For Spanish:

Unicode list

For Portuguese:

Unicode list

For Italian:

Unicode list

For French:

Unicode list

For German:

Unicode list

Authors

Taehoon Kim / @carpedm20

Kevin Wurster / @geowurster

Maintainer

Tahir Jalilov / @TahirJalilov