https://github.com/saghul/evergreen
Cooperative multitasking and i/o for Python
https://github.com/saghul/evergreen
Last synced: about 1 year ago
JSON representation
Cooperative multitasking and i/o for Python
- Host: GitHub
- URL: https://github.com/saghul/evergreen
- Owner: saghul
- License: mit
- Created: 2013-04-22T20:34:08.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2014-03-31T06:40:05.000Z (over 12 years ago)
- Last Synced: 2025-05-26T04:22:39.389Z (about 1 year ago)
- Language: Python
- Homepage: https://pypi.python.org/pypi/evergreen
- Size: 1.16 MB
- Stars: 112
- Watchers: 11
- Forks: 10
- Open Issues: 3
-
Metadata Files:
- Readme: README.rst
- Changelog: ChangeLog
- License: LICENSE
Awesome Lists containing this project
README
===========================================
Evergreen: cooperative multitasking and i/o
===========================================
Overview
========
Evergreen is a cooperative multitasking and i/o library for Python. It provides equivalent primitives to
those for thread programming, but uses a cooperative model instead.
Operations are driven by an event loop which will run the given tasks and i/o operations in a non-blocking
manner while presenting the user a synchronous, blocking API.
Features:
- Cooperative multitasking
- Cooperative synchronization primitives: locks, events, queues, channels
- Futures API (almost) compatible with the standard library
- Cooperative versions of several standard library modules
- Ability to monkey patch standard library modules to make them
cooperative
Running the test suite
======================
There are several ways of running the test suite:
- Run the test with the current Python interpreter:
From the toplevel directory, run: ``nosetests -v``
- Use Tox to run the test suite in several virtualenvs with several interpreters
From the toplevel directory, run: ``tox -e py26,py27,py32, py33`` this will run the test suite
on Python 2.6, 2.7, 3.2 and 3.3 (you'll need to have them installed beforehand)
CI status
=========
.. image:: https://secure.travis-ci.org/saghul/evergreen.png?branch=master
:target: http://travis-ci.org/saghul/evergreen
Documentation
=============
http://readthedocs.org/docs/evergreen/
Author
======
Saúl Ibarra Corretgé
Code written by other authors has been adapted for use with Evergreen, check
the NOTICE file.
License
=======
Unless stated otherwise on-file Evergreen uses the MIT license, check LICENSE and NOTICE files.
Contributing
============
If you'd like to contribute, fork the project, make a patch and send a pull
request. Have a look at the surrounding code and please, make yours look
alike :-) If you intend to contribute a new feature please contact the maintainer
beforehand in order to discuss the design.