pythonji

Write Python with Emojis.

pythonji

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 ??

GitHub