Path to this page:
./
devel/py-greenlet,
Lightweight in-process concurrent programming
Branch: CURRENT,
Version: 3.1.1,
Package name: py312-greenlet-3.1.1,
Maintainer: kamel.derouicheThe 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.
Required to run:[
lang/python27]
Required to build:[
pkgtools/cwrappers]
Master sites:
Filesize: 181.662 KB
Version history: (Expand)
- (2024-10-01) Updated to version: py312-greenlet-3.1.1
- (2024-09-14) Updated to version: py312-greenlet-3.1.0
- (2024-01-12) Updated to version: py311-greenlet-3.0.3
- (2023-12-11) Updated to version: py311-greenlet-3.0.2
- (2023-10-29) Updated to version: py311-greenlet-3.0.1
- (2023-09-01) Updated to version: py311-greenlet-2.0.2
CVS history: (Expand)
2024-11-11 08:29:31 by Thomas Klausner | Files touched by this commit (862) |
Log message:
py-*: remove unused tool dependency
py-setuptools includes the py-wheel functionality nowadays
|
2024-10-08 00:57:12 by Thomas Klausner | Files touched by this commit (1) | |
Log message:
py-greenlet: require GCC 8
To fix
sorry, unimplemented: non-trivial designated initializers not supported
(tried it with simplified similar code on godbolt)
Comment out FORCE_CXX_STD since it was added for compiling with gcc 4.8.
Re-enable this if it's still needed, with an updated comment, thanks.
|
2024-10-01 22:07:24 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-greenlet: updated to 3.1.1
3.1.1 (2024-09-20)
- Fix crashes on 32-bit PPC Linux. Note that there is no CI for this,
and support is best effort; there may be other issues lurking.
- Remove unnecessary logging sometimes during interpreter shutdown.
- Fix some crashes on 32-bit PPC MacOS. This is a very old platform,
and is only known to be tested on beta versions of an operating
system that was never released, using the GCC 14 only provided by
MacPorts; it may or may not work on the final MacOS X release that
supported 32-bit PowerPC. It has the known issue of leaking memory
when greenlets are used in multiple threads. Help debugging this
would be appreciated.
|
2024-09-14 10:20:21 by Adam Ciarcinski | Files touched by this commit (4) | |
Log message:
py-greenlet: updated to 3.1.0
3.1.0 (2024-09-10)
This will be the last release to support Python 3.7 and 3.8.
- Adds support for Python 3.13.
greenlet will not work in no-gil (free threaded) builds of CPython.
Internally, greenlet heavily depends on the GIL.
- Greatly reduce the chances for crashes during interpreter shutdown.
|
2024-03-30 21:11:51 by Thomas Klausner | Files touched by this commit (2) |
Log message:
py-greenlet: add upstream bug report URL
|
2024-03-30 20:40:05 by Havard Eidnes | Files touched by this commit (2) |
Log message:
Re-add support for NetBSD/powerpc.
This time submitted upstream as well, ref.
https://github.com/python-greenlet/greenlet/pull/402
|
2024-01-12 14:19:13 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-greenlet: updated to 3.0.3
3.0.3 (2023-12-21)
- Python 3.12: Restore the full ability to walk the stack of a suspended
greenlet; previously only the innermost frame was exposed.
|
2023-12-11 13:22:06 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-greenlet: updated to 3.0.2
3.0.2 (2023-12-08)
- Packaging: Add a minimal ``pyproject.toml`` to sdists.
- Packaging: Various updates to macOS wheels.
- Fix a test case on Arm32. Note that this is not a supported platform
(there is no CI for it) and support is best effort; there may be
other issues lurking.
|