Skip to main content

Lightweight in-process concurrent programming

Project description

https://secure.travis-ci.org/python-greenlet/greenlet.png

The greenlet package is a spin-off of Stackless, a version of CPython that supports micro-threads called “tasklets”. Tasklets run pseudo-concurrently (typically in a single or a few OS-level threads) and are synchronized with data exchanges on “channels”.

A “greenlet”, on the other hand, is a still more primitive notion of micro-thread with no implicit scheduling; coroutines, in other words. This is useful when you want to control exactly when your code runs. You can build custom scheduled micro-threads on top of greenlet; however, it seems that greenlets are useful on their own as a way to make advanced control flow structures. For example, we can recreate generators; the difference with Python’s own generators is that our generators can call nested functions and the nested functions can yield values too. Additionally, you don’t need a “yield” keyword. See the example in tests/test_generator.py.

Greenlets are provided as a C extension module for the regular unmodified interpreter.

Greenlets are lightweight coroutines for in-process concurrent programming.

Who is using Greenlet?

There are several libraries that use Greenlet as a more flexible alternative to Python’s built in coroutine support:

Getting Greenlet

The easiest way to get Greenlet is to install it with pip or easy_install:

pip install greenlet
easy_install greenlet

Source code archives and windows installers are available on the python package index at https://pypi.python.org/pypi/greenlet

The source code repository is hosted on github: https://github.com/python-greenlet/greenlet

Documentation is available on readthedocs.org: https://greenlet.readthedocs.io

Download files

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

Source Distribution

greenlet-0.4.13.tar.gz (58.4 kB view details)

Uploaded Source

Built Distributions

greenlet-0.4.13-cp37-cp37m-manylinux1_x86_64.whl (42.1 kB view details)

Uploaded CPython 3.7m

greenlet-0.4.13-cp36-cp36m-win_amd64.whl (17.9 kB view details)

Uploaded CPython 3.6m Windows x86-64

greenlet-0.4.13-cp36-cp36m-win32.whl (16.3 kB view details)

Uploaded CPython 3.6m Windows x86

greenlet-0.4.13-cp36-cp36m-manylinux1_x86_64.whl (43.0 kB view details)

Uploaded CPython 3.6m

greenlet-0.4.13-cp35-cp35m-win_amd64.whl (17.9 kB view details)

Uploaded CPython 3.5m Windows x86-64

greenlet-0.4.13-cp35-cp35m-win32.whl (16.3 kB view details)

Uploaded CPython 3.5m Windows x86

greenlet-0.4.13-cp35-cp35m-manylinux1_x86_64.whl (42.9 kB view details)

Uploaded CPython 3.5m

greenlet-0.4.13-cp34-cp34m-win_amd64.whl (15.8 kB view details)

Uploaded CPython 3.4m Windows x86-64

greenlet-0.4.13-cp34-cp34m-win32.whl (15.1 kB view details)

Uploaded CPython 3.4m Windows x86

greenlet-0.4.13-cp34-cp34m-manylinux1_x86_64.whl (45.3 kB view details)

Uploaded CPython 3.4m

greenlet-0.4.13-cp33-cp33m-win_amd64.whl (15.8 kB view details)

Uploaded CPython 3.3m Windows x86-64

greenlet-0.4.13-cp33-cp33m-win32.whl (15.1 kB view details)

Uploaded CPython 3.3m Windows x86

greenlet-0.4.13-cp33-cp33m-manylinux1_x86_64.whl (42.3 kB view details)

Uploaded CPython 3.3m

greenlet-0.4.13-cp27-cp27mu-manylinux1_x86_64.whl (41.4 kB view details)

Uploaded CPython 2.7mu

greenlet-0.4.13-cp27-cp27m-win_amd64.whl (15.9 kB view details)

Uploaded CPython 2.7m Windows x86-64

greenlet-0.4.13-cp27-cp27m-win32.whl (15.3 kB view details)

Uploaded CPython 2.7m Windows x86

greenlet-0.4.13-cp27-cp27m-manylinux1_x86_64.whl (41.3 kB view details)

Uploaded CPython 2.7m

File details

Details for the file greenlet-0.4.13.tar.gz.

File metadata

  • Download URL: greenlet-0.4.13.tar.gz
  • Upload date:
  • Size: 58.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for greenlet-0.4.13.tar.gz
Algorithm Hash digest
SHA256 0fef83d43bf87a5196c91e73cb9772f945a4caaff91242766c5916d1dd1381e4
MD5 6e0b9dd5385f81d478451ec8ed1d62b3
BLAKE2b-256 13deba92335e9e76040ca7274224942282a80d54f85e342a5e33c5277c7f87eb

See more details on using hashes here.

File details

Details for the file greenlet-0.4.13-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for greenlet-0.4.13-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 a1852b51b06d1367e2d70321f6801844f5122852c9e5169bdfdff3f4d81aae30
MD5 1630813d3d5ee8d28d1e9766b5d181bb
BLAKE2b-256 6111017924bbe9c4d081682aa0ae23f3b12f3889b690c07fba5c5511a00b8c65

See more details on using hashes here.

File details

Details for the file greenlet-0.4.13-cp36-cp36m-win_amd64.whl.

File metadata

File hashes

Hashes for greenlet-0.4.13-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 1fff21a2da5f9e03ddc5bd99131a6b8edf3d7f9d6bc29ba21784323d17806ed7
MD5 8e8450f9daec23c7b6f3a8abd36f0842
BLAKE2b-256 76139b4ce3e6f701b67b8abc90b7d97bf34f3f2fc7ebda73cef1be9bb0ea85c9

See more details on using hashes here.

File details

Details for the file greenlet-0.4.13-cp36-cp36m-win32.whl.

File metadata

File hashes

Hashes for greenlet-0.4.13-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 ad2383d39f13534f3ca5c48fe1fc0975676846dc39c2cece78c0f1f9891418e0
MD5 2d25f0191297fe11f0b03dce6bd23c88
BLAKE2b-256 42f76df3cedd01db0780f338a2e2b35edee5617a95d125acb9e68e298ebc5bec

See more details on using hashes here.

File details

Details for the file greenlet-0.4.13-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for greenlet-0.4.13-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 42118bf608e0288e35304b449a2d87e2ba77d1e373e8aa221ccdea073de026fa
MD5 ced92035057b8f2d0de1103927902525
BLAKE2b-256 ddce7b3a19a3eb8c79e6237ba1fb7a8729b39034dd2de8753b8d27e5abc59fd5

See more details on using hashes here.

File details

Details for the file greenlet-0.4.13-cp35-cp35m-win_amd64.whl.

File metadata

File hashes

Hashes for greenlet-0.4.13-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 58798b5d30054bb4f6cf0f712f08e6092df23a718b69000786634a265e8911a9
MD5 fa30db3b5512cadbce68c6fe9c294876
BLAKE2b-256 150f49a686554242a89bf6677f591f93e3421228fe9f906c6675d9cc0c2736ab

See more details on using hashes here.

File details

Details for the file greenlet-0.4.13-cp35-cp35m-win32.whl.

File metadata

File hashes

Hashes for greenlet-0.4.13-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 75c413551a436b462d5929255b6dc9c0c3c2b25cbeaee5271a56c7fda8ca49c0
MD5 92057b3d259967e05c3f0b10b520dd77
BLAKE2b-256 72d9fd83dc976568c4d2237f991a24d904fa8c06d6aa1b66071fa8a6291ef8a0

See more details on using hashes here.

File details

Details for the file greenlet-0.4.13-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for greenlet-0.4.13-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 1b7df09c6598f5cfb40f843ade14ed1eb40596e75cd79b6fa2efc750ba01bb01
MD5 038e7f1b0bb61ff84206e7a82f7e36a4
BLAKE2b-256 07611042b0a7e856ad3cb43d2a2bbb0773dfd64a8ed6830089c6e369b97f1ab0

See more details on using hashes here.

File details

Details for the file greenlet-0.4.13-cp34-cp34m-win_amd64.whl.

File metadata

File hashes

Hashes for greenlet-0.4.13-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 f8f2a0ae8de0b49c7b5b2daca4f150fdd9c1173e854df2cce3b04123244f9f45
MD5 dba02922e0b083777a81f502bd263c52
BLAKE2b-256 fcca4a41caced97357b3217c20e831d3defcbcbfbdac984de84315321e60eda3

See more details on using hashes here.

File details

Details for the file greenlet-0.4.13-cp34-cp34m-win32.whl.

