https://github.com/suda/python-emoji-encoding
🐍 Use Emoji's to write Python code
https://github.com/suda/python-emoji-encoding
Last synced: 9 months ago
JSON representation
🐍 Use Emoji's to write Python code
- Host: GitHub
- URL: https://github.com/suda/python-emoji-encoding
- Owner: suda
- Created: 2016-02-20T20:37:39.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-02-21T21:50:37.000Z (over 10 years ago)
- Last Synced: 2025-08-31T04:06:42.575Z (10 months ago)
- Language: Python
- Homepage:
- Size: 3.91 KB
- Stars: 36
- Watchers: 4
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Emoji encoding for 🐍
This module provides a custom source code encoding allowing usage of Emoji's for things like variable names or function names.
## Usage
Install the package with pip:
```
pip install emoji-encoding
```
**It's recommended to install it in [a virtualenv](https://virtualenv.readthedocs.org/en/latest/)**
After installation you can specify the encoding in the beginning of a Python file:
```python
# -*- coding: emoji -*-
def 📢(✉️):
print(✉️)
📢("✋ 🌏")
```
## Uninstalling
This package will create `emoji.pth` file in your `site-packages` directory to autoload the codec. After removing the module you need to remove this file manually.
## Known issues
Currently the encoding is only available in imported modules so trying to run Emoji encoded file directly will fail:
```
$ python emoji.py
File "emoji.py", line 1
SyntaxError: encoding problem: emoji
```
Easy workaround is to have an another file that imports the Emoji encoded file:
```shell
$ cat bootstrap.py
import emoji
$ python bootstrap.py
✋ 🌏
```
## History
It all started with Ola Sendecka's talk about [Emoji Driven Development](https://speakerdeck.com/jezdezcon/ola-sendecka-emoji-driven-development) which made me wonder: "why *can't* we use Emoji's in Python?". After a bit of hacking I was able to use them [with a patched cpython](https://twitter.com/suda/status/614814994367168512). This wasn't a perfect solution so playing with this idea I ended up with custom [codec](https://docs.python.org/3/library/codecs.html) that translates Emoji's to their ASCII representations and adds prefix/suffix to decode such unique string back to Unicode.