Path: csiph.com!usenet.pasdenom.info!goblin1!goblin.stu.neva.ru!news2.euro.net!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.047 X-Spam-Evidence: '*H*': 0.91; '*S*': 0.00; 'api.': 0.04; 'django.': 0.05; 'works.': 0.07; 'api': 0.09; 'commonly': 0.09; 'api,': 0.16; 'complicated,': 0.16; 'descending': 0.16; 'from:addr:torriem': 0.16; 'from:name:michael torrie': 0.16; 'subject:Tornado': 0.16; 'twisted': 0.16; 'ui,': 0.16; 'wrote:': 0.17; 'widely': 0.17; 'examples': 0.18; "python's": 0.23; 'header:In-Reply-To:1': 0.25; 'header:User-Agent:1': 0.26; 'first,': 0.27; 'url:default': 0.27; 'second,': 0.29; 'framework': 0.30; 'function': 0.30; 'implement': 0.32; 'getting': 0.33; 'function.': 0.33; 'to:addr:python-list': 0.33; 'another': 0.33; 'requirements': 0.33; 'project': 0.34; 'done': 0.34; 'nature': 0.35; 'community': 0.35; 'especially': 0.35; 'pm,': 0.35; 'sometimes': 0.35; 'subject:?': 0.35; 'something': 0.35; 'there': 0.35; 'received:org': 0.36; 'really': 0.36; 'but': 0.36; 'message-id:@gmail.com': 0.36; 'bad': 0.37; 'being': 0.37; 'passed': 0.37; 'well.': 0.37; 'subject:: ': 0.38; 'mean': 0.38; 'some': 0.38; 'things': 0.38; 'to:addr:python.org': 0.39; 'received:192': 0.39; 'received:192.168': 0.40; 'header:Received:5': 0.40; 'your': 0.60; 'easy': 0.60; 'most': 0.61; 'real': 0.61; 'first': 0.61; 'export': 0.62; 'services': 0.64; 'url:10': 0.65; 'sounds': 0.71; 'heavy': 0.83; 'order:': 0.84; 'url:books': 0.84; 'dirty': 0.91; 'exposing': 0.91; 'forgotten': 0.91 X-Virus-Scanned: amavisd-new at torriefamily.org Date: Thu, 28 Feb 2013 17:39:33 -0700 From: Michael Torrie User-Agent: Mozilla/5.0 (X11; Linux i686; rv:10.0.12) Gecko/20130105 Thunderbird/10.0.12 MIME-Version: 1.0 To: python-list@python.org Subject: Re: Twisted or Tornado? References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 30 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1362098382 news.xs4all.nl 6872 [2001:888:2000:d::a6]:45144 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:40207 On 02/28/2013 05:28 PM, Jake Angulo wrote: > My requirements for this framework in descending order: 1) Easy to > use API 2) Widely available documentation / Examples / Community > contributions 3) Feature-wise - kinda most that you commonly need is > there By this I take it you mean you want to export a standard web services API, right (RPC over HTTP)? Or are you insisting on writing your own protocol? If it's the first, I recommend something like web2py. http://web2py.com/books/default/chapter/29/10. Or Django. Sounds heavy but it's really not that bad especially if you don't need a real web UI, but are just exposing an RPC api. If it's the second, then, well, yes Twisted will work great, provided you can understand how it works. It's actually not that complicated, but python's dynamic nature can sometimes hide how things work from you at first and what exactly is getting passed around from function to function. Took me about a month to really grok Twisted. Now that my project is done (quite successful actually... a full-blow LDAP proxy server), I have forgotten much about how Twisted works. In another vein, there's node.js as well. Apparently it's being used a lot to implement quick and dirty services like what you need. > I prefer opinion from those who have programmed real projects in it - > not just read some blog or Slashdot :P Ha.