/pythonji

🐍 - Write Python with Emojis

Primary LanguagePythonMIT LicenseMIT

🐍 - Write Python with Emojis

Write Python code using emojis 🐍

Example of running 🐍

Inspiration

Marc Garcia gave a wonderful lightning talk at EuroSciPy 2018 in Trento, where he pointed out some obvious deficiencies in Python's handling of unicode. For instance, code like the following is not supported:

import pandas as 🐼

Installation

🐍 is available on PyPI. Install it with pip:

$ python -m pip install pythonji

Using 🐍

🐍 installs as pythonji. 🐍 code files have the suffix .🐍. You can run a 🐍 code file as follows:

$ pythonji file.🐍

Example

Save the following code to the file 🐼.🐍:

import pandas as 🐼
from numpy import random as 🔀

# Define a dataframe and print it to the console
📋 = 🐼.DataFrame(
    {
        "😀": ["🐼", "🐍", "🦁"],
        "🏷️": ["Panda", "Python", "Lion"],
        "💯": 🔀.randint(2, 5, size=3),
    },
).set_index("😀")
print(📋)

# Do some arithmetic with the dataframe
🔤 = f" Pythonji {' '.join(📋.index)}"
🔢 = 📋.loc["🐍", "💯"] + 📋.loc["🐼", "💯"]
print(🔤 * 🔢)

You can run the code as follows:

$ pythonji 🐼.🐍 
        🏷  💯
😀           
🐼   Panda  2
🐍  Python  2
🦁    Lion  4
 Pythonji 🐼 🐍 🦁 Pythonji 🐼 🐍 🦁 Pythonji 🐼 🐍 🦁 Pythonji 🐼 🐍 🦁

Limitations

  • 🐍 currently only handles single script files. It can import any regular Python module, but unfortunately not 🐍 modules.
  • Sadly, pip does not currently handle unicode command names. Ideally, we want the executable to be named 🐍 instead of pythonji.
  • Black unfortunately can not handle 🐍 code. Does anybody want to contribute to ⬛, a formatter for 🐍?