./devel/py-greenlet, Lightweight in-process concurrent programming

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.0.0, Package name: py38-greenlet-1.0.0, Maintainer: kamel.derouiche

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.


Required to run:
[lang/python27]

Required to build:
[pkgtools/cwrappers]

Master sites:

SHA1: cbaa75105b3d82ca4501c2febbbb3b1876d0961b
RMD160: 16a4315e81dbaab29ba15fba2a6ee4ff3f2ae035
Filesize: 82.544 KB

Version history: (Expand)


CVS history: (Expand)


   2021-03-03 19:05:02 by Adam Ciarcinski | Files touched by this commit (5) | Package updated
Log message:
py-greenlet: updated to 1.0.0

1.0.0 (2021-01-13)

Fix %s and %r formatting of a greenlet on Python 2. Previously it would result \ 
in a Unicode string instead of a native string. See issue 218.
Move continuous integration from Travis CI to Github Actions.

1.0a1 (2020-11-20)

Add the ability to set a greenlet's PEP 567 contextvars context directly, by \ 
assigning to the greenlet's gr_context attribute. This restores support for some \ 
patterns of using greenlets atop an async environment that became more \ 
challenging in 0.4.17. Thanks to Joshua Oreman, Mike bayer, and Fantix King, \ 
among others. See PR 198.
The repr of greenlet objects now includes extra information about its state. \ 
This is purely informative and the details are subject to change. See issue 215.
The greenlet module is now a package. There are no API changes, so all existing \ 
imports, including from C code, should continue to work.
(C API) The undocumented GREENLET_VERSION macro that defined a string giving the \ 
greenlet version is now deprecated and will not be updated.
(Documentation) Publish the change log to https://greenlet.readthedocs.io
Supported Platforms

Drop support for Python 2.4, 2.5, 2.6, 3.0, 3.1, 3.2 and 3.4. The project \ 
metadata now includes the python_requires data to help installation tools \ 
understand supported versions.
Add partial support for AIX ppc64 and IBM i. Thanks to Jesse Gorzinski and Kevin \ 
Adler. See PR 197.
Packaging Changes

Require setuptools to build from source.
Stop asking setuptools to build both .tar.gz and .zip sdists. PyPI has \ 
standardized on .tar.gz for all platforms.
Stop using a custom distutils command to build extensions. distutils is deprecated.
Remove the ability to use the deprecated command python setup.py test. Run \ 
greenlet tests with your favorite unittest-compatible test runner, e.g., python \ 
-m unittest discover greenlet.tests. See issue 185.
The directory layout and resulting sdists have changed. See issue 184.
greenlet is now always built with support for tracing and garbage collection, \ 
and, on Python 3.7 and above, support for context variables. The internal and \ 
undocumented C preprocessor macros that could be used to alter that at compile \ 
time have been removed (no combination other than the defaults was ever tested). \ 
This helps define a stable ABI.
   2020-09-29 18:58:02 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-greenlet: updated to 0.4.17

0.4.17
- Support for PEP 567 ContextVars
   2020-07-15 09:40:59 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-greenlet: updated to 0.4.16

0.4.16
- Support for DEC Alpha architecture
- Support for Python 3.9
- Support for Python 3.10a0
   2018-09-24 12:05:02 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-greenlet: updated to 0.4.15

0.4.15
- Support for RISC-V architecture
- Workaround a gcc bug on ppc64
   2018-08-07 10:26:13 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-greenlet: updated to 0.4.14

0.4.14:
- Support for C-SKY architecture
- Fixed support for ppc64 ABI
- Fixed support for Python 3.7
   2018-02-14 15:09:52 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-greenlet: updated to 0.4.13

0.4.13
- Support for Python 3.7
- Support for MinGW x64
   2017-07-11 19:31:16 by Havard Eidnes | Files touched by this commit (3) | Package updated
Log message:
Allow this to build on NetBSD/powerpc as well.
Bump PKGREVISION.
   2017-04-12 13:40:08 by Adam Ciarcinski | Files touched by this commit (2)
Log message:
Changes 0.4.12:
- Stop using trashcan api