The question-and-answer system seems similar to node's inquirer module:<p><a href="https://github.com/SBoudrias/Inquirer.js" rel="nofollow">https://github.com/SBoudrias/Inquirer.js</a><p>There's a re-implementation of that same idea for python:<p><a href="https://github.com/magmax/python-inquirer" rel="nofollow">https://github.com/magmax/python-inquirer</a><p>I've been building something recently that uses python-inquirer, although it isn't a perfect fit for my use-case. I'd be interested to know if there are any more similar libraries for python.
Looks nice! I have been thinking of extracting some code into a gem like this; now I might not have to.<p>Features I need, though:<p>- Creating tables where you know the desired column widths (number of characters or percentages) but you don't know the number of rows yet, because you'd like to stream the rows, not wait for all the data until rendering.<p>- Display progress on a single line and the ability to clean the current line when done. Typically this is stuff like percentage/bytes completed. Spinner would be nice.<p>- Display an incremental series of steps that get a checkmark and turn green when ok, or display an error symbol and turn red when not.<p>Will see if I have time to work this into your gem.<p>Your site is a little broken, by the way. The API link doesn't go to any API documentation, and on the Usage page, only the table links in the sidebar work.
Over the past couple years I've been building little libraries in ruby for a boxing simulator I plan to make some day. I've already built the name generator, region generator, coordinate system for the ring movement, json file db, etc.<p>The problem I've had is figuring out where I bring this all together, I've debated making it web enabled, standalone app, etc. I think I might just use this library and make it CLI based, the table library makes things really interesting for managing stats and events- I actually have a pretty strong use case for this to all be plugin based. I'd love to have my little sim running in a terminal window while I'm hacking on my web projects.<p>Anyway, very cool stuff, I will be investigating much deeper very soon!
There's stuff in TTY that does not belong in core (table rendering, logging), and there is a great lack of features that is available by default in [MooseX-App](<a href="http://p3rl.org/MooseX::App" rel="nofollow">http://p3rl.org/MooseX::App</a>): bash completion, typo detection/suggestions, command words (à la `git foo`, `svn foo`).<p>TTY's choice of eliminating dependencies is short-sighted. By embracing dependencies, a library can be more powerful, have more features, solve more problems.
Looks great, I will probably use this to make scripts at work.<p>Note: the side-nav on the Usage page (<a href="http://peter-murach.github.io/tty/usage/" rel="nofollow">http://peter-murach.github.io/tty/usage/</a>) doesn't work for me. I can only get to Table Creation.
ANSI gem does a lot of this already <a href="http://rubyworks.github.com/ansi" rel="nofollow">http://rubyworks.github.com/ansi</a>.
I'm always a bit leery of all-in-one libraries. If libraries have good SOC then it's nice to be able to mix and match.