When writing console-based software, it is sometimes necessary to ask users to provide long text inputs that can't easily be provided through command options.
There are few examples of this in the Unix world, such as editing crontab
or tweaking multiple configuration options at once. Most of them rely on starting a fully-fledged third-party editor, such as nano or vim, but it's possible to easily roll a solution that in many cases will suffice with just the Python standard library, such that our tools can ask long or complex user input.
The curses
library is only included in Python for Unix systems, so Windows users might need a solution, such as CygWin or the Linux Subsystem for Windows, to be able to have a Python setup that includes curses
support.