Skip to main content

Experimental port of the Tulip project (asyncio module, PEP 3156) on Python 2.7

Project description

Trollius is an experimental port of the Tulip project (asyncio module, PEP 3156) on Python 2.7.

Dependencies

The futures project is needed on Python 2 to get a backport of concurrent.futures. https://pypi.python.org/pypi/futures

The concurrent.futures is optional, it is only required when BaseEventLoop.run_in_executor() is used. This method is used by BaseEventLoop.getaddrinfo() and BaseEventLoop.getnameinfo().

Unit tests require the mock module: https://pypi.python.org/pypi/mock

Differences between Trollius and Tulip

  • Python 2 has no keyword-only parameters
  • Trollius coroutines use yield whereas Tulip coroutines must use yield-from
  • Trollius coroutines must use “raise Return(value)”, whereas Tulip simply uses “return value” thanks to Python 3.3 improvments
  • If the concurrent.futures module is missing, BaseEventLoop.run_in_executor() raises NotImplementedError and asyncio.wrap_future() is not available

Usage

The actual code lives in the ‘asyncio’ subdirectory. Tests are in the ‘tests’ subdirectory.

To run tests:
  • make test
To run coverage (coverage package is required):
  • make coverage

On Windows, things are a little more complicated. Assume ‘P’ is your Python binary (for example C:Python33python.exe).

You must first build the _overlapped.pyd extension and have it placed in the asyncio directory, as follows:

C> P setup.py build_ext –inplace

Then you can run the tests as follows:

C> P runtests.py

And coverage as follows:

C> P runtests.py –coverage

–Guido van Rossum <guido@python.org>

Trollius name

Extract of http://en.wikipedia.org/wiki/Trollius :

Trollius is a genus of about 30 species of plants in the family Ranunculaceae, closely related to Ranunculus. The common name of some species is globeflower or globe flower. Native to the cool temperate regions of the Northern Hemisphere, with the greatest diversity of species in Asia, trollius usually grow in heavy, wet clay soils.

Change log

2014-01-04: version 0.1

  • First public release

Project details


Release history Release notifications

History Node

2.2

History Node

2.1

History Node

2.0

History Node

1.0.4

History Node

1.0.3

History Node

1.0.2

History Node

1.0.1

History Node

1.0

History Node

0.4

History Node

0.3

History Node

0.2

History Node

0.1.6

History Node

0.1.5

History Node

0.1.4

History Node

0.1.3

History Node

0.1.2

History Node

0.1.1

This version
History Node

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
trollius-0.1.tar.gz (133.8 kB) Copy SHA256 hash SHA256 Source None Jan 4, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page