{
  "result": {
    "3.2.4+ppc64le1": {
      "name": "greenlet",
      "version": "3.2.4+ppc64le1",
      "metadata_version": "2.4",
      "summary": "Lightweight in-process concurrent programming",
      "home_page": "https://greenlet.readthedocs.io/",
      "author": "Alexey Borzenkov",
      "author_email": "snaury@gmail.com",
      "maintainer": "Jason Madden",
      "maintainer_email": "jason@seecoresoftware.com",
      "license": "MIT AND Python-2.0",
      "description": ".. This file is included into docs/history.rst\n\n\nGreenlets are lightweight coroutines for in-process concurrent\nprogramming.\n\nThe \"greenlet\" package is a spin-off of `Stackless`_, a version of\nCPython that supports micro-threads called \"tasklets\". Tasklets run\npseudo-concurrently (typically in a single or a few OS-level threads)\nand are synchronized with data exchanges on \"channels\".\n\nA \"greenlet\", on the other hand, is a still more primitive notion of\nmicro-thread with no implicit scheduling; coroutines, in other words.\nThis is useful when you want to control exactly when your code runs.\nYou can build custom scheduled micro-threads on top of greenlet;\nhowever, it seems that greenlets are useful on their own as a way to\nmake advanced control flow structures. For example, we can recreate\ngenerators; the difference with Python's own generators is that our\ngenerators can call nested functions and the nested functions can\nyield values too. (Additionally, you don't need a \"yield\" keyword. See\nthe example in `test_generator.py\n<https://github.com/python-greenlet/greenlet/blob/adca19bf1f287b3395896a8f41f3f4fd1797fdc7/src/greenlet/tests/test_generator.py#L1>`_).\n\nGreenlets are provided as a C extension module for the regular unmodified\ninterpreter.\n\n.. _`Stackless`: http://www.stackless.com\n\n\nWho is using Greenlet?\n======================\n\nThere are several libraries that use Greenlet as a more flexible\nalternative to Python's built in coroutine support:\n\n - `Concurrence`_\n - `Eventlet`_\n - `Gevent`_\n\n.. _Concurrence: http://opensource.hyves.org/concurrence/\n.. _Eventlet: http://eventlet.net/\n.. _Gevent: http://www.gevent.org/\n\nGetting Greenlet\n================\n\nThe easiest way to get Greenlet is to install it with pip::\n\n  pip install greenlet\n\n\nSource code archives and binary distributions are available on the\npython package index at https://pypi.org/project/greenlet\n\nThe source code repository is hosted on github:\nhttps://github.com/python-greenlet/greenlet\n\nDocumentation is available on readthedocs.org:\nhttps://greenlet.readthedocs.io\n",
      "keywords": "greenlet coroutine concurrency threads cooperative",
      "platform": [],
      "classifiers": [
        "Development Status :: 5 - Production/Stable",
        "Intended Audience :: Developers",
        "Natural Language :: English",
        "Programming Language :: C",
        "Programming Language :: Python",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3 :: Only",
        "Programming Language :: Python :: 3.9",
        "Programming Language :: Python :: 3.10",
        "Programming Language :: Python :: 3.11",
        "Programming Language :: Python :: 3.12",
        "Programming Language :: Python :: 3.13",
        "Operating System :: OS Independent",
        "Topic :: Software Development :: Libraries :: Python Modules",
        "Environment :: MetaData :: IBM Python Ecosystem"
      ],
      "download_url": "",
      "supported_platform": [],
      "comment": "",
      "provides": [],
      "requires": [],
      "obsoletes": [],
      "project_urls": [
        "Bug Tracker, https://github.com/python-greenlet/greenlet/issues",
        "Source Code, https://github.com/python-greenlet/greenlet/",
        "Documentation, https://greenlet.readthedocs.io/",
        "Changes, https://greenlet.readthedocs.io/en/latest/changes.html"
      ],
      "provides_dist": [],
      "obsoletes_dist": [],
      "requires_dist": [
        "Sphinx; extra == \"docs\"",
        "furo; extra == \"docs\"",
        "objgraph; extra == \"test\"",
        "psutil; extra == \"test\"",
        "setuptools; extra == \"test\""
      ],
      "requires_external": [],
      "requires_python": ">=3.9",
      "description_content_type": "text/x-rst",
      "provides_extras": "test",
      "dynamic": "summary",
      "license_expression": "",
      "license_file": "LICENSE.PSF",
      "+links": [
        {
          "rel": "releasefile",
          "hash_spec": "sha256=d52b796781d60e90ab4dee85252fa04f00f50a87447acbee59ef53ea1f57175b",
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/d52/b796781d60e90/greenlet-3.2.4+ppc64le1-cp310-cp310-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                3,
                16,
                9,
                13,
                39
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=10daa5dc84205734d2ac941437a56bc1e580a34163aef4dd5d6193d4c8aa99b1",
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/10d/aa5dc84205734/greenlet-3.2.4+ppc64le1-cp311-cp311-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                3,
                16,
                9,
                13,
                40
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=686570f71d1b4bed10182c9bd18803e336d28c2f120dbbbd9afc9d327621f030",
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/686/570f71d1b4bed/greenlet-3.2.4+ppc64le1-cp312-cp312-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                3,
                16,
                9,
                13,
                40
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=0ba594664f7368fd31e88b068b29f053748fccd315f45f9933c229bcb8bdf6a5",
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/0ba/594664f7368fd/greenlet-3.2.4+ppc64le1-cp313-cp313-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                3,
                16,
                9,
                13,
                42
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=9b82302063cbff02f063f366ecc34f50aa73ddcd76a743c994f451ecbb95aee7",
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/9b8/2302063cbff02/greenlet-3.2.4+ppc64le1-cp39-cp39-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                3,
                16,
                9,
                13,
                42
              ],
              "dst": "ppc64le/linux"
            }
          ]
        }
      ]
    },
    "2.0.1+ppc64le1": {
      "name": "greenlet",
      "version": "2.0.1+ppc64le1",
      "metadata_version": "2.4",
      "summary": "Lightweight in-process concurrent programming",
      "home_page": "https://greenlet.readthedocs.io/",
      "author": "Alexey Borzenkov",
      "author_email": "snaury@gmail.com",
      "maintainer": "Jason Madden",
      "maintainer_email": "jason@seecoresoftware.com",
      "license": "MIT License",
      "description": ".. This file is included into docs/history.rst\n\n.. image:: https://github.com/python-greenlet/greenlet/workflows/tests/badge.svg\n   :target: https://github.com/python-greenlet/greenlet/actions\n\nGreenlets are lightweight coroutines for in-process concurrent\nprogramming.\n\nThe \"greenlet\" package is a spin-off of `Stackless`_, a version of\nCPython that supports micro-threads called \"tasklets\". Tasklets run\npseudo-concurrently (typically in a single or a few OS-level threads)\nand are synchronized with data exchanges on \"channels\".\n\nA \"greenlet\", on the other hand, is a still more primitive notion of\nmicro-thread with no implicit scheduling; coroutines, in other words.\nThis is useful when you want to control exactly when your code runs.\nYou can build custom scheduled micro-threads on top of greenlet;\nhowever, it seems that greenlets are useful on their own as a way to\nmake advanced control flow structures. For example, we can recreate\ngenerators; the difference with Python's own generators is that our\ngenerators can call nested functions and the nested functions can\nyield values too. (Additionally, you don't need a \"yield\" keyword. See\nthe example in `test_generator.py\n<https://github.com/python-greenlet/greenlet/blob/adca19bf1f287b3395896a8f41f3f4fd1797fdc7/src/greenlet/tests/test_generator.py#L1>`_).\n\nGreenlets are provided as a C extension module for the regular unmodified\ninterpreter.\n\n.. _`Stackless`: http://www.stackless.com\n\n\nWho is using Greenlet?\n======================\n\nThere are several libraries that use Greenlet as a more flexible\nalternative to Python's built in coroutine support:\n\n - `Concurrence`_\n - `Eventlet`_\n - `Gevent`_\n\n.. _Concurrence: http://opensource.hyves.org/concurrence/\n.. _Eventlet: http://eventlet.net/\n.. _Gevent: http://www.gevent.org/\n\nGetting Greenlet\n================\n\nThe easiest way to get Greenlet is to install it with pip::\n\n  pip install greenlet\n\n\nSource code archives and binary distributions are available on the\npython package index at https://pypi.org/project/greenlet\n\nThe source code repository is hosted on github:\nhttps://github.com/python-greenlet/greenlet\n\nDocumentation is available on readthedocs.org:\nhttps://greenlet.readthedocs.io\n",
      "keywords": "greenlet coroutine concurrency threads cooperative",
      "platform": [],
      "classifiers": [
        "Development Status :: 5 - Production/Stable",
        "Intended Audience :: Developers",
        "License :: OSI Approved :: MIT License",
        "Natural Language :: English",
        "Programming Language :: C",
        "Programming Language :: Python",
        "Programming Language :: Python :: 2",
        "Programming Language :: Python :: 2.7",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3.5",
        "Programming Language :: Python :: 3.6",
        "Programming Language :: Python :: 3.7",
        "Programming Language :: Python :: 3.8",
        "Programming Language :: Python :: 3.9",
        "Programming Language :: Python :: 3.10",
        "Programming Language :: Python :: 3.11",
        "Operating System :: OS Independent",
        "Topic :: Software Development :: Libraries :: Python Modules",
        "Environment :: MetaData :: IBM Python Ecosystem"
      ],
      "download_url": "",
      "supported_platform": [],
      "comment": "",
      "provides": [],
      "requires": [],
      "obsoletes": [],
      "project_urls": [
        "Bug Tracker, https://github.com/python-greenlet/greenlet/issues",
        "Source Code, https://github.com/python-greenlet/greenlet/",
        "Documentation, https://greenlet.readthedocs.io/"
      ],
      "provides_dist": [],
      "obsoletes_dist": [],
      "requires_dist": [
        "Sphinx; extra == \"docs\"",
        "docutils<0.18; python_version < \"3\" and extra == \"docs\"",
        "objgraph; extra == \"test\"",
        "faulthandler; (python_version == \"2.7\" and platform_python_implementation == \"CPython\") and extra == \"test\"",
        "psutil; extra == \"test\""
      ],
      "requires_external": [],
      "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*",
      "description_content_type": "text/x-rst",
      "provides_extras": "test",
      "dynamic": "summary",
      "license_expression": "",
      "license_file": "AUTHORS",
      "+links": [
        {
          "rel": "releasefile",
          "hash_spec": "sha256=bb777bf0dc05be37f5ff7b1ccdbea90f6993c065f40512be398ad8c8260e82a4",
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/bb7/77bf0dc05be37/greenlet-2.0.1+ppc64le1-cp310-cp310-manylinux_2_34_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                3,
                16,
                9,
                13,
                34
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=ad6c7c1c2f5fee3df460a8baa7601b0d81c0a32959f9a922ca154f0183d202dd",
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/ad6/c7c1c2f5fee3d/greenlet-2.0.1+ppc64le1-cp311-cp311-manylinux_2_34_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                3,
                16,
                9,
                13,
                34
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=fb12e95d0bca3b34fbe69f351586d429184b71bca7b6a7566266da3c6123dea4",
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/fb1/2e95d0bca3b34/greenlet-2.0.1+ppc64le1-cp39-cp39-manylinux_2_34_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                3,
                16,
                9,
                13,
                35
              ],
              "dst": "ppc64le/linux"
            }
          ]
        }
      ]
    },
    "3.0.3+ppc64le1": {
      "name": "greenlet",
      "version": "3.0.3+ppc64le1",
      "metadata_version": "2.4",
      "summary": "Lightweight in-process concurrent programming",
      "home_page": "https://greenlet.readthedocs.io/",
      "author": "Alexey Borzenkov",
      "author_email": "snaury@gmail.com",
      "maintainer": "Jason Madden",
      "maintainer_email": "jason@seecoresoftware.com",
      "license": "MIT License",
      "description": ".. This file is included into docs/history.rst\n\n\nGreenlets are lightweight coroutines for in-process concurrent\nprogramming.\n\nThe \"greenlet\" package is a spin-off of `Stackless`_, a version of\nCPython that supports micro-threads called \"tasklets\". Tasklets run\npseudo-concurrently (typically in a single or a few OS-level threads)\nand are synchronized with data exchanges on \"channels\".\n\nA \"greenlet\", on the other hand, is a still more primitive notion of\nmicro-thread with no implicit scheduling; coroutines, in other words.\nThis is useful when you want to control exactly when your code runs.\nYou can build custom scheduled micro-threads on top of greenlet;\nhowever, it seems that greenlets are useful on their own as a way to\nmake advanced control flow structures. For example, we can recreate\ngenerators; the difference with Python's own generators is that our\ngenerators can call nested functions and the nested functions can\nyield values too. (Additionally, you don't need a \"yield\" keyword. See\nthe example in `test_generator.py\n<https://github.com/python-greenlet/greenlet/blob/adca19bf1f287b3395896a8f41f3f4fd1797fdc7/src/greenlet/tests/test_generator.py#L1>`_).\n\nGreenlets are provided as a C extension module for the regular unmodified\ninterpreter.\n\n.. _`Stackless`: http://www.stackless.com\n\n\nWho is using Greenlet?\n======================\n\nThere are several libraries that use Greenlet as a more flexible\nalternative to Python's built in coroutine support:\n\n - `Concurrence`_\n - `Eventlet`_\n - `Gevent`_\n\n.. _Concurrence: http://opensource.hyves.org/concurrence/\n.. _Eventlet: http://eventlet.net/\n.. _Gevent: http://www.gevent.org/\n\nGetting Greenlet\n================\n\nThe easiest way to get Greenlet is to install it with pip::\n\n  pip install greenlet\n\n\nSource code archives and binary distributions are available on the\npython package index at https://pypi.org/project/greenlet\n\nThe source code repository is hosted on github:\nhttps://github.com/python-greenlet/greenlet\n\nDocumentation is available on readthedocs.org:\nhttps://greenlet.readthedocs.io\n",
      "keywords": "greenlet coroutine concurrency threads cooperative",
      "platform": [],
      "classifiers": [
        "Development Status :: 5 - Production/Stable",
        "Intended Audience :: Developers",
        "License :: OSI Approved :: MIT License",
        "Natural Language :: English",
        "Programming Language :: C",
        "Programming Language :: Python",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3 :: Only",
        "Programming Language :: Python :: 3.7",
        "Programming Language :: Python :: 3.8",
        "Programming Language :: Python :: 3.9",
        "Programming Language :: Python :: 3.10",
        "Programming Language :: Python :: 3.11",
        "Programming Language :: Python :: 3.12",
        "Operating System :: OS Independent",
        "Topic :: Software Development :: Libraries :: Python Modules",
        "Environment :: MetaData :: IBM Python Ecosystem"
      ],
      "download_url": "",
      "supported_platform": [],
      "comment": "",
      "provides": [],
      "requires": [],
      "obsoletes": [],
      "project_urls": [
        "Bug Tracker, https://github.com/python-greenlet/greenlet/issues",
        "Source Code, https://github.com/python-greenlet/greenlet/",
        "Documentation, https://greenlet.readthedocs.io/"
      ],
      "provides_dist": [],
      "obsoletes_dist": [],
      "requires_dist": [
        "Sphinx; extra == \"docs\"",
        "furo; extra == \"docs\"",
        "objgraph; extra == \"test\"",
        "psutil; extra == \"test\""
      ],
      "requires_external": [],
      "requires_python": ">=3.7",
      "description_content_type": "text/x-rst",
      "provides_extras": [
        "docs",
        "test"
      ],
      "dynamic": [
        "author",
        "author-email",
        "classifier",
        "description",
        "description-content-type",
        "home-page",
        "keywords",
        "license",
        "license-file",
        "maintainer",
        "maintainer-email",
        "platform",
        "project-url",
        "provides-extra",
        "requires-python",
        "summary"
      ],
      "license_expression": "",
      "license_file": [
        "LICENSE",
        "LICENSE.PSF",
        "AUTHORS"
      ],
      "+links": [
        {
          "rel": "releasefile",
          "hash_spec": "sha256=05d03b22db17e27eae8299224eb2e2b57108e4bcc0b2c6101bf2ef3f817596df",
          "hashes": {
            "sha256": "05d03b22db17e27eae8299224eb2e2b57108e4bcc0b2c6101bf2ef3f817596df"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/05d/03b22db17e27e/greenlet-3.0.3+ppc64le1-cp310-cp310-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                5,
                11,
                11,
                39,
                32
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=b9f7e0644cf8bc759233c20a66ecc5d4813d86b4e3770b7ab2441db6b02a3602",
          "hashes": {
            "sha256": "b9f7e0644cf8bc759233c20a66ecc5d4813d86b4e3770b7ab2441db6b02a3602"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/b9f/7e0644cf8bc75/greenlet-3.0.3+ppc64le1-cp311-cp311-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                5,
                11,
                11,
                39,
                32
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=1a8cd17e001d043ec8b28582a4f92b0234dec797e9d3dbfff97674417bc2ce04",
          "hashes": {
            "sha256": "1a8cd17e001d043ec8b28582a4f92b0234dec797e9d3dbfff97674417bc2ce04"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/1a8/cd17e001d043e/greenlet-3.0.3+ppc64le1-cp312-cp312-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                5,
                11,
                11,
                39,
                33
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=46eb63acf6351cfb49b25cb51ef286408fee3767b21309c545786f4e774bebc0",
          "hashes": {
            "sha256": "46eb63acf6351cfb49b25cb51ef286408fee3767b21309c545786f4e774bebc0"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/46e/b63acf6351cfb/greenlet-3.0.3+ppc64le1-cp39-cp39-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                5,
                11,
                11,
                39,
                33
              ],
              "dst": "ppc64le/linux"
            }
          ]
        }
      ]
    },
    "3.2.4": {
      "name": "greenlet",
      "version": "3.2.4",
      "metadata_version": "2.4",
      "summary": "Lightweight in-process concurrent programming",
      "home_page": "https://greenlet.readthedocs.io/",
      "author": "Alexey Borzenkov",
      "author_email": "snaury@gmail.com",
      "maintainer": "Jason Madden",
      "maintainer_email": "jason@seecoresoftware.com",
      "license": "MIT AND Python-2.0",
      "description": ".. This file is included into docs/history.rst\n\n\nGreenlets are lightweight coroutines for in-process concurrent\nprogramming.\n\nThe \"greenlet\" package is a spin-off of `Stackless`_, a version of\nCPython that supports micro-threads called \"tasklets\". Tasklets run\npseudo-concurrently (typically in a single or a few OS-level threads)\nand are synchronized with data exchanges on \"channels\".\n\nA \"greenlet\", on the other hand, is a still more primitive notion of\nmicro-thread with no implicit scheduling; coroutines, in other words.\nThis is useful when you want to control exactly when your code runs.\nYou can build custom scheduled micro-threads on top of greenlet;\nhowever, it seems that greenlets are useful on their own as a way to\nmake advanced control flow structures. For example, we can recreate\ngenerators; the difference with Python's own generators is that our\ngenerators can call nested functions and the nested functions can\nyield values too. (Additionally, you don't need a \"yield\" keyword. See\nthe example in `test_generator.py\n<https://github.com/python-greenlet/greenlet/blob/adca19bf1f287b3395896a8f41f3f4fd1797fdc7/src/greenlet/tests/test_generator.py#L1>`_).\n\nGreenlets are provided as a C extension module for the regular unmodified\ninterpreter.\n\n.. _`Stackless`: http://www.stackless.com\n\n\nWho is using Greenlet?\n======================\n\nThere are several libraries that use Greenlet as a more flexible\nalternative to Python's built in coroutine support:\n\n - `Concurrence`_\n - `Eventlet`_\n - `Gevent`_\n\n.. _Concurrence: http://opensource.hyves.org/concurrence/\n.. _Eventlet: http://eventlet.net/\n.. _Gevent: http://www.gevent.org/\n\nGetting Greenlet\n================\n\nThe easiest way to get Greenlet is to install it with pip::\n\n  pip install greenlet\n\n\nSource code archives and binary distributions are available on the\npython package index at https://pypi.org/project/greenlet\n\nThe source code repository is hosted on github:\nhttps://github.com/python-greenlet/greenlet\n\nDocumentation is available on readthedocs.org:\nhttps://greenlet.readthedocs.io\n",
      "keywords": "greenlet coroutine concurrency threads cooperative",
      "platform": [],
      "classifiers": [
        "Development Status :: 5 - Production/Stable",
        "Intended Audience :: Developers",
        "Natural Language :: English",
        "Programming Language :: C",
        "Programming Language :: Python",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3 :: Only",
        "Programming Language :: Python :: 3.9",
        "Programming Language :: Python :: 3.10",
        "Programming Language :: Python :: 3.11",
        "Programming Language :: Python :: 3.12",
        "Programming Language :: Python :: 3.13",
        "Operating System :: OS Independent",
        "Topic :: Software Development :: Libraries :: Python Modules",
        "Environment :: MetaData :: IBM Python Ecosystem"
      ],
      "download_url": "",
      "supported_platform": [],
      "comment": "",
      "provides": [],
      "requires": [],
      "obsoletes": [],
      "project_urls": [
        "Bug Tracker, https://github.com/python-greenlet/greenlet/issues",
        "Source Code, https://github.com/python-greenlet/greenlet/",
        "Documentation, https://greenlet.readthedocs.io/",
        "Changes, https://greenlet.readthedocs.io/en/latest/changes.html"
      ],
      "provides_dist": [],
      "obsoletes_dist": [],
      "requires_dist": [
        "Sphinx; extra == \"docs\"",
        "furo; extra == \"docs\"",
        "objgraph; extra == \"test\"",
        "psutil; extra == \"test\"",
        "setuptools; extra == \"test\""
      ],
      "requires_external": [],
      "requires_python": ">=3.9",
      "description_content_type": "text/x-rst",
      "provides_extras": [
        "docs",
        "test"
      ],
      "dynamic": [
        "author",
        "author-email",
        "classifier",
        "description",
        "description-content-type",
        "home-page",
        "keywords",
        "license",
        "license-file",
        "maintainer",
        "maintainer-email",
        "platform",
        "project-url",
        "provides-extra",
        "requires-python",
        "summary"
      ],
      "license_expression": "",
      "license_file": [
        "LICENSE",
        "LICENSE.PSF"
      ],
      "+links": [
        {
          "rel": "releasefile",
          "hash_spec": "sha256=ee7b96c252e554cd589f6b2772cb15b7d93475524abbb797b83d4a272ae352e2",
          "hashes": {
            "sha256": "ee7b96c252e554cd589f6b2772cb15b7d93475524abbb797b83d4a272ae352e2"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/ee7/b96c252e554cd/greenlet-3.2.4-cp310-cp310-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                42
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=27f298d13b0bddddaee172b56ea082384a702ac639810f2d04d1219e6905db09",
          "hashes": {
            "sha256": "27f298d13b0bddddaee172b56ea082384a702ac639810f2d04d1219e6905db09"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/27f/298d13b0bdddd/greenlet-3.2.4-cp311-cp311-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                43
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=03a2653711605a7af4646bbe16c3dbaa17152eb77b81405cf0c7bf243fc054f1",
          "hashes": {
            "sha256": "03a2653711605a7af4646bbe16c3dbaa17152eb77b81405cf0c7bf243fc054f1"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/03a/2653711605a7a/greenlet-3.2.4-cp312-cp312-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                43
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=31a642caf04ce211daf84b42322589fa7f9594b92253a2615737001e75116473",
          "hashes": {
            "sha256": "31a642caf04ce211daf84b42322589fa7f9594b92253a2615737001e75116473"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/31a/642caf04ce211/greenlet-3.2.4-cp313-cp313-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                44
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=326ac3c0de02ca26fa1960eef302f0499d02c21b6e1bc4fb3083d991f27e640e",
          "hashes": {
            "sha256": "326ac3c0de02ca26fa1960eef302f0499d02c21b6e1bc4fb3083d991f27e640e"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/326/ac3c0de02ca26/greenlet-3.2.4-cp39-cp39-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                44
              ],
              "dst": "ppc64le/linux"
            }
          ]
        }
      ]
    },
    "3.0.3": {
      "name": "greenlet",
      "version": "3.0.3",
      "metadata_version": "2.4",
      "summary": "Lightweight in-process concurrent programming",
      "home_page": "https://greenlet.readthedocs.io/",
      "author": "Alexey Borzenkov",
      "author_email": "snaury@gmail.com",
      "maintainer": "Jason Madden",
      "maintainer_email": "jason@seecoresoftware.com",
      "license": "MIT License",
      "description": ".. This file is included into docs/history.rst\n\n\nGreenlets are lightweight coroutines for in-process concurrent\nprogramming.\n\nThe \"greenlet\" package is a spin-off of `Stackless`_, a version of\nCPython that supports micro-threads called \"tasklets\". Tasklets run\npseudo-concurrently (typically in a single or a few OS-level threads)\nand are synchronized with data exchanges on \"channels\".\n\nA \"greenlet\", on the other hand, is a still more primitive notion of\nmicro-thread with no implicit scheduling; coroutines, in other words.\nThis is useful when you want to control exactly when your code runs.\nYou can build custom scheduled micro-threads on top of greenlet;\nhowever, it seems that greenlets are useful on their own as a way to\nmake advanced control flow structures. For example, we can recreate\ngenerators; the difference with Python's own generators is that our\ngenerators can call nested functions and the nested functions can\nyield values too. (Additionally, you don't need a \"yield\" keyword. See\nthe example in `test_generator.py\n<https://github.com/python-greenlet/greenlet/blob/adca19bf1f287b3395896a8f41f3f4fd1797fdc7/src/greenlet/tests/test_generator.py#L1>`_).\n\nGreenlets are provided as a C extension module for the regular unmodified\ninterpreter.\n\n.. _`Stackless`: http://www.stackless.com\n\n\nWho is using Greenlet?\n======================\n\nThere are several libraries that use Greenlet as a more flexible\nalternative to Python's built in coroutine support:\n\n - `Concurrence`_\n - `Eventlet`_\n - `Gevent`_\n\n.. _Concurrence: http://opensource.hyves.org/concurrence/\n.. _Eventlet: http://eventlet.net/\n.. _Gevent: http://www.gevent.org/\n\nGetting Greenlet\n================\n\nThe easiest way to get Greenlet is to install it with pip::\n\n  pip install greenlet\n\n\nSource code archives and binary distributions are available on the\npython package index at https://pypi.org/project/greenlet\n\nThe source code repository is hosted on github:\nhttps://github.com/python-greenlet/greenlet\n\nDocumentation is available on readthedocs.org:\nhttps://greenlet.readthedocs.io\n",
      "keywords": "greenlet coroutine concurrency threads cooperative",
      "platform": [],
      "classifiers": [
        "Development Status :: 5 - Production/Stable",
        "Intended Audience :: Developers",
        "License :: OSI Approved :: MIT License",
        "Natural Language :: English",
        "Programming Language :: C",
        "Programming Language :: Python",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3 :: Only",
        "Programming Language :: Python :: 3.7",
        "Programming Language :: Python :: 3.8",
        "Programming Language :: Python :: 3.9",
        "Programming Language :: Python :: 3.10",
        "Programming Language :: Python :: 3.11",
        "Programming Language :: Python :: 3.12",
        "Operating System :: OS Independent",
        "Topic :: Software Development :: Libraries :: Python Modules",
        "Environment :: MetaData :: IBM Python Ecosystem"
      ],
      "download_url": "",
      "supported_platform": [],
      "comment": "",
      "provides": [],
      "requires": [],
      "obsoletes": [],
      "project_urls": [
        "Bug Tracker, https://github.com/python-greenlet/greenlet/issues",
        "Source Code, https://github.com/python-greenlet/greenlet/",
        "Documentation, https://greenlet.readthedocs.io/"
      ],
      "provides_dist": [],
      "obsoletes_dist": [],
      "requires_dist": [
        "Sphinx; extra == \"docs\"",
        "furo; extra == \"docs\"",
        "objgraph; extra == \"test\"",
        "psutil; extra == \"test\""
      ],
      "requires_external": [],
      "requires_python": ">=3.7",
      "description_content_type": "text/x-rst",
      "provides_extras": [
        "docs",
        "test"
      ],
      "dynamic": [
        "author",
        "author-email",
        "classifier",
        "description",
        "description-content-type",
        "home-page",
        "keywords",
        "license",
        "license-file",
        "maintainer",
        "maintainer-email",
        "platform",
        "project-url",
        "provides-extra",
        "requires-python",
        "summary"
      ],
      "license_expression": "",
      "license_file": [
        "LICENSE",
        "LICENSE.PSF",
        "AUTHORS"
      ],
      "+links": [
        {
          "rel": "releasefile",
          "hash_spec": "sha256=eca3c75a3de9b959c3660cf21abf8439af5a01d26a845ac03aba0b9cc9751c10",
          "hashes": {
            "sha256": "eca3c75a3de9b959c3660cf21abf8439af5a01d26a845ac03aba0b9cc9751c10"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/eca/3c75a3de9b959/greenlet-3.0.3-cp310-cp310-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                38
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=da6f77cf946018e4f9aa52a7db06ab9baeb1994b24c96e4bdb8fbce963e6f912",
          "hashes": {
            "sha256": "da6f77cf946018e4f9aa52a7db06ab9baeb1994b24c96e4bdb8fbce963e6f912"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/da6/f77cf946018e4/greenlet-3.0.3-cp311-cp311-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                38
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=850801da91d4ee06b855a0efd440e8e8aa61128b0c2a25c6235e01eedf0d9047",
          "hashes": {
            "sha256": "850801da91d4ee06b855a0efd440e8e8aa61128b0c2a25c6235e01eedf0d9047"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/850/801da91d4ee06/greenlet-3.0.3-cp312-cp312-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                39
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=e3cf2f82417ac493a1d59136faa68bb6e6b82b9bf5041d62393e43fb5426bb6a",
          "hashes": {
            "sha256": "e3cf2f82417ac493a1d59136faa68bb6e6b82b9bf5041d62393e43fb5426bb6a"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/e3c/f2f82417ac493/greenlet-3.0.3-cp39-cp39-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                40
              ],
              "dst": "ppc64le/linux"
            }
          ]
        }
      ]
    },
    "3.5.0": {
      "name": "greenlet",
      "version": "3.5.0",
      "metadata_version": "2.4",
      "summary": "Lightweight in-process concurrent programming",
      "home_page": "",
      "author": "",
      "author_email": "Alexey Borzenkov <snaury@gmail.com>",
      "maintainer": "",
      "maintainer_email": "Jason Madden <jason@seecoresoftware.com>",
      "license": "",
      "description": ".. This file is included into docs/history.rst\n\n\nGreenlets are lightweight coroutines for in-process concurrent\nprogramming.\n\nThe \"greenlet\" package is a spin-off of `Stackless`_, a version of\nCPython that supports micro-threads called \"tasklets\". Tasklets run\npseudo-concurrently (typically in a single or a few OS-level threads)\nand are synchronized with data exchanges on \"channels\".\n\nA \"greenlet\", on the other hand, is a still more primitive notion of\nmicro-thread with no implicit scheduling; coroutines, in other words.\nThis is useful when you want to control exactly when your code runs.\nYou can build custom scheduled micro-threads on top of greenlet;\nhowever, it seems that greenlets are useful on their own as a way to\nmake advanced control flow structures. For example, we can recreate\ngenerators; the difference with Python's own generators is that our\ngenerators can call nested functions and the nested functions can\nyield values too. (Additionally, you don't need a \"yield\" keyword. See\nthe example in `test_generator.py\n<https://github.com/python-greenlet/greenlet/blob/adca19bf1f287b3395896a8f41f3f4fd1797fdc7/src/greenlet/tests/test_generator.py#L1>`_).\n\nGreenlets are provided as a C extension module for the regular unmodified\ninterpreter.\n\n.. _`Stackless`: http://www.stackless.com\n\n\nWho is using Greenlet?\n======================\n\nThere are several libraries that use Greenlet as a more flexible\nalternative to Python's built in coroutine support:\n\n - `Concurrence`_\n - `Eventlet`_\n - `Gevent`_\n\n.. _Concurrence: http://opensource.hyves.org/concurrence/\n.. _Eventlet: http://eventlet.net/\n.. _Gevent: http://www.gevent.org/\n\nGetting Greenlet\n================\n\nThe easiest way to get Greenlet is to install it with pip::\n\n  pip install greenlet\n\n\nSource code archives and binary distributions are available on the\npython package index at https://pypi.org/project/greenlet\n\nThe source code repository is hosted on github:\nhttps://github.com/python-greenlet/greenlet\n\nDocumentation is available on readthedocs.org:\nhttps://greenlet.readthedocs.io\n",
      "keywords": "greenlet,coroutine,concurrency,threads,cooperative",
      "platform": [],
      "classifiers": [
        "Development Status :: 5 - Production/Stable",
        "Intended Audience :: Developers",
        "Natural Language :: English",
        "Programming Language :: C",
        "Programming Language :: Python",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3.10",
        "Programming Language :: Python :: 3.11",
        "Programming Language :: Python :: 3.12",
        "Programming Language :: Python :: 3.13",
        "Programming Language :: Python :: 3.14",
        "Operating System :: OS Independent",
        "Topic :: Software Development :: Libraries :: Python Modules",
        "Environment :: MetaData :: IBM Python Ecosystem"
      ],
      "download_url": "",
      "supported_platform": [],
      "comment": "",
      "provides": [],
      "requires": [],
      "obsoletes": [],
      "project_urls": [
        "Homepage, https://greenlet.readthedocs.io",
        "Documentation, https://greenlet.readthedocs.io",
        "Repository, https://github.com/python-greenlet/greenlet",
        "Issues, https://github.com/python-greenlet/greenlet/issues",
        "Changelog, https://greenlet.readthedocs.io/en/latest/changes.html"
      ],
      "provides_dist": [],
      "obsoletes_dist": [],
      "requires_dist": [
        "Sphinx; extra == \"docs\"",
        "furo; extra == \"docs\"",
        "objgraph; extra == \"test\"",
        "psutil; extra == \"test\"",
        "setuptools; extra == \"test\""
      ],
      "requires_external": [],
      "requires_python": ">=3.10",
      "description_content_type": "text/x-rst",
      "provides_extras": [
        "docs",
        "test"
      ],
      "dynamic": [
        "license-file"
      ],
      "license_expression": "MIT AND PSF-2.0",
      "license_file": [
        "LICENSE",
        "LICENSE.PSF"
      ],
      "+links": [
        {
          "rel": "releasefile",
          "hash_spec": "sha256=9d0bee61a58597cd343072d9dee801f6ae4882e731fc14569f9655e4d0f219a2",
          "hashes": {
            "sha256": "9d0bee61a58597cd343072d9dee801f6ae4882e731fc14569f9655e4d0f219a2"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/9d0/bee61a58597cd/greenlet-3.5.0-cp310-cp310-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                49
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=2e48b68ce4af0da3420db448f23287df7faccca68dd6e0a157c3e18d0c3d3f12",
          "hashes": {
            "sha256": "2e48b68ce4af0da3420db448f23287df7faccca68dd6e0a157c3e18d0c3d3f12"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/2e4/8b68ce4af0da3/greenlet-3.5.0-cp311-cp311-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                49
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=43e4d5e4f2431b553e36083fddb8ea90d3d6f8984a354c93ede61a5f5165ce7f",
          "hashes": {
            "sha256": "43e4d5e4f2431b553e36083fddb8ea90d3d6f8984a354c93ede61a5f5165ce7f"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/43e/4d5e4f2431b55/greenlet-3.5.0-cp312-cp312-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                50
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=53c993f7fcbe9f58750156aa6bffd14db4e514b50975581845acd53c44a8bafa",
          "hashes": {
            "sha256": "53c993f7fcbe9f58750156aa6bffd14db4e514b50975581845acd53c44a8bafa"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/53c/993f7fcbe9f58/greenlet-3.5.0-cp313-cp313-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                51
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=b5ea5da061cafb197d8490338eb52898a71593decd548b444b0e02c7d481b66c",
          "hashes": {
            "sha256": "b5ea5da061cafb197d8490338eb52898a71593decd548b444b0e02c7d481b66c"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/b5e/a5da061cafb19/greenlet-3.5.0-cp314-cp314-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                51
              ],
              "dst": "ppc64le/linux"
            }
          ]
        }
      ]
    },
    "3.3.0": {
      "name": "greenlet",
      "version": "3.3.0",
      "metadata_version": "2.4",
      "summary": "Lightweight in-process concurrent programming",
      "home_page": "https://greenlet.readthedocs.io/",
      "author": "Alexey Borzenkov",
      "author_email": "snaury@gmail.com",
      "maintainer": "Jason Madden",
      "maintainer_email": "jason@seecoresoftware.com",
      "license": "MIT AND Python-2.0",
      "description": ".. This file is included into docs/history.rst\n\n\nGreenlets are lightweight coroutines for in-process concurrent\nprogramming.\n\nThe \"greenlet\" package is a spin-off of `Stackless`_, a version of\nCPython that supports micro-threads called \"tasklets\". Tasklets run\npseudo-concurrently (typically in a single or a few OS-level threads)\nand are synchronized with data exchanges on \"channels\".\n\nA \"greenlet\", on the other hand, is a still more primitive notion of\nmicro-thread with no implicit scheduling; coroutines, in other words.\nThis is useful when you want to control exactly when your code runs.\nYou can build custom scheduled micro-threads on top of greenlet;\nhowever, it seems that greenlets are useful on their own as a way to\nmake advanced control flow structures. For example, we can recreate\ngenerators; the difference with Python's own generators is that our\ngenerators can call nested functions and the nested functions can\nyield values too. (Additionally, you don't need a \"yield\" keyword. See\nthe example in `test_generator.py\n<https://github.com/python-greenlet/greenlet/blob/adca19bf1f287b3395896a8f41f3f4fd1797fdc7/src/greenlet/tests/test_generator.py#L1>`_).\n\nGreenlets are provided as a C extension module for the regular unmodified\ninterpreter.\n\n.. _`Stackless`: http://www.stackless.com\n\n\nWho is using Greenlet?\n======================\n\nThere are several libraries that use Greenlet as a more flexible\nalternative to Python's built in coroutine support:\n\n - `Concurrence`_\n - `Eventlet`_\n - `Gevent`_\n\n.. _Concurrence: http://opensource.hyves.org/concurrence/\n.. _Eventlet: http://eventlet.net/\n.. _Gevent: http://www.gevent.org/\n\nGetting Greenlet\n================\n\nThe easiest way to get Greenlet is to install it with pip::\n\n  pip install greenlet\n\n\nSource code archives and binary distributions are available on the\npython package index at https://pypi.org/project/greenlet\n\nThe source code repository is hosted on github:\nhttps://github.com/python-greenlet/greenlet\n\nDocumentation is available on readthedocs.org:\nhttps://greenlet.readthedocs.io\n",
      "keywords": "greenlet coroutine concurrency threads cooperative",
      "platform": [],
      "classifiers": [
        "Development Status :: 5 - Production/Stable",
        "Intended Audience :: Developers",
        "Natural Language :: English",
        "Programming Language :: C",
        "Programming Language :: Python",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3 :: Only",
        "Programming Language :: Python :: 3.10",
        "Programming Language :: Python :: 3.11",
        "Programming Language :: Python :: 3.12",
        "Programming Language :: Python :: 3.13",
        "Programming Language :: Python :: 3.14",
        "Operating System :: OS Independent",
        "Topic :: Software Development :: Libraries :: Python Modules",
        "Environment :: MetaData :: IBM Python Ecosystem"
      ],
      "download_url": "",
      "supported_platform": [],
      "comment": "",
      "provides": [],
      "requires": [],
      "obsoletes": [],
      "project_urls": [
        "Bug Tracker, https://github.com/python-greenlet/greenlet/issues",
        "Source Code, https://github.com/python-greenlet/greenlet/",
        "Documentation, https://greenlet.readthedocs.io/",
        "Changes, https://greenlet.readthedocs.io/en/latest/changes.html"
      ],
      "provides_dist": [],
      "obsoletes_dist": [],
      "requires_dist": [
        "Sphinx; extra == \"docs\"",
        "furo; extra == \"docs\"",
        "objgraph; extra == \"test\"",
        "psutil; extra == \"test\"",
        "setuptools; extra == \"test\""
      ],
      "requires_external": [],
      "requires_python": ">=3.10",
      "description_content_type": "text/x-rst",
      "provides_extras": [
        "docs",
        "test"
      ],
      "dynamic": [
        "author",
        "author-email",
        "classifier",
        "description",
        "description-content-type",
        "home-page",
        "keywords",
        "license",
        "license-file",
        "maintainer",
        "maintainer-email",
        "platform",
        "project-url",
        "provides-extra",
        "requires-python",
        "summary"
      ],
      "license_expression": "",
      "license_file": [
        "LICENSE",
        "LICENSE.PSF"
      ],
      "+links": [
        {
          "rel": "releasefile",
          "hash_spec": "sha256=e5692f43de3f2f80ce80e49d3a087ae2ca535ade7f036c611e8ad29c927998cb",
          "hashes": {
            "sha256": "e5692f43de3f2f80ce80e49d3a087ae2ca535ade7f036c611e8ad29c927998cb"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/e56/92f43de3f2f80/greenlet-3.3.0-cp310-cp310-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                45
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=3fe5d2aec8efa759ca11af5184acb2424be5d81f236ca198d76833155f74763f",
          "hashes": {
            "sha256": "3fe5d2aec8efa759ca11af5184acb2424be5d81f236ca198d76833155f74763f"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/3fe/5d2aec8efa759/greenlet-3.3.0-cp311-cp311-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                46
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=c5ff36e090e207873bdfbc0154b1033da3306b45ea05b12380edf4159f0f561f",
          "hashes": {
            "sha256": "c5ff36e090e207873bdfbc0154b1033da3306b45ea05b12380edf4159f0f561f"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/c5f/f36e090e20787/greenlet-3.3.0-cp312-cp312-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                47
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=3d98f9fee3fd01c38ac77323e65f268039e5c59fc833e40590897ac8434e08d5",
          "hashes": {
            "sha256": "3d98f9fee3fd01c38ac77323e65f268039e5c59fc833e40590897ac8434e08d5"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/3d9/8f9fee3fd01c3/greenlet-3.3.0-cp313-cp313-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                48
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=1779058a62763676073369e0da3614c16fc327ab3837b0d97ebd16bd31179758",
          "hashes": {
            "sha256": "1779058a62763676073369e0da3614c16fc327ab3837b0d97ebd16bd31179758"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/177/9058a62763676/greenlet-3.3.0-cp314-cp314-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                48
              ],
              "dst": "ppc64le/linux"
            }
          ]
        }
      ]
    },
    "3.3.0+ppc64le1": {
      "name": "greenlet",
      "version": "3.3.0+ppc64le1",
      "metadata_version": "2.4",
      "summary": "Lightweight in-process concurrent programming",
      "home_page": "https://greenlet.readthedocs.io/",
      "author": "Alexey Borzenkov",
      "author_email": "snaury@gmail.com",
      "maintainer": "Jason Madden",
      "maintainer_email": "jason@seecoresoftware.com",
      "license": "MIT AND Python-2.0",
      "description": ".. This file is included into docs/history.rst\n\n\nGreenlets are lightweight coroutines for in-process concurrent\nprogramming.\n\nThe \"greenlet\" package is a spin-off of `Stackless`_, a version of\nCPython that supports micro-threads called \"tasklets\". Tasklets run\npseudo-concurrently (typically in a single or a few OS-level threads)\nand are synchronized with data exchanges on \"channels\".\n\nA \"greenlet\", on the other hand, is a still more primitive notion of\nmicro-thread with no implicit scheduling; coroutines, in other words.\nThis is useful when you want to control exactly when your code runs.\nYou can build custom scheduled micro-threads on top of greenlet;\nhowever, it seems that greenlets are useful on their own as a way to\nmake advanced control flow structures. For example, we can recreate\ngenerators; the difference with Python's own generators is that our\ngenerators can call nested functions and the nested functions can\nyield values too. (Additionally, you don't need a \"yield\" keyword. See\nthe example in `test_generator.py\n<https://github.com/python-greenlet/greenlet/blob/adca19bf1f287b3395896a8f41f3f4fd1797fdc7/src/greenlet/tests/test_generator.py#L1>`_).\n\nGreenlets are provided as a C extension module for the regular unmodified\ninterpreter.\n\n.. _`Stackless`: http://www.stackless.com\n\n\nWho is using Greenlet?\n======================\n\nThere are several libraries that use Greenlet as a more flexible\nalternative to Python's built in coroutine support:\n\n - `Concurrence`_\n - `Eventlet`_\n - `Gevent`_\n\n.. _Concurrence: http://opensource.hyves.org/concurrence/\n.. _Eventlet: http://eventlet.net/\n.. _Gevent: http://www.gevent.org/\n\nGetting Greenlet\n================\n\nThe easiest way to get Greenlet is to install it with pip::\n\n  pip install greenlet\n\n\nSource code archives and binary distributions are available on the\npython package index at https://pypi.org/project/greenlet\n\nThe source code repository is hosted on github:\nhttps://github.com/python-greenlet/greenlet\n\nDocumentation is available on readthedocs.org:\nhttps://greenlet.readthedocs.io\n",
      "keywords": "greenlet coroutine concurrency threads cooperative",
      "platform": [],
      "classifiers": [
        "Development Status :: 5 - Production/Stable",
        "Intended Audience :: Developers",
        "Natural Language :: English",
        "Programming Language :: C",
        "Programming Language :: Python",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3 :: Only",
        "Programming Language :: Python :: 3.10",
        "Programming Language :: Python :: 3.11",
        "Programming Language :: Python :: 3.12",
        "Programming Language :: Python :: 3.13",
        "Programming Language :: Python :: 3.14",
        "Operating System :: OS Independent",
        "Topic :: Software Development :: Libraries :: Python Modules",
        "Environment :: MetaData :: IBM Python Ecosystem"
      ],
      "download_url": "",
      "supported_platform": [],
      "comment": "",
      "provides": [],
      "requires": [],
      "obsoletes": [],
      "project_urls": [
        "Bug Tracker, https://github.com/python-greenlet/greenlet/issues",
        "Source Code, https://github.com/python-greenlet/greenlet/",
        "Documentation, https://greenlet.readthedocs.io/",
        "Changes, https://greenlet.readthedocs.io/en/latest/changes.html"
      ],
      "provides_dist": [],
      "obsoletes_dist": [],
      "requires_dist": [
        "Sphinx; extra == \"docs\"",
        "furo; extra == \"docs\"",
        "objgraph; extra == \"test\"",
        "psutil; extra == \"test\"",
        "setuptools; extra == \"test\""
      ],
      "requires_external": [],
      "requires_python": ">=3.10",
      "description_content_type": "text/x-rst",
      "provides_extras": [
        "docs",
        "test"
      ],
      "dynamic": [
        "author",
        "author-email",
        "classifier",
        "description",
        "description-content-type",
        "home-page",
        "keywords",
        "license",
        "license-file",
        "maintainer",
        "maintainer-email",
        "platform",
        "project-url",
        "provides-extra",
        "requires-python",
        "summary"
      ],
      "license_expression": "",
      "license_file": [
        "LICENSE",
        "LICENSE.PSF"
      ],
      "+links": [
        {
          "rel": "releasefile",
          "hash_spec": "sha256=7b17c1f3035473d5a88dc502cb4cf611541d8600bfb3b46180eccff0aa2aad91",
          "hashes": {
            "sha256": "7b17c1f3035473d5a88dc502cb4cf611541d8600bfb3b46180eccff0aa2aad91"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/7b1/7c1f3035473d5/greenlet-3.3.0+ppc64le1-cp310-cp310-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                5,
                11,
                11,
                39,
                34
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=cf53b8537edc40858661d673f1abcb661bdaf2ccdbbfa1155d7dbc70ca31b107",
          "hashes": {
            "sha256": "cf53b8537edc40858661d673f1abcb661bdaf2ccdbbfa1155d7dbc70ca31b107"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/cf5/3b8537edc4085/greenlet-3.3.0+ppc64le1-cp311-cp311-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                5,
                11,
                11,
                39,
                35
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=d06999a599ad4a5e7ab3b1d03d21542618d7bd6c5d4b09e11261784d568fce44",
          "hashes": {
            "sha256": "d06999a599ad4a5e7ab3b1d03d21542618d7bd6c5d4b09e11261784d568fce44"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/d06/999a599ad4a5e/greenlet-3.3.0+ppc64le1-cp312-cp312-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                5,
                11,
                11,
                39,
                35
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=d8af1d993ba64e1a9f9bb425465a26cbad254c90871716f1f6e7077521b3b7f5",
          "hashes": {
            "sha256": "d8af1d993ba64e1a9f9bb425465a26cbad254c90871716f1f6e7077521b3b7f5"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/d8a/f1d993ba64e1a/greenlet-3.3.0+ppc64le1-cp313-cp313-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                5,
                11,
                11,
                39,
                36
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=f05f25e467441832d9165a3473981a4c72a2419f89f1a42a6bfe5e8764d5246b",
          "hashes": {
            "sha256": "f05f25e467441832d9165a3473981a4c72a2419f89f1a42a6bfe5e8764d5246b"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/f05/f25e467441832/greenlet-3.3.0+ppc64le1-cp314-cp314-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                5,
                11,
                11,
                39,
                36
              ],
              "dst": "ppc64le/linux"
            }
          ]
        }
      ]
    },
    "2.0.1": {
      "name": "greenlet",
      "version": "2.0.1",
      "metadata_version": "2.4",
      "summary": "Lightweight in-process concurrent programming",
      "home_page": "https://greenlet.readthedocs.io/",
      "author": "Alexey Borzenkov",
      "author_email": "snaury@gmail.com",
      "maintainer": "Jason Madden",
      "maintainer_email": "jason@seecoresoftware.com",
      "license": "MIT License",
      "description": ".. This file is included into docs/history.rst\n\n.. image:: https://github.com/python-greenlet/greenlet/workflows/tests/badge.svg\n   :target: https://github.com/python-greenlet/greenlet/actions\n\nGreenlets are lightweight coroutines for in-process concurrent\nprogramming.\n\nThe \"greenlet\" package is a spin-off of `Stackless`_, a version of\nCPython that supports micro-threads called \"tasklets\". Tasklets run\npseudo-concurrently (typically in a single or a few OS-level threads)\nand are synchronized with data exchanges on \"channels\".\n\nA \"greenlet\", on the other hand, is a still more primitive notion of\nmicro-thread with no implicit scheduling; coroutines, in other words.\nThis is useful when you want to control exactly when your code runs.\nYou can build custom scheduled micro-threads on top of greenlet;\nhowever, it seems that greenlets are useful on their own as a way to\nmake advanced control flow structures. For example, we can recreate\ngenerators; the difference with Python's own generators is that our\ngenerators can call nested functions and the nested functions can\nyield values too. (Additionally, you don't need a \"yield\" keyword. See\nthe example in `test_generator.py\n<https://github.com/python-greenlet/greenlet/blob/adca19bf1f287b3395896a8f41f3f4fd1797fdc7/src/greenlet/tests/test_generator.py#L1>`_).\n\nGreenlets are provided as a C extension module for the regular unmodified\ninterpreter.\n\n.. _`Stackless`: http://www.stackless.com\n\n\nWho is using Greenlet?\n======================\n\nThere are several libraries that use Greenlet as a more flexible\nalternative to Python's built in coroutine support:\n\n - `Concurrence`_\n - `Eventlet`_\n - `Gevent`_\n\n.. _Concurrence: http://opensource.hyves.org/concurrence/\n.. _Eventlet: http://eventlet.net/\n.. _Gevent: http://www.gevent.org/\n\nGetting Greenlet\n================\n\nThe easiest way to get Greenlet is to install it with pip::\n\n  pip install greenlet\n\n\nSource code archives and binary distributions are available on the\npython package index at https://pypi.org/project/greenlet\n\nThe source code repository is hosted on github:\nhttps://github.com/python-greenlet/greenlet\n\nDocumentation is available on readthedocs.org:\nhttps://greenlet.readthedocs.io\n",
      "keywords": "greenlet coroutine concurrency threads cooperative",
      "platform": [],
      "classifiers": [
        "Development Status :: 5 - Production/Stable",
        "Intended Audience :: Developers",
        "License :: OSI Approved :: MIT License",
        "Natural Language :: English",
        "Programming Language :: C",
        "Programming Language :: Python",
        "Programming Language :: Python :: 2",
        "Programming Language :: Python :: 2.7",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3.5",
        "Programming Language :: Python :: 3.6",
        "Programming Language :: Python :: 3.7",
        "Programming Language :: Python :: 3.8",
        "Programming Language :: Python :: 3.9",
        "Programming Language :: Python :: 3.10",
        "Programming Language :: Python :: 3.11",
        "Operating System :: OS Independent",
        "Topic :: Software Development :: Libraries :: Python Modules",
        "Environment :: MetaData :: IBM Python Ecosystem"
      ],
      "download_url": "",
      "supported_platform": [],
      "comment": "",
      "provides": [],
      "requires": [],
      "obsoletes": [],
      "project_urls": [
        "Bug Tracker, https://github.com/python-greenlet/greenlet/issues",
        "Source Code, https://github.com/python-greenlet/greenlet/",
        "Documentation, https://greenlet.readthedocs.io/"
      ],
      "provides_dist": [],
      "obsoletes_dist": [],
      "requires_dist": [
        "Sphinx; extra == \"docs\"",
        "docutils<0.18; python_version < \"3\" and extra == \"docs\"",
        "objgraph; extra == \"test\"",
        "faulthandler; (python_version == \"2.7\" and platform_python_implementation == \"CPython\") and extra == \"test\"",
        "psutil; extra == \"test\""
      ],
      "requires_external": [],
      "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*",
      "description_content_type": "text/x-rst",
      "provides_extras": [
        "docs",
        "test"
      ],
      "dynamic": [
        "author",
        "author-email",
        "classifier",
        "description",
        "description-content-type",
        "home-page",
        "keywords",
        "license",
        "license-file",
        "maintainer",
        "maintainer-email",
        "platform",
        "project-url",
        "provides-extra",
        "requires-python",
        "summary"
      ],
      "license_expression": "",
      "license_file": [
        "LICENSE",
        "LICENSE.PSF",
        "AUTHORS"
      ],
      "+links": [
        {
          "rel": "releasefile",
          "hash_spec": "sha256=209b76f8ce0a9a491cad9673eeb7d7ee4f9250e1760a11eac3b3765426b765a8",
          "hashes": {
            "sha256": "209b76f8ce0a9a491cad9673eeb7d7ee4f9250e1760a11eac3b3765426b765a8"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/209/b76f8ce0a9a49/greenlet-2.0.1-cp310-cp310-manylinux_2_34_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                36
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=467adb66a7e8eaa16c87d828cca82eed838cee0def1d7b1432ffe88ae19ba555",
          "hashes": {
            "sha256": "467adb66a7e8eaa16c87d828cca82eed838cee0def1d7b1432ffe88ae19ba555"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/467/adb66a7e8eaa1/greenlet-2.0.1-cp311-cp311-manylinux_2_34_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                37
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=94854d96c35bfef8218c1d87f6cb1399484a783bf35606f3484132ab3fece3a4",
          "hashes": {
            "sha256": "94854d96c35bfef8218c1d87f6cb1399484a783bf35606f3484132ab3fece3a4"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/948/54d96c35bfef8/greenlet-2.0.1-cp39-cp39-manylinux_2_34_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                38
              ],
              "dst": "ppc64le/linux"
            }
          ]
        }
      ]
    },
    "3.1.1+ppc64le1": {
      "name": "greenlet",
      "version": "3.1.1+ppc64le1",
      "metadata_version": "2.4",
      "summary": "Lightweight in-process concurrent programming",
      "home_page": "https://greenlet.readthedocs.io/",
      "author": "Alexey Borzenkov",
      "author_email": "snaury@gmail.com",
      "maintainer": "Jason Madden",
      "maintainer_email": "jason@seecoresoftware.com",
      "license": "MIT License",
      "description": ".. This file is included into docs/history.rst\n\n\nGreenlets are lightweight coroutines for in-process concurrent\nprogramming.\n\nThe \"greenlet\" package is a spin-off of `Stackless`_, a version of\nCPython that supports micro-threads called \"tasklets\". Tasklets run\npseudo-concurrently (typically in a single or a few OS-level threads)\nand are synchronized with data exchanges on \"channels\".\n\nA \"greenlet\", on the other hand, is a still more primitive notion of\nmicro-thread with no implicit scheduling; coroutines, in other words.\nThis is useful when you want to control exactly when your code runs.\nYou can build custom scheduled micro-threads on top of greenlet;\nhowever, it seems that greenlets are useful on their own as a way to\nmake advanced control flow structures. For example, we can recreate\ngenerators; the difference with Python's own generators is that our\ngenerators can call nested functions and the nested functions can\nyield values too. (Additionally, you don't need a \"yield\" keyword. See\nthe example in `test_generator.py\n<https://github.com/python-greenlet/greenlet/blob/adca19bf1f287b3395896a8f41f3f4fd1797fdc7/src/greenlet/tests/test_generator.py#L1>`_).\n\nGreenlets are provided as a C extension module for the regular unmodified\ninterpreter.\n\n.. _`Stackless`: http://www.stackless.com\n\n\nWho is using Greenlet?\n======================\n\nThere are several libraries that use Greenlet as a more flexible\nalternative to Python's built in coroutine support:\n\n - `Concurrence`_\n - `Eventlet`_\n - `Gevent`_\n\n.. _Concurrence: http://opensource.hyves.org/concurrence/\n.. _Eventlet: http://eventlet.net/\n.. _Gevent: http://www.gevent.org/\n\nGetting Greenlet\n================\n\nThe easiest way to get Greenlet is to install it with pip::\n\n  pip install greenlet\n\n\nSource code archives and binary distributions are available on the\npython package index at https://pypi.org/project/greenlet\n\nThe source code repository is hosted on github:\nhttps://github.com/python-greenlet/greenlet\n\nDocumentation is available on readthedocs.org:\nhttps://greenlet.readthedocs.io\n",
      "keywords": "greenlet coroutine concurrency threads cooperative",
      "platform": [],
      "classifiers": [
        "Development Status :: 5 - Production/Stable",
        "Intended Audience :: Developers",
        "License :: OSI Approved :: MIT License",
        "Natural Language :: English",
        "Programming Language :: C",
        "Programming Language :: Python",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3 :: Only",
        "Programming Language :: Python :: 3.7",
        "Programming Language :: Python :: 3.8",
        "Programming Language :: Python :: 3.9",
        "Programming Language :: Python :: 3.10",
        "Programming Language :: Python :: 3.11",
        "Programming Language :: Python :: 3.12",
        "Programming Language :: Python :: 3.13",
        "Operating System :: OS Independent",
        "Topic :: Software Development :: Libraries :: Python Modules",
        "Environment :: MetaData :: IBM Python Ecosystem"
      ],
      "download_url": "",
      "supported_platform": [],
      "comment": "",
      "provides": [],
      "requires": [],
      "obsoletes": [],
      "project_urls": [
        "Bug Tracker, https://github.com/python-greenlet/greenlet/issues",
        "Source Code, https://github.com/python-greenlet/greenlet/",
        "Documentation, https://greenlet.readthedocs.io/"
      ],
      "provides_dist": [],
      "obsoletes_dist": [],
      "requires_dist": [
        "Sphinx; extra == \"docs\"",
        "furo; extra == \"docs\"",
        "objgraph; extra == \"test\"",
        "psutil; extra == \"test\""
      ],
      "requires_external": [],
      "requires_python": ">=3.7",
      "description_content_type": "text/x-rst",
      "provides_extras": "test",
      "dynamic": "summary",
      "license_expression": "",
      "license_file": "AUTHORS",
      "+links": [
        {
          "rel": "releasefile",
          "hash_spec": "sha256=f4499fc86d6f8defb87216541100287f256663d912636e6bf29610512fd1049f",
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/f44/99fc86d6f8def/greenlet-3.1.1+ppc64le1-cp310-cp310-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                3,
                16,
                9,
                13,
                35
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=b0cfda6f6e0049e83054d5042e15b0b5b4f477e2362c6c9f7df5751f434087c2",
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/b0c/fda6f6e0049e8/greenlet-3.1.1+ppc64le1-cp311-cp311-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                3,
                16,
                9,
                13,
                36
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=10bd90a356dcbf6b2d501b2b02995205ec7814e74f2e8f4cc48952deae3a6670",
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/10b/d90a356dcbf6b/greenlet-3.1.1+ppc64le1-cp312-cp312-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                3,
                16,
                9,
                13,
                37
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=689afedc88e4d2692631abbdc182169e9a969fa30c1cfa2cce73e852ea37f2a2",
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/689/afedc88e4d269/greenlet-3.1.1+ppc64le1-cp313-cp313-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                3,
                16,
                9,
                13,
                38
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=87cc5f65e532253e0150a3f9e56aaec9a8679e6f8537b42c3df6204f856f6316",
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/87c/c5f65e532253e/greenlet-3.1.1+ppc64le1-cp39-cp39-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                3,
                16,
                9,
                13,
                38
              ],
              "dst": "ppc64le/linux"
            }
          ]
        }
      ]
    },
    "3.5.0+ppc64le1": {
      "name": "greenlet",
      "version": "3.5.0+ppc64le1",
      "metadata_version": "2.4",
      "summary": "Lightweight in-process concurrent programming",
      "home_page": "",
      "author": "",
      "author_email": "Alexey Borzenkov <snaury@gmail.com>",
      "maintainer": "",
      "maintainer_email": "Jason Madden <jason@seecoresoftware.com>",
      "license": "",
      "description": ".. This file is included into docs/history.rst\n\n\nGreenlets are lightweight coroutines for in-process concurrent\nprogramming.\n\nThe \"greenlet\" package is a spin-off of `Stackless`_, a version of\nCPython that supports micro-threads called \"tasklets\". Tasklets run\npseudo-concurrently (typically in a single or a few OS-level threads)\nand are synchronized with data exchanges on \"channels\".\n\nA \"greenlet\", on the other hand, is a still more primitive notion of\nmicro-thread with no implicit scheduling; coroutines, in other words.\nThis is useful when you want to control exactly when your code runs.\nYou can build custom scheduled micro-threads on top of greenlet;\nhowever, it seems that greenlets are useful on their own as a way to\nmake advanced control flow structures. For example, we can recreate\ngenerators; the difference with Python's own generators is that our\ngenerators can call nested functions and the nested functions can\nyield values too. (Additionally, you don't need a \"yield\" keyword. See\nthe example in `test_generator.py\n<https://github.com/python-greenlet/greenlet/blob/adca19bf1f287b3395896a8f41f3f4fd1797fdc7/src/greenlet/tests/test_generator.py#L1>`_).\n\nGreenlets are provided as a C extension module for the regular unmodified\ninterpreter.\n\n.. _`Stackless`: http://www.stackless.com\n\n\nWho is using Greenlet?\n======================\n\nThere are several libraries that use Greenlet as a more flexible\nalternative to Python's built in coroutine support:\n\n - `Concurrence`_\n - `Eventlet`_\n - `Gevent`_\n\n.. _Concurrence: http://opensource.hyves.org/concurrence/\n.. _Eventlet: http://eventlet.net/\n.. _Gevent: http://www.gevent.org/\n\nGetting Greenlet\n================\n\nThe easiest way to get Greenlet is to install it with pip::\n\n  pip install greenlet\n\n\nSource code archives and binary distributions are available on the\npython package index at https://pypi.org/project/greenlet\n\nThe source code repository is hosted on github:\nhttps://github.com/python-greenlet/greenlet\n\nDocumentation is available on readthedocs.org:\nhttps://greenlet.readthedocs.io\n",
      "keywords": "greenlet,coroutine,concurrency,threads,cooperative",
      "platform": [],
      "classifiers": [
        "Development Status :: 5 - Production/Stable",
        "Intended Audience :: Developers",
        "Natural Language :: English",
        "Programming Language :: C",
        "Programming Language :: Python",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3.10",
        "Programming Language :: Python :: 3.11",
        "Programming Language :: Python :: 3.12",
        "Programming Language :: Python :: 3.13",
        "Programming Language :: Python :: 3.14",
        "Operating System :: OS Independent",
        "Topic :: Software Development :: Libraries :: Python Modules",
        "Environment :: MetaData :: IBM Python Ecosystem"
      ],
      "download_url": "",
      "supported_platform": [],
      "comment": "",
      "provides": [],
      "requires": [],
      "obsoletes": [],
      "project_urls": [
        "Homepage, https://greenlet.readthedocs.io",
        "Documentation, https://greenlet.readthedocs.io",
        "Repository, https://github.com/python-greenlet/greenlet",
        "Issues, https://github.com/python-greenlet/greenlet/issues",
        "Changelog, https://greenlet.readthedocs.io/en/latest/changes.html"
      ],
      "provides_dist": [],
      "obsoletes_dist": [],
      "requires_dist": [
        "Sphinx; extra == \"docs\"",
        "furo; extra == \"docs\"",
        "objgraph; extra == \"test\"",
        "psutil; extra == \"test\"",
        "setuptools; extra == \"test\""
      ],
      "requires_external": [],
      "requires_python": ">=3.10",
      "description_content_type": "text/x-rst",
      "provides_extras": [
        "docs",
        "test"
      ],
      "dynamic": [
        "license-file"
      ],
      "license_expression": "MIT AND PSF-2.0",
      "license_file": [
        "LICENSE",
        "LICENSE.PSF"
      ],
      "+links": [
        {
          "rel": "releasefile",
          "hash_spec": "sha256=2cf05e69cb26835a7ffb045cdd6213e697d0fd9898559308ae5071bb601e754b",
          "hashes": {
            "sha256": "2cf05e69cb26835a7ffb045cdd6213e697d0fd9898559308ae5071bb601e754b"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/2cf/05e69cb26835a/greenlet-3.5.0+ppc64le1-cp310-cp310-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                6,
                18,
                9,
                36,
                52
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=b74698b01cc1901243b765b8c847906a543c0b21fab3102a7074a874eeeb6e78",
          "hashes": {
            "sha256": "b74698b01cc1901243b765b8c847906a543c0b21fab3102a7074a874eeeb6e78"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/b74/698b01cc19012/greenlet-3.5.0+ppc64le1-cp311-cp311-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                6,
                18,
                9,
                36,
                52
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=0d1b7825ee8ecbfe1f060739d07d3063458ace673b49559079b8e9a978678607",
          "hashes": {
            "sha256": "0d1b7825ee8ecbfe1f060739d07d3063458ace673b49559079b8e9a978678607"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/0d1/b7825ee8ecbfe/greenlet-3.5.0+ppc64le1-cp312-cp312-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                6,
                18,
                9,
                36,
                53
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=1c047e159a9b7434921b126c51d2eb14c6d44134232e1fd309307067fb396c00",
          "hashes": {
            "sha256": "1c047e159a9b7434921b126c51d2eb14c6d44134232e1fd309307067fb396c00"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/1c0/47e159a9b7434/greenlet-3.5.0+ppc64le1-cp313-cp313-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                6,
                18,
                9,
                36,
                53
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=3ebd2d8f63f31f0b3f9a55cbd7b7dd56fe1daae80c13e2246b2e5590dfe6aac0",
          "hashes": {
            "sha256": "3ebd2d8f63f31f0b3f9a55cbd7b7dd56fe1daae80c13e2246b2e5590dfe6aac0"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/3eb/d2d8f63f31f0b/greenlet-3.5.0+ppc64le1-cp314-cp314-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                6,
                18,
                9,
                36,
                54
              ],
              "dst": "ppc64le/linux"
            }
          ]
        }
      ]
    },
    "3.1.1": {
      "name": "greenlet",
      "version": "3.1.1",
      "metadata_version": "2.4",
      "summary": "Lightweight in-process concurrent programming",
      "home_page": "https://greenlet.readthedocs.io/",
      "author": "Alexey Borzenkov",
      "author_email": "snaury@gmail.com",
      "maintainer": "Jason Madden",
      "maintainer_email": "jason@seecoresoftware.com",
      "license": "MIT License",
      "description": ".. This file is included into docs/history.rst\n\n\nGreenlets are lightweight coroutines for in-process concurrent\nprogramming.\n\nThe \"greenlet\" package is a spin-off of `Stackless`_, a version of\nCPython that supports micro-threads called \"tasklets\". Tasklets run\npseudo-concurrently (typically in a single or a few OS-level threads)\nand are synchronized with data exchanges on \"channels\".\n\nA \"greenlet\", on the other hand, is a still more primitive notion of\nmicro-thread with no implicit scheduling; coroutines, in other words.\nThis is useful when you want to control exactly when your code runs.\nYou can build custom scheduled micro-threads on top of greenlet;\nhowever, it seems that greenlets are useful on their own as a way to\nmake advanced control flow structures. For example, we can recreate\ngenerators; the difference with Python's own generators is that our\ngenerators can call nested functions and the nested functions can\nyield values too. (Additionally, you don't need a \"yield\" keyword. See\nthe example in `test_generator.py\n<https://github.com/python-greenlet/greenlet/blob/adca19bf1f287b3395896a8f41f3f4fd1797fdc7/src/greenlet/tests/test_generator.py#L1>`_).\n\nGreenlets are provided as a C extension module for the regular unmodified\ninterpreter.\n\n.. _`Stackless`: http://www.stackless.com\n\n\nWho is using Greenlet?\n======================\n\nThere are several libraries that use Greenlet as a more flexible\nalternative to Python's built in coroutine support:\n\n - `Concurrence`_\n - `Eventlet`_\n - `Gevent`_\n\n.. _Concurrence: http://opensource.hyves.org/concurrence/\n.. _Eventlet: http://eventlet.net/\n.. _Gevent: http://www.gevent.org/\n\nGetting Greenlet\n================\n\nThe easiest way to get Greenlet is to install it with pip::\n\n  pip install greenlet\n\n\nSource code archives and binary distributions are available on the\npython package index at https://pypi.org/project/greenlet\n\nThe source code repository is hosted on github:\nhttps://github.com/python-greenlet/greenlet\n\nDocumentation is available on readthedocs.org:\nhttps://greenlet.readthedocs.io\n",
      "keywords": "greenlet coroutine concurrency threads cooperative",
      "platform": [],
      "classifiers": [
        "Development Status :: 5 - Production/Stable",
        "Intended Audience :: Developers",
        "License :: OSI Approved :: MIT License",
        "Natural Language :: English",
        "Programming Language :: C",
        "Programming Language :: Python",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3 :: Only",
        "Programming Language :: Python :: 3.7",
        "Programming Language :: Python :: 3.8",
        "Programming Language :: Python :: 3.9",
        "Programming Language :: Python :: 3.10",
        "Programming Language :: Python :: 3.11",
        "Programming Language :: Python :: 3.12",
        "Programming Language :: Python :: 3.13",
        "Operating System :: OS Independent",
        "Topic :: Software Development :: Libraries :: Python Modules",
        "Environment :: MetaData :: IBM Python Ecosystem"
      ],
      "download_url": "",
      "supported_platform": [],
      "comment": "",
      "provides": [],
      "requires": [],
      "obsoletes": [],
      "project_urls": [
        "Bug Tracker, https://github.com/python-greenlet/greenlet/issues",
        "Source Code, https://github.com/python-greenlet/greenlet/",
        "Documentation, https://greenlet.readthedocs.io/"
      ],
      "provides_dist": [],
      "obsoletes_dist": [],
      "requires_dist": [
        "Sphinx; extra == \"docs\"",
        "furo; extra == \"docs\"",
        "objgraph; extra == \"test\"",
        "psutil; extra == \"test\""
      ],
      "requires_external": [],
      "requires_python": ">=3.7",
      "description_content_type": "text/x-rst",
      "provides_extras": [
        "docs",
        "test"
      ],
      "dynamic": [
        "author",
        "author-email",
        "classifier",
        "description",
        "description-content-type",
        "home-page",
        "keywords",
        "license",
        "license-file",
        "maintainer",
        "maintainer-email",
        "platform",
        "project-url",
        "provides-extra",
        "requires-python",
        "summary"
      ],
      "license_expression": "",
      "license_file": [
        "LICENSE",
        "LICENSE.PSF",
        "AUTHORS"
      ],
      "+links": [
        {
          "rel": "releasefile",
          "hash_spec": "sha256=d89728ddcef77b5f159ca2e8856beecc1470ff4320c47417cb8c74a0ecaf149c",
          "hashes": {
            "sha256": "d89728ddcef77b5f159ca2e8856beecc1470ff4320c47417cb8c74a0ecaf149c"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/d89/728ddcef77b5f/greenlet-3.1.1-cp310-cp310-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                40
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=4c743fcc7ff5985312e793379aa3c512fcff1bff17ffab1ac220b8ad9dc9a60b",
          "hashes": {
            "sha256": "4c743fcc7ff5985312e793379aa3c512fcff1bff17ffab1ac220b8ad9dc9a60b"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/4c7/43fcc7ff59853/greenlet-3.1.1-cp311-cp311-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                40
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=d7ec32f8e3a7c200d97a76c5423af2ed3deabae2320d32eb4269194428d62139",
          "hashes": {
            "sha256": "d7ec32f8e3a7c200d97a76c5423af2ed3deabae2320d32eb4269194428d62139"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/d7e/c32f8e3a7c200/greenlet-3.1.1-cp312-cp312-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                40
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=514bdee3a6a1f93c9da5f06f6bc50e8560158f46f333aa37d7443e4cf634e706",
          "hashes": {
            "sha256": "514bdee3a6a1f93c9da5f06f6bc50e8560158f46f333aa37d7443e4cf634e706"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/514/bdee3a6a1f93c/greenlet-3.1.1-cp313-cp313-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                41
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=7b648071efe1f97c62f76e61b4e0d9f32bf12abb67ae8026ed52fd72d2a312bb",
          "hashes": {
            "sha256": "7b648071efe1f97c62f76e61b4e0d9f32bf12abb67ae8026ed52fd72d2a312bb"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/7b6/48071efe1f97c/greenlet-3.1.1-cp39-cp39-manylinux_2_24_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                32,
                41
              ],
              "dst": "ppc64le/linux"
            }
          ]
        }
      ]
    }
  },
  "type": "projectconfig"
}
