Back to Explore

python-greenlet/greenlet

GitHub
3 updates · last 90 days1 watchersOpen source

Last release: 1 week ago

Greenlet is a lightweight in-process concurrent programming library that provides micro-threads called greenlets. It is implemented as a C extension for the regular CPython interpreter, and is useful when you need fine-grained control over exactly when code runs, including building advanced control flow structures like generator-like coroutines.

Project status

  • The python-greenlet/greenlet GitHub source appears actively maintained, with frequent recent updates (most notably tags on 2026-05-20, 2026-04-27, 2026-04-08, and 2026-02-20) and a very recent upstream push on 2026-05-20.
  • Apparent update cadence is fairly regular over the last few months, roughly every few weeks (about 3 to 4 weeks between 3.5.0 and 3.5.1, and about 3 weeks between 3.4.0 and 3.5.0).

AI summary generated 1 week ago

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • 3.5.1

    1 week ago

    Release 3.5.1 appears to focus on interpreter shutdown behavior for greenlet.getcurrent and on preliminary build/test support for Python 3.15. The provided release notes field contains no text, so documented intent cannot be reliably compared against the diff.

    Features
  • 3.5.0

    1 month ago

    Release 3.5.0 changes greenlet shutdown behavior by removing the module-import-time atexit callback and relying only on CPython's Py_IsFinalizing to decide when greenlet APIs are no longer safe. As a result, greenlet.getcurrent and the direct C API PyGreenlet_GetCurrent remain usable longer during shutdown, but C extensions must correctly handle finalization-time NULL/error behavior.

    Breaking
  • 3.4.0

    1 month ago

    Release 3.4.0 contains a substantial internal refactor and additional test coverage, but no release notes were provided. The code diff shows new shutdown-state handling, additional pre-switch validation (notably for free-threaded builds), and some behavior changes around deallocation and critical sections.

    Breaking
  • 3.3.2

    3 months ago

    Release 3.3.2 was published on 2026-02-20, but no release notes were provided. Without documented changes, developers should review the corresponding code diff, changelog, and tags/commits to identify any breaking or behavioral updates before upgrading.

  • 3.2.5

    3 months ago

    Release 3.2.5 introduces a fix for crashes occurring when active greenlets exist during interpreter shutdown. The code changes add Python-finalization guards to avoid switching into greenlets during shutdown on Python versions older than 3.11.

  • 3.3.1

    4 months ago

    Release 3.3.1 primarily focuses on expanding and fixing Windows binary wheel publishing (including Windows ARM where available) and improving compilation compatibility with newer toolchains. It also migrates Windows CI from Appveyor to GitHub Actions and includes a MIPS-specific build fix.

  • 3.3.0

    6 months ago

    Release 3.3.0 has no publisher-provided release notes in the supplied data. The code diff indicates substantial internal changes focused on supporting free-threaded CPython builds (Py_GIL_DISABLED), including GC-related metadata, thread state handling, and module/thread interaction details.

  • 3.2.4

    9 months ago

    Release 3.2.4 is a maintenance update focused on less common CPython build configurations, especially free-threaded builds and debug/JIT interactions on Python 3.14. The published CHANGES.rst mentions build/test adjustments and a fix for a 3.14 debug assertion with the experimental JIT, but the code diff shows additional internal behavioral changes related to allocation and deallocation bookkeeping.

  • 3.2.3

    12 months ago

    Release 3.2.3 primarily updates greenlet’s build support for Python 3.14 beta 2, especially on Windows amd64, and includes a likely fix for NetBSD sparc64 builds. The code changes are mostly build- and compatibility-related, with no public API or type changes apparent in the provided diff.

  • 3.2.2

    5/9/2025

    Release 3.2.2 updates greenlet to build and run against Python 3.14 beta 1. The only user-facing note in the changelog is Python 3.14 beta 1 compatibility, and CI is updated to test that interpreter.

    Features
  • 3.2.1

    4/22/2025

    Release 3.2.1 was published on 2025-04-22, but no release notes were provided in the information available to analyze. As a result, there is no documented guidance here on new features, fixes, breaking changes, security, or migration steps for this version.