./net/py-gevent, Python-gevent a coroutine-based Python networking library

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


Branch: CURRENT, Version: 24.2.1, Package name: py312-gevent-24.2.1, Maintainer: kamel.derouiche

gevent is a coroutine-based Python networking library that uses greenlet
to provide a high-level synchronous API on top of libevent event loop.


Required to run:
[net/libcares] [devel/py-setuptools] [devel/libev] [devel/py-cython] [devel/py-cffi] [devel/py-greenlet] [lang/python37]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 6003.425 KB

Version history: (Expand)


CVS history: (Expand)


   2024-02-22 14:55:49 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-gevent: updated to 24.2.1

24.2.1 (2024-02-14)

Bugfixes
--------

- Add support for Python patch releases 3.11.8 and 3.12.2, which changed
  internal details of threading.

  As a result of these changes, note that it is no longer possible to
  change the ``__class__`` of a ``gevent.threading._DummyThread``
  object on those versions.

  See :issue:`2020`.

Other
-----

Other updates for compatibility with the standard library include:

  - Errors raised from ``subprocess.Popen`` may not have a filename set.
  - ``SSLSocket.recv_into`` and ``SSLSocket.read`` no longer require the
    buffer to implement ``len`` and now work with buffers whose size is
    not 1.
  - gh-108310: Fix CVE-2023-40217: Check for & avoid the ssl pre-close
    flaw.

In addition:

  - Drop ``setuptools`` to a soft test dependency.
  - Drop support for very old versions of CFFI.
  - Update bundled c-ares from 1.19.1 to 1.26.0.
  - Locks created by gevent, but acquired from multiple different
    threads (not recommended), no longer spin to implement timeouts
    and interruptible blocking. Instead, they use the native
    functionality of the Python 3 lock. This may improve some scenarios.
    See :issue:`2013`.
   2024-02-11 21:04:25 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-gevent: updated to 23.9.1

23.9.1 (2023-09-12)
Bugfixes
Require greenlet 3.0 on Python 3.11 and Python 3.12; greenlet 3.0 is recommended \ 
for all platforms. This fixes a number of obscure crashes on all versions of \ 
Python, as well as fixing a fairly common problem on Python 3.11+ that could \ 
manifest as either a crash or as a SystemError.

23.9.0.post1 (2023-09-02)
Fix Windows wheel builds.
Fix macOS wheel builds.

23.9.0 (2023-09-01)
Bugfixes
Make gevent.select.select accept arbitrary iterables, not just sequences. That \ 
is, you can now pass in a generator of file descriptors instead of a realized \ 
list. Internally, arbitrary iterables are copied into lists. This better matches \ 
what the standard library does. Thanks to David Salvisberg.
On Python 3.11 and newer, opt out of Cython’s fast exception manipulation, \ 
which may be causing problems in certain circumstances when combined with \ 
greenlets.
On all versions of Python, adjust some error handling in the default C-based \ 
loop. This fixes several assertion failures on debug versions of CPython. \ 
Hopefully it has a positive impact under real conditions.

Make gevent.pywsgi comply more closely with the HTTP specification for chunked \ 
transfer encoding. In particular, we are much stricter about trailers, and \ 
trailers that are invalid (too long or featuring disallowed characters) forcibly \ 
close the connection to the client after the results have been sent.
   2023-07-21 12:00:47 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-gevent: updated to 23.7.0

23.7.0 (2023-07-11)
===================

Features
--------

- Add preliminary support for Python 3.12, using greenlet 3.0a1. This
  is somewhat tricky to build from source at this time, and there is
  one known issue: On Python 3.12b3, dumping tracebacks of greenlets
  is not available.
  :issue:`1969`.
- Update the bundled c-ares version to 1.19.1.
  See :issue:`1947`.

Bugfixes
--------

- Fix an edge case connecting a non-blocking ``SSLSocket`` that could result
  in an AttributeError. In a change to match the standard library,
  calling ``sock.connect_ex()`` on a subclass of ``socket`` no longer
  calls the subclass's ``connect`` method.

  Initial fix by Priyankar Jain.
  See :issue:`1932`.
- Make gevent's ``FileObjectThread`` (mostly used on Windows) implement
  ``readinto`` cooperatively. PR by Kirill Smelkov.
  See :issue:`1948`.
- Work around an ``AttributeError`` during cyclic garbage collection
  when Python finalizers (``__del__`` and the like) attempt to use
  gevent APIs. This is not a recommended practice, and it is unclear if
  catching this ``AttributeError`` will fix any problems or just shift
  them. (If we could determine the root situation that results in this
  cycle, we might be able to solve it.)
  See :issue:`1961`.

Deprecations and Removals
-------------------------

- Remove support for obsolete Python versions. This is everything prior
  to 3.8.

  Related changes include:

  - Stop using ``pkg_resources`` to find entry points (plugins).
    Instead, use ``importlib.metadata``.
  - Honor ``sys.unraisablehook`` when a callback function produces an
    exception, and handling the exception in the hub *also* produces an
    exception. In older versions, these would be simply printed.
  - ``setup.py`` no longer includes the ``setup_requires`` keyword.
    Installation with a tool that understands ``pyproject.toml`` is
    recommended.
  - The bundled tblib has been updated to version 2.0.
   2023-06-18 07:26:02 by Adam Ciarcinski | Files touched by this commit (7)
Log message:
py-ZopeEvent: moved to py-zope.event
   2022-11-23 06:56:53 by Adam Ciarcinski | Files touched by this commit (1)
Log message:
py-gevent: not for Python 2.7 anymore
   2022-11-21 12:30:23 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-gevent: updated to 22.10.2

22.10.2 (2022-10-31)
====================

Bugfixes
--------

- Update to greenlet 2.0. This fixes a deallocation issue that required
  a change in greenlet's ABI. The design of greenlet 2.0 is intended to
  prevent future fixes and enhancements from requiring an ABI change,
  making it easier to update gevent and greenlet independently.

  .. caution::

     greenlet 2.0 requires a modern-ish C++ compiler. This may mean
     certain older platforms are no longer supported.
     See :issue:`1909`.
   2022-10-23 17:48:33 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-gevent: updated to 22.10.1

22.10.1 (2022-10-14)
====================

Features
--------
- Update bundled libuv to 1.44.2.

22.08.0 (2022-10-08)
====================

Features
--------
- Windows: Test and provide binary wheels for PyPy3.7.
  Note that there may be issues with subprocesses, signals, and it may
  be slow.
- Upgrade embedded c-ares to 1.18.1.
- Upgrade bundled libuv to 1.42.0 from 1.40.0.
- Added preliminary support for Python 3.11 (rc2 and later).

  Some platforms may or may not have binary wheels at this time.

  .. important:: Support for legacy versions of Python, including 2.7
                 and 3.6, will be ending soon. The
                 maintenance burden has become too great and the
                 maintainer's time is too limited.

                 Ideally, there will be a release of gevent compatible
                 with a final release of greenlet 2.0 that still
                 supports those legacy versions, but that may not be
                 possible; this may be the final release to support them.

  :class:`gevent.threadpool.ThreadPool` can now optionally expire idle
  threads. This is used by default in the implicit thread pool used for
  DNS requests and other user-submitted tasks; other uses of a
  thread-pool need to opt-in to this.

Bugfixes
--------
- Truly disable the effects of compiling with ``-ffast-math``.
   2022-01-04 21:55:40 by Thomas Klausner | Files touched by this commit (1595)
Log message:
*: bump PKGREVISION for egg.mk users

They now have a tool dependency on py-setuptools instead of a DEPENDS