<div class="gmail_quote">On Sat, Dec 1, 2012 at 3:04 PM, Damian Johnson <span dir="ltr"><<a href="mailto:atagar@torproject.org" target="_blank">atagar@torproject.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
* Answered a handful of controller inquiries on our lists. Stem's now<br>
at a point where I don't mind suggesting it to developers. If you're<br>
scripting or writing an application around tor then please give stem a<br>
try! I'd love to get more feedback on where its rough edges are before<br>
we make an initial release.<br></blockquote></div><br>Hi all,<br><br>I agree that Stem is ready for script/application development use.  I did a five-hour solo sprint[0] this week and I was able to move my desktop client controller from a branch of Damian's TorCtl to a branch of Damian's personal Stem repository with about 80% functionality.<br>
<br>The main changes to my controller were removing large swathes of code that are not needed, because Stem handles error conditions well and classes inherit from object.  So, I do less error checking on my own and I can directly sub-class from stem.control.Controller.<br>
<br>I have been using Stem with gevent[1] using monkey patching for socket and threading.  I have not had crashes from this unforeseen mixing of libraries.  This as an indication of the high quality of the Stem code.  I have thrown Stem into a vastly different execution context and it still operates correctly.<br>
<br>[0] This sounds so much better than, "I sat in front of my computer for five hours straight, on a Saturday."<br>[1] <a href="http://www.gevent.org/">http://www.gevent.org/</a><br><br>-- <br>Sean Robinson<br>
<br>