I have recently been working on a terminal/console animation package 
(https://github.com/peterbrittain/asciimatics). Beyond the high-level animation 
methods/objects it provides, it also needed to be cross-platform and and simple 
to install with pip (including any dependencies).

This cross-platform requirement meant I needed a curses equivalent for Windows. 
 This appears to have been a regular issue over the years and I've looked 
around at previous answers on the web and this newsgroup.  Now while there's 
some pretty neat stuff out there, nothing actually gave me everything I needed.

1) colorama only gives you colours and cursor positioning, but no input, 
resizing or screen-scraping options.

2) blessings/blessed provide better (but incomplete) APIs than the curses 
package, but no Windows support unless you use colorama (which is still limited 
as above).

3) console (from effbot.org) is a native installer and so fails the pip test.  
It does however show direct use of the win32 API is a tenable approach.

4) The other packages I found were either dead projects or relied on a native 
installation of an open source implementation of curses - with no pip install 
option available.

I therefore started writing a consistent wrapper API (the Screen object) that 
uses the curses package on Unix variants and pywin32 to access the Windows 
console API.  

Over the last few months I've rounded out the features and proved that 
asciimatics works identically on Linux (various distros), OSX and Windows 7-10. 
  I know that there are still some rough edges due to the history of the 
project and so I've been deprecating old APIs in preparation for creating a 
completely clean API when I create the next major (v2.x) release.

I suspect that it could be even better though, so am looking for feedback and 
ideas from the community - both on the high-level animation features and the 
low-level cross-platform terminal API.  

Is there something you can see that could be usefully improved?  All feedback 
welcome.
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to