Skip to content

gahjelle/pythonji

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

About

🐍 - Write Python with Emojis

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages