px
pypx

emoji

v2.16.0

Emoji for Python

597 KB Python 3.8+ py3-none-anyBSD License
Diff
$ uv add emoji

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_

Details

Version
2.16.0
License
BSD License
Python
>=3.8
Maintainer
Taehoon Kim <[email protected]>, Kevin Wurster <[email protected]>

Release Cadence

1
releases in the past year
avg 83 days between releases

Maintainers