efficient vim config
[dotfiles/.git] / .local / lib / python2.7 / site-packages / greenlet-0.4.17.dist-info / METADATA
1 Metadata-Version: 2.1
2 Name: greenlet
3 Version: 0.4.17
4 Summary: Lightweight in-process concurrent programming
5 Home-page: https://github.com/python-greenlet/greenlet
6 Author: UNKNOWN
7 Author-email: UNKNOWN
8 License: MIT License
9 Platform: any
10 Classifier: Intended Audience :: Developers
11 Classifier: License :: OSI Approved :: MIT License
12 Classifier: Natural Language :: English
13 Classifier: Programming Language :: C
14 Classifier: Programming Language :: Python
15 Classifier: Programming Language :: Python :: 2
16 Classifier: Programming Language :: Python :: 2.4
17 Classifier: Programming Language :: Python :: 2.5
18 Classifier: Programming Language :: Python :: 2.6
19 Classifier: Programming Language :: Python :: 2.7
20 Classifier: Programming Language :: Python :: 3
21 Classifier: Programming Language :: Python :: 3.0
22 Classifier: Programming Language :: Python :: 3.1
23 Classifier: Programming Language :: Python :: 3.2
24 Classifier: Programming Language :: Python :: 3.3
25 Classifier: Programming Language :: Python :: 3.4
26 Classifier: Programming Language :: Python :: 3.5
27 Classifier: Programming Language :: Python :: 3.6
28 Classifier: Programming Language :: Python :: 3.7
29 Classifier: Programming Language :: Python :: 3.8
30 Classifier: Programming Language :: Python :: 3.9
31 Classifier: Operating System :: OS Independent
32 Classifier: Topic :: Software Development :: Libraries :: Python Modules
33
34 .. image:: https://secure.travis-ci.org/python-greenlet/greenlet.png
35    :target: http://travis-ci.org/python-greenlet/greenlet
36
37 The greenlet package is a spin-off of Stackless, a version of CPython
38 that supports micro-threads called "tasklets". Tasklets run
39 pseudo-concurrently (typically in a single or a few OS-level threads)
40 and are synchronized with data exchanges on "channels".
41
42 A "greenlet", on the other hand, is a still more primitive notion of
43 micro-thread with no implicit scheduling; coroutines, in other
44 words. This is useful when you want to control exactly when your code
45 runs. You can build custom scheduled micro-threads on top of greenlet;
46 however, it seems that greenlets are useful on their own as a way to
47 make advanced control flow structures. For example, we can recreate
48 generators; the difference with Python's own generators is that our
49 generators can call nested functions and the nested functions can
50 yield values too. Additionally, you don't need a "yield" keyword. See
51 the example in tests/test_generator.py.
52
53 Greenlets are provided as a C extension module for the regular
54 unmodified interpreter.
55
56 Greenlets are lightweight coroutines for in-process concurrent
57 programming.
58
59 Who is using Greenlet?
60 ======================
61
62 There are several libraries that use Greenlet as a more flexible
63 alternative to Python's built in coroutine support:
64
65  - `Concurrence`_
66  - `Eventlet`_
67  - `Gevent`_
68
69 .. _Concurrence: http://opensource.hyves.org/concurrence/
70 .. _Eventlet: http://eventlet.net/
71 .. _Gevent: http://www.gevent.org/
72
73 Getting Greenlet
74 ================
75
76 The easiest way to get Greenlet is to install it with pip or
77 easy_install::
78
79   pip install greenlet
80   easy_install greenlet
81
82
83 Source code archives and windows installers are available on the
84 python package index at https://pypi.python.org/pypi/greenlet
85
86 The source code repository is hosted on github:
87 https://github.com/python-greenlet/greenlet
88
89 Documentation is available on readthedocs.org:
90 https://greenlet.readthedocs.io
91
92