Go to file

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

* Website: https://bitbucket.org/haypo/trollius
* Tulip project: http://code.google.com/p/tulip/
* Copyright/license: Open source, Apache 2.0. Enjoy.

WARNING: Trollius code is in the "trollius" branch of the Mercurial repository,
not in the default branch (which is the Tulip project). Command to download
the development version of the source code (trollius branch):

    hg clone 'https://bitbucket.org/haypo/trollius#trollius'


Dependencies
============

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

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


Differences between Trollius and Tulip
======================================

* Trollius coroutines use "yield" and "raise Return(value)",
  whereas Tulip coroutines use "yield from" and "return".
* If the concurrent.futures module is missing, BaseEventLoop.run_in_executor()
  uses a synchronous executor instead of a pool of threads. It blocks until the
  function returns, and so DNS resolutions are blocking.
* On Python 2.7, asyncio.SSLContext has less features than the ssl.SSLContext
  of Python 3.3: no options, verify_mode cannot be modified (fixed to
  CERT_NONE), no set_default_verify_paths() method, etc.
* Python 2 does not support keyword-only parameters.


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:\Python33\python.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-06: version 0.1.1

- Fix asyncio.time_monotonic on Mac OS X
- Fix create_connection(ssl=True)
- Don't export backported SSLContext in the ssl module anymore to not confuse
  libraries testing hasattr(ssl, "SSLContext")
- Relax dependency on the backported concurrent.futures module: use a
  synchronous executor if the module is missing

2014-01-04: version 0.1

- First public release

Description
RETIRED, further work has moved to Debian project infrastructure
Readme 3.2 MiB
Languages
Python 95.7%
C 4%
Makefile 0.2%
Shell 0.1%