Crochet 1.1.0 - Use Twisted anywhere!

Itamar Turner-Trauring itamar at itamarst.org
Sat Mar 15 13:23:58 CET 2014


Crochet is an MIT-licensed library that makes it easier for blocking or 
threaded applications like Flask or Django to use the Twisted networking 
framework. Crochet provides the following features:

  * Runs Twisted's reactor in a thread it manages.
  * The reactor shuts down automatically when the process' main thread
    finishes.
  * Hooks up Twisted's log system to the Python standard library logging
    framework. Unlike Twisted's built-in logging bridge, this includes
    support for blocking Handler instances.
  * A blocking API to eventual results (i.e. Deferred instances). This
    last feature can be used separately, so Crochet is also useful for
    normal Twisted applications that use threads.


Downloads: https://pypi.python.org/pypi/crochet
Documentation: https://crochet.readthedocs.org/en/latest/

*Trivial Example
*

"""
Download a web page in a blocking manner.
"""

from  __future__  import  print_function

import  sys

from  twisted.web.client  import  getPage
from  crochet  import  setup,  wait_for_reactor
setup()

@wait_for_reactor
def  download_page(url):
     return  getPage(url)

# download_page() now behaves like a normal blocking function:
print(download_page(sys.argv[1]))


*What's New in 1.1.0*

Bug fixes:

  * EventualResult.wait() can now be used safely from multiple threads,
    thanks to Gavin Panella for reporting the bug.
  * Fixed reentrancy deadlock in the logging code caused by
    http://bugs.python.org/issue14976, thanks to Rod Morehead for
    reporting the bug.
  * Crochet now installs on Python 3.3 again, thanks to Ben Cordero.
  * Crochet should now work on Windows, thanks to Konstantinos Koukopoulos.
  * Crochet tests can now run without adding its absolute path to
    PYTHONPATH or installing it first.

Documentation:

  * EventualResult.original_failure is now documented.

**


More information about the Python-announce-list mailing list