greenlet 3.2.4


pip install greenlet

  Latest version

Released: Aug 07, 2025


Meta
Author: Alexey Borzenkov
Maintainer: Jason Madden
Requires Python: >=3.9

Classifiers

Development Status
  • 5 - Production/Stable

Intended Audience
  • Developers

Natural Language
  • English

Programming Language
  • C
  • Python
  • Python :: 3
  • Python :: 3 :: Only
  • Python :: 3.9
  • Python :: 3.10
  • Python :: 3.11
  • Python :: 3.12
  • Python :: 3.13

Operating System
  • OS Independent

Topic
  • Software Development :: Libraries :: Python Modules

Greenlets are lightweight coroutines for in-process concurrent programming.

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 test_generator.py).

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

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:

pip install greenlet

Source code archives and binary distributions are available on the python package index at https://pypi.org/project/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

3.2.4 Aug 07, 2025
3.2.3 Jun 05, 2025
3.2.2 May 09, 2025
3.2.1 Apr 22, 2025
3.2.0 Apr 15, 2025
3.1.1 Sep 20, 2024
3.1.0 Sep 10, 2024
3.0.3 Dec 21, 2023
3.0.2 Dec 08, 2023
3.0.1 Oct 25, 2023
3.0.0 Oct 02, 2023
3.0.0rc3 Sep 12, 2023
3.0.0rc2 Sep 09, 2023
3.0.0rc1 Sep 01, 2023
3.0.0a1 Jun 21, 2023
2.0.2 Jan 28, 2023
2.0.1 Nov 07, 2022
2.0.0.post0 Nov 03, 2022
2.0.0 Oct 31, 2022
2.0.0rc5 Oct 31, 2022
2.0.0rc4 Oct 30, 2022
2.0.0rc3 Oct 29, 2022
2.0.0rc2 Oct 28, 2022
2.0.0rc1 Oct 27, 2022
2.0.0a2 Mar 24, 2022
2.0.0a1 Jan 20, 2022
1.1.3.post0 Oct 10, 2022
1.1.3 Aug 25, 2022
1.1.2 Sep 29, 2021
1.1.1 Aug 06, 2021
1.1.0 May 06, 2021
1.0.0 Jan 13, 2021
1.0a1 Nov 20, 2020
0.4.17 Sep 22, 2020
0.4.16 Jun 05, 2020
0.4.15 Sep 07, 2018
0.4.14 Jul 17, 2018
0.4.13 Jan 31, 2018
0.4.12 Feb 01, 2017
0.4.11 Dec 10, 2016
0.4.10 Jun 11, 2016
0.4.9 Aug 30, 2015
0.4.7 May 16, 2015
0.4.6 May 03, 2015
0.4.5 Oct 18, 2014
0.4.4 Sep 07, 2014
0.4.3 Aug 07, 2014
0.4.2 Jan 07, 2014
0.4.1 Jun 07, 2013
0.4.0 Jun 21, 2012
0.3.4 Feb 11, 2012
0.3.3 Jan 06, 2012
0.3.2 Dec 15, 2011
0.3.1 Apr 06, 2010
0.3 Mar 24, 2010
0.2 Dec 30, 2008
0.1 Jan 10, 2006
0.4.4.win32 Sep 07, 2014
0.4.4.win Sep 07, 2014
0.4.3.win32 Aug 07, 2014
0.4.3.win Aug 07, 2014
0.4.2.win32 Jan 07, 2014
0.4.2.win Jan 07, 2014
0.4.1.win32 Jun 07, 2013
0.4.1.win Jun 07, 2013
0.4.0.win32 Jun 21, 2012
0.4.0.win Jun 21, 2012
0.3.win32 Mar 24, 2010
0.3.4.win32 Feb 11, 2012
0.3.4.win Feb 11, 2012
0.3.3.win32 Jan 06, 2012
0.3.3.win Jan 06, 2012
0.3.2.win32 Dec 15, 2011
0.3.1.win32 Apr 06, 2010

Wheel compatibility matrix