File metadata

File hashes

Hashes for greenlet-0.4.13-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 09ef2636ea35782364c830f07127d6c7a70542b178268714a9a9ba16318e7e8b
MD5 b066ee25929db5accdabc294da764816
BLAKE2b-256 6d391a1b06012b3d63055a8fbe216b6d6279b0b09793c689e6419a82cb102661

See more details on using hashes here.

File details

Details for the file greenlet-0.4.13-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for greenlet-0.4.13-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 5b49b3049697aeae17ef7bf21267e69972d9e04917658b4e788986ea5cc518e8
MD5 2fcc19ab26438891f8c468648c140206
BLAKE2b-256 01854e48feba4db28e89c32c4cf274c2dd1fc3b48a99ce167e9aa84b09438428

See more details on using hashes here.

File details

Details for the file greenlet-0.4.13-cp33-cp33m-win_amd64.whl.

File metadata

File hashes

Hashes for greenlet-0.4.13-cp33-cp33m-win_amd64.whl
Algorithm Hash digest
SHA256 c2de19c88bdb0366c976cc125dca1002ec1b346989d59524178adfd395e62421
MD5 776d3866e622bb9d6e14b5438df93e3f
BLAKE2b-256 548abba7c84ae9d2a65e5545814497b7c8936c62b543154deb6082390407089c

See more details on using hashes here.

File details

Details for the file greenlet-0.4.13-cp33-cp33m-win32.whl.

File metadata

File hashes

Hashes for greenlet-0.4.13-cp33-cp33m-win32.whl
Algorithm Hash digest
SHA256 769b740aeebd584cd59232be84fdcaf6270b8adc356596cdea5b2152c82caaac
MD5 702037a7ff009f30a48337b378a8e51e
BLAKE2b-256 311efaa30295fa493812b560d2f282e0b91c636a3dbacc73f46c8429b2bb2fc3

See more details on using hashes here.

File details

Details for the file greenlet-0.4.13-cp33-cp33m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for greenlet-0.4.13-cp33-cp33m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 b417bb7ff680d43e7bd7a13e2e08956fa6acb11fd432f74c97b7664f8bdb6ec1
MD5 dfbda76425495ceafb9b7fac067bd0ae
BLAKE2b-256 ab82a503adceaefb527c63c7ab5e6a49411a943f2a26ab3a35d5a46ef1d4f77c

See more details on using hashes here.

File details

Details for the file greenlet-0.4.13-cp27-cp27mu-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for greenlet-0.4.13-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 c7b04a6dc74087b1598de8d713198de4718fa30ec6cbb84959b26426c198e041
MD5 1192c47629d134316e5b4b954bfe1c31
BLAKE2b-256 b9e5191ba8664e4c388646b91c9891e15381cb1b515e9c9059d1e6485d5ebbe3

See more details on using hashes here.

File details

Details for the file greenlet-0.4.13-cp27-cp27m-win_amd64.whl.

File metadata

File hashes

Hashes for greenlet-0.4.13-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 fcfadaf4bf68a27e5dc2f42cbb2f4b4ceea9f05d1d0b8f7787e640bed2801634
MD5 2a0714e515396bccf7e9f2acb8ae0625
BLAKE2b-256 9250bbc21b30f3457b1e558a4a8c96b78080c92b7af50a3f8096af09a8b257cd

See more details on using hashes here.

File details

Details for the file greenlet-0.4.13-cp27-cp27m-win32.whl.

File metadata

File hashes

Hashes for greenlet-0.4.13-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 b6ef0cabaf5a6ecb5ac122e689d25ba12433a90c7b067b12e5f28bdb7fb78254
MD5 03cd837782fdbb08033e32bf2d81efec
BLAKE2b-256 f1bf085bdd0e50675090fbb6b5cc5a6fe61cdcd761465055807789aa8082ad73

See more details on using hashes here.

File details

Details for the file greenlet-0.4.13-cp27-cp27m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for greenlet-0.4.13-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 50643fd6d54fd919f9a0a577c5f7b71f5d21f0959ab48767bd4bb73ae0839500
MD5 173076d10dcf14b009b75a823c83b88a
BLAKE2b-256 7fd8f991b22b5853cfe36d0ca290104ce936abe375337bfcc594b2d70f7e97f0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page