The bidi package is good to know about. However, I thought Ilya's question was how to get something that looks like this on the pyglet window:
u'\u05ea\u05d9\u05e8\u05d1\u05e2'
instead to look like this when displayed from a TextStim:
עברית
To do that, it works for me if I make a TextStim like this:
s = u'\u05ea\u05d9\u05e8\u05d1\u05e2'
t = visual.TextStim(win, text=s)
If the directionality is backwards, you can reverse a string, s, by asking for s[::-1]
It looks like the bidi package is for supporting text with both LTR and RTL within the same string. If that is what's needed, simple reversing will not work. It looks relatively easy (with some effort) to use bidi from within psychopy:
First install bidi (from command line or however you usually install python packages):
pip install python-bidi
Then from inside PsychoPy / python (this is their default example--there are several options, not just upper_is_rtl):
from bidi.algorithm import get_display
s = get_display(u'car is THE CAR in arabic', upper_is_rtl=True)
t = visual.TextStim(win, text=s)