Platform CPython 3.9 CPython 3.10 CPython 3.11 CPython 3.12 CPython 3.13 CPython 3.14
macosx_11_0_universal2
manylinux2014_aarch64
manylinux2014_ppc64le
manylinux2014_s390x
manylinux2014_x86_64
manylinux_2_17_aarch64
manylinux_2_17_ppc64le
manylinux_2_17_s390x
manylinux_2_17_x86_64
manylinux_2_24_x86_64
manylinux_2_28_x86_64
musllinux_1_1_aarch64
musllinux_1_1_x86_64
win32
win_amd64

Files in release

greenlet-3.2.4-cp310-cp310-macosx_11_0_universal2.whl (264.7KiB)
greenlet-3.2.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (614.7KiB)
greenlet-3.2.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl (625.8KiB)
greenlet-3.2.4-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl (621.8KiB)
greenlet-3.2.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (620.5KiB)
greenlet-3.2.4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (570.7KiB)
greenlet-3.2.4-cp310-cp310-musllinux_1_1_aarch64.whl (1.1MiB)
greenlet-3.2.4-cp310-cp310-musllinux_1_1_x86_64.whl (1.1MiB)
greenlet-3.2.4-cp310-cp310-win_amd64.whl (291.7KiB)
greenlet-3.2.4-cp311-cp311-macosx_11_0_universal2.whl (265.9KiB)
greenlet-3.2.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (617.6KiB)
greenlet-3.2.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl (629.5KiB)
greenlet-3.2.4-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl (625.5KiB)
greenlet-3.2.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (624.7KiB)
greenlet-3.2.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (573.9KiB)
greenlet-3.2.4-cp311-cp311-musllinux_1_1_aarch64.whl (1.1MiB)
greenlet-3.2.4-cp311-cp311-musllinux_1_1_x86_64.whl (1.1MiB)
greenlet-3.2.4-cp311-cp311-win_amd64.whl (292.1KiB)
greenlet-3.2.4-cp312-cp312-macosx_11_0_universal2.whl (267.7KiB)
greenlet-3.2.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (626.0KiB)
greenlet-3.2.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl (639.8KiB)
greenlet-3.2.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl (634.7KiB)
greenlet-3.2.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (636.6KiB)
greenlet-3.2.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (593.3KiB)
greenlet-3.2.4-cp312-cp312-musllinux_1_1_aarch64.whl (1.1MiB)
greenlet-3.2.4-cp312-cp312-musllinux_1_1_x86_64.whl (1.1MiB)
greenlet-3.2.4-cp312-cp312-win_amd64.whl (292.9KiB)
greenlet-3.2.4-cp313-cp313-macosx_11_0_universal2.whl (266.4KiB)
greenlet-3.2.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (626.0KiB)
greenlet-3.2.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl (639.8KiB)
greenlet-3.2.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl (634.3KiB)
greenlet-3.2.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (636.9KiB)
greenlet-3.2.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (596.2KiB)
greenlet-3.2.4-cp313-cp313-musllinux_1_1_aarch64.whl (1.1MiB)
greenlet-3.2.4-cp313-cp313-musllinux_1_1_x86_64.whl (1.1MiB)
greenlet-3.2.4-cp313-cp313-win_amd64.whl (292.7KiB)
greenlet-3.2.4-cp314-cp314-macosx_11_0_universal2.whl (267.2KiB)
greenlet-3.2.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (670.3KiB)
greenlet-3.2.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl (682.8KiB)
greenlet-3.2.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl (678.4KiB)
greenlet-3.2.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (679.1KiB)
greenlet-3.2.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (642.1KiB)
greenlet-3.2.4-cp314-cp314-win_amd64.whl (296.3KiB)
greenlet-3.2.4-cp39-cp39-macosx_11_0_universal2.whl (263.5KiB)
greenlet-3.2.4-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (612.9KiB)
greenlet-3.2.4-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl (624.4KiB)
greenlet-3.2.4-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.whl (619.9KiB)
greenlet-3.2.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (619.2KiB)
greenlet-3.2.4-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (569.2KiB)
greenlet-3.2.4-cp39-cp39-musllinux_1_1_aarch64.whl (1.1MiB)
greenlet-3.2.4-cp39-cp39-musllinux_1_1_x86_64.whl (1.1MiB)
greenlet-3.2.4-cp39-cp39-win32.whl (274.8KiB)
greenlet-3.2.4-cp39-cp39-win_amd64.whl (291.5KiB)
greenlet-3.2.4.tar.gz (183.8KiB)
Extras:
Dependencies: