ColdGrub1384 / LibTerm

iOS sandboxed terminal with Python, Lua and Clang
https://libterm.app
MIT License
630 stars 115 forks source link

curses #19

Open dullbananas opened 5 years ago

dullbananas commented 5 years ago

I want Libterm to support Curses in Python.

ongyx commented 4 years ago

On further investigation, curses already exists in the stdlib provided on Libterm. By trying to import curses, this happens:

>>> import curses
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/var/containers/Bundle/Application/EAB64E3D-333A-4DEE-B978-FF350FB4CA0A/LibTerm.app/python37.zip/curses/__init__.py", line 13, in <module>
    from _curses import *
ModuleNotFoundError: No module named '_curses'

The python module acts as a frontend for the original curses, written in C. Because of this, it cannot be run in Libterm without major changes to python3_ios to add C extension functionality. I wouldn’t expect implementing C extension support would be that easy, either. Maybe you can ask @holzschu about this. (They know more about this than me.)

holzschu commented 4 years ago

Hi, Can you explain more precisely what you are trying to do?

The issue I had with curses in Python3 is that several functions trigger an automatic rejection from Apple, when one submits to the AppStore (tgetent, tgetstr, tgetnum...)

The other issue is that most of curses functions don't work on iOS (because there is no terminfo database). It can be easier to work around the lack of curses than to reimplement curses entirely.