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.

**
--
https://mail.python.org/mailman/listinfo/python-announce-list

       Support the Python Software Foundation:
       http://www.python.org/psf/donations/

Reply via email to