Python ncurses, CDK, diferencia urwid

¿Cuál es la diferencia entre estos 3? Según tengo entendido, ambos proporcionan un enlace a las cursas, que es la biblioteca de C para la interfaz de usuario basada en texto de terminal.

Actualmente no tengo conocimiento de ninguno de los 3 y nunca he usado maldiciones. ¿Cuál recomendarías? He oído hablar de ncurses muchas veces, pero solo una o dos veces sobre CDK (a través de la investigación) y nunca he oído hablar de urwid (creo).

Lo que obtengo después de ver algunas referencias es:

  • ncurses : es una versión de software gratuita de curses, por lo que debe lidiar con todo tipo de detalles de bajo nivel.
  • pyCDK : es una biblioteca de nivel superior que proporciona algunos widgets. No he usado este, pero de acuerdo con la página del proyecto de sourceforge no se ha mantenido durante mucho tiempo (al menos la encuadernación de python), por lo que no me quedaría con este.
  • urwid : He usado este y tengo que decir que todavía es un poco bajo nivel (es más un marco que una biblioteca de widgets), pero aún así es bastante útil y mucho más amigable que los curses. Como marco de la interfaz de usuario, tiene todas las cosas que normalmente esperarías, como widgets, eventos y una forma de controlar el diseño de los widgets. Algunas cosas que diría que son difíciles con las curses , pero que son fáciles con urwid son: urwid dibujar sus widgets cuando el terminal urwid tamaño y reúna la entrada del mouse (haciendo clic en un botón, por ejemplo).

Por lo tanto, mi recomendación sería usar urwid y si no cumple con sus necesidades, busque otras alternativas.

No he usado ninguna de las bibliotecas, pero supongo que te estás refiriendo a:

  • Módulo de curses incorporado de Python
  • pycdk , una interfaz de Python para CDK
  • La biblioteca de la interfaz de usuario de la consola urwid

Solo son bibliotecas diferentes con el mismo objective: proporcionar una API para una interfaz de usuario basada en consola. De una pregunta anterior , parece que las curses requieren más repetitivo de bajo nivel. Una cosa a tener en cuenta es que el módulo de curses de Python solo está disponible en Unix; Si está en Windows, puede mirar el módulo de la Console escrito por Fredrik Lundh.

Ambas opciones también parecen ser prometedoras, aunque urwid parece estar más organizado en lo que se refiere al desarrollo, y aún se está desarrollando activamente.