I think it could be required for app automation tasks so I could recommend PyUserInput package for input simulation:
from pykeyboard import PyKeyboard
kbd = PyKeyboard()
kbd.tap_key('h')
kbd.tap_key('i')
Example for windows users (althogh PyUserInput is corssplatform for Windows it is built atop pywin32):
import time
import win32com.client as comclt
wsh = comclt.Dispatch("WScript.Shell")
wsh.Run("calc")
time.sleep(1)
wsh.AppActivate("Calculator")
from pykeyboard import PyKeyboard
kbd = PyKeyboard()
kbd.type_string(["1"]+["0"]*6,interval=1)