Search.setIndex({"alltitles": {"0.3": [[3, "id39"]], "0.3.1": [[3, "id38"]], "0.3.2": [[3, "id37"]], "0.3.3": [[3, "id36"]], "0.3.4": [[3, "id35"]], "0.4.0": [[3, "id34"]], "0.4.1": [[3, "id33"]], "0.4.10": [[3, "id24"]], "0.4.11": [[3, "id23"]], "0.4.12": [[3, "id22"]], "0.4.13": [[3, "id21"]], "0.4.14": [[3, "id20"]], "0.4.15": [[3, "id19"]], "0.4.16": [[3, "id18"]], "0.4.17 (2020-09-22)": [[3, "id17"]], "0.4.2": [[3, "id32"]], "0.4.3": [[3, "id31"]], "0.4.4": [[3, "id30"]], "0.4.5": [[3, "id29"]], "0.4.6": [[3, "id28"]], "0.4.7": [[3, "id27"]], "0.4.8": [[3, "id26"]], "0.4.9": [[3, "id25"]], "1.0.0 (2021-01-13)": [[3, "id16"]], "1.0a1 (2020-11-20)": [[3, "a1-2020-11-20"]], "1.1.0 (2021-05-06)": [[3, "id15"]], "1.1.1 (2021-08-06)": [[3, "id14"]], "1.1.2 (2021-09-29)": [[3, "id13"]], "1.1.3 (2022-08-25)": [[3, "id12"]], "1.1.3.post0 (2022-10-10)": [[3, "post0-2022-10-10"]], "2.0.0 (2022-10-31)": [[3, "id9"]], "2.0.0.post0 (2022-11-03)": [[3, "post0-2022-11-03"]], "2.0.0a1 (2022-01-20)": [[3, "a1-2022-01-20"]], "2.0.0a2 (2022-03-24)": [[3, "a2-2022-03-24"]], "2.0.0rc1 (2022-10-27)": [[3, "rc1-2022-10-27"]], "2.0.0rc2 (2022-10-28)": [[3, "rc2-2022-10-28"]], "2.0.0rc3 (2022-10-29)": [[3, "rc3-2022-10-29"]], "2.0.0rc4 (2022-10-30)": [[3, "rc4-2022-10-30"]], "2.0.0rc5 (2022-10-31)": [[3, "rc5-2022-10-31"]], "2.0.1 (2022-11-07)": [[3, "id8"]], "2.0.2 (2023-01-28)": [[3, "id7"]], "3.0.0 (2023-10-02)": [[3, "id5"]], "3.0.0a1 (2023-06-21)": [[3, "a1-2023-06-21"]], "3.0.0rc1 (2023-09-01)": [[3, "rc1-2023-09-01"]], "3.0.0rc2 (2023-09-09)": [[3, "rc2-2023-09-09"]], "3.0.0rc3 (2023-09-12)": [[3, "rc3-2023-09-12"]], "3.0.1 (2023-10-25)": [[3, "id4"]], "3.0.2 (2023-12-08)": [[3, "id3"]], "3.0.3 (2023-12-21)": [[3, "id2"]], "3.1.0 (2024-09-10)": [[3, "id1"]], "A Cycle Of Greenlets Is A Leak": [[8, "a-cycle-of-greenlets-is-a-leak"]], "A Simple Terminal App": [[9, "a-simple-terminal-app"]], "Advanced Usage": [[11, null]], "C API Reference": [[1, null]], "Caveats and Known Issues": [[2, null]], "Changes": [[3, null], [3, "id11"]], "Changing The Parent": [[5, "changing-the-parent"]], "Competing Event Loops": [[9, "competing-event-loops"]], "Contents": [[11, null]], "Context Variables (asyncio)": [[4, null]], "Creating And Executing Greenlets": [[5, null]], "Cycles In Frames": [[8, "cycles-in-frames"]], "Cycles In Suspended Frames Are Not Collected": [[8, "cycles-in-suspended-frames-are-not-collected"]], "Development Process": [[6, null]], "Enter greenlets: Dual Infinite Loops": [[9, "enter-greenlets-dual-infinite-loops"]], "Exceptions": [[0, "exceptions"], [1, "exceptions"]], "Fixes": [[3, "fixes"]], "Functions": [[1, "functions"]], "Further Reading": [[9, "further-reading"]], "Garbage Collection and greenlets": [[8, null]], "Getting Greenlet": [[10, "getting-greenlet"]], "Getting Started": [[11, null]], "Github": [[6, "github"]], "Greenlet Parents": [[7, "greenlet-parents"]], "Greenlets": [[0, "greenlets"]], "Greenlets and Python Threads": [[12, null]], "History And About": [[10, null]], "Indices and tables": [[11, "indices-and-tables"]], "Interrupting Greenlets by Throwing Exceptions": [[5, "interrupting-greenlets-by-throwing-exceptions"]], "Known Issues": [[3, "known-issues"]], "Manually Clearing Cycles Works": [[8, "manually-clearing-cycles-works"]], "Motivation: Treating an Asynchronous GUI Like a Synchronous Loop": [[9, null]], "Multiple And Keyword Arguments": [[13, "multiple-and-keyword-arguments"]], "Native Functions Should Be Re-entrant": [[2, "native-functions-should-be-re-entrant"]], "Packaging Changes": [[3, "packaging-changes"]], "Platform Support": [[3, "platform-support"]], "Platforms": [[3, "platforms"], [3, "id10"]], "Python API Reference": [[0, null]], "Reference Material": [[11, null]], "Releases": [[6, "releases"]], "Subclassing greenlet": [[5, "subclassing-greenlet"]], "Supported Platforms": [[3, "supported-platforms"]], "Switching Between Greenlets: Passing Objects and Control": [[13, null]], "Switching Isn\u2019t Contagious": [[9, null]], "Switching To Dead Greenlets": [[13, "switching-to-dead-greenlets"]], "Switching greenlets": [[7, "switching-greenlets"]], "The Current greenlet": [[7, "the-current-greenlet"]], "The Main greenlet": [[7, "the-main-greenlet"]], "The greenlet Lifecycle": [[7, "the-greenlet-lifecycle"]], "Trace Callback Functions": [[14, "trace-callback-functions"]], "Tracing": [[0, "tracing"]], "Tracing And Profiling": [[14, null]], "Types": [[1, "types"]], "Uncaught Exceptions are Raised In the Parent": [[7, "uncaught-exceptions-are-raised-in-the-parent"]], "Use Caution Mixing Greenlets and Signal Handlers": [[2, "use-caution-mixing-greenlets-and-signal-handlers"]], "Who is using Greenlet?": [[10, "who-is-using-greenlet"]], "greenlet Concepts": [[7, null]], "greenlet: Lightweight concurrent programming": [[11, null]]}, "docnames": ["api", "c_api", "caveats", "changes", "contextvars", "creating_executing_greenlets", "development", "greenlet", "greenlet_gc", "gui_example", "history", "index", "python_threads", "switching", "tracing"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1}, "filenames": ["api.rst", "c_api.rst", "caveats.rst", "changes.rst", "contextvars.rst", "creating_executing_greenlets.rst", "development.rst", "greenlet.rst", "greenlet_gc.rst", "gui_example.rst", "history.rst", "index.rst", "python_threads.rst", "switching.rst", "tracing.rst"], "indexentries": {"dead (greenlet.greenlet attribute)": [[0, "greenlet.greenlet.dead", false]], "error": [[0, "greenlet.error", false]], "getcurrent() (in module greenlet)": [[0, "greenlet.getcurrent", false]], "gettrace() (in module greenlet)": [[0, "greenlet.gettrace", false]], "gr_context (greenlet.greenlet attribute)": [[0, "greenlet.greenlet.gr_context", false]], "gr_frame (greenlet.greenlet attribute)": [[0, "greenlet.greenlet.gr_frame", false]], "greenlet (class in greenlet)": [[0, "greenlet.greenlet", false]], "greenletexit": [[0, "greenlet.GreenletExit", false]], "parent (greenlet.greenlet attribute)": [[0, "greenlet.greenlet.parent", false]], "pep 567": [[4, "index-0", false]], "pyexc_greenleterror (c type)": [[1, "c.PyExc_GreenletError", false]], "pyexc_greenletexit (c type)": [[1, "c.PyExc_GreenletExit", false]], "pygreenlet (c type)": [[1, "c.PyGreenlet", false]], "pygreenlet_active (c function)": [[1, "c.PyGreenlet_ACTIVE", false]], "pygreenlet_check (c function)": [[1, "c.PyGreenlet_Check", false]], "pygreenlet_getcurrent (c function)": [[1, "c.PyGreenlet_GetCurrent", false]], "pygreenlet_getparent (c function)": [[1, "c.PyGreenlet_GetParent", false]], "pygreenlet_import (c function)": [[1, "c.PyGreenlet_Import", false]], "pygreenlet_new (c function)": [[1, "c.PyGreenlet_New", false]], "pygreenlet_setparent (c function)": [[1, "c.PyGreenlet_SetParent", false]], "pygreenlet_started (c function)": [[1, "c.PyGreenlet_STARTED", false]], "pygreenlet_switch (c function)": [[1, "c.PyGreenlet_Switch", false]], "pygreenlet_throw (c function)": [[1, "c.PyGreenlet_Throw", false]], "python enhancement proposals": [[4, "index-0", false]], "run (greenlet.greenlet attribute)": [[0, "greenlet.greenlet.run", false]], "settrace() (in module greenlet)": [[0, "greenlet.settrace", false]], "switch() (greenlet.greenlet method)": [[0, "greenlet.greenlet.switch", false]], "throw() (greenlet.greenlet method)": [[0, "greenlet.greenlet.throw", false]]}, "objects": {"": [[1, 0, 1, "c.PyExc_GreenletError", "PyExc_GreenletError"], [1, 0, 1, "c.PyExc_GreenletExit", "PyExc_GreenletExit"], [1, 0, 1, "c.PyGreenlet", "PyGreenlet"], [1, 1, 1, "c.PyGreenlet_ACTIVE", "PyGreenlet_ACTIVE"], [1, 1, 1, "c.PyGreenlet_Check", "PyGreenlet_Check"], [1, 1, 1, "c.PyGreenlet_GetCurrent", "PyGreenlet_GetCurrent"], [1, 1, 1, "c.PyGreenlet_GetParent", "PyGreenlet_GetParent"], [1, 1, 1, "c.PyGreenlet_Import", "PyGreenlet_Import"], [1, 1, 1, "c.PyGreenlet_New", "PyGreenlet_New"], [1, 1, 1, "c.PyGreenlet_STARTED", "PyGreenlet_STARTED"], [1, 1, 1, "c.PyGreenlet_SetParent", "PyGreenlet_SetParent"], [1, 1, 1, "c.PyGreenlet_Switch", "PyGreenlet_Switch"], [1, 1, 1, "c.PyGreenlet_Throw", "PyGreenlet_Throw"]], "PyGreenlet_ACTIVE": [[1, 2, 1, "c.PyGreenlet_ACTIVE", "g"]], "PyGreenlet_Check": [[1, 2, 1, "c.PyGreenlet_Check", "p"]], "PyGreenlet_GetParent": [[1, 2, 1, "c.PyGreenlet_GetParent", "g"]], "PyGreenlet_New": [[1, 2, 1, "c.PyGreenlet_New", "parent"], [1, 2, 1, "c.PyGreenlet_New", "run"]], "PyGreenlet_STARTED": [[1, 2, 1, "c.PyGreenlet_STARTED", "g"]], "PyGreenlet_SetParent": [[1, 2, 1, "c.PyGreenlet_SetParent", "g"], [1, 2, 1, "c.PyGreenlet_SetParent", "nparent"]], "PyGreenlet_Switch": [[1, 2, 1, "c.PyGreenlet_Switch", "args"], [1, 2, 1, "c.PyGreenlet_Switch", "g"], [1, 2, 1, "c.PyGreenlet_Switch", "kwargs"]], "PyGreenlet_Throw": [[1, 2, 1, "c.PyGreenlet_Throw", "g"], [1, 2, 1, "c.PyGreenlet_Throw", "tb"], [1, 2, 1, "c.PyGreenlet_Throw", "typ"], [1, 2, 1, "c.PyGreenlet_Throw", "val"]], "greenlet": [[0, 3, 1, "", "GreenletExit"], [0, 3, 1, "", "error"], [0, 4, 1, "", "getcurrent"], [0, 4, 1, "", "gettrace"], [0, 5, 1, "", "greenlet"], [0, 4, 1, "", "settrace"]], "greenlet.greenlet": [[0, 6, 1, "", "dead"], [0, 6, 1, "", "gr_context"], [0, 6, 1, "", "gr_frame"], [0, 6, 1, "", "parent"], [0, 6, 1, "", "run"], [0, 7, 1, "", "switch"], [0, 7, 1, "", "throw"]]}, "objnames": {"0": ["c", "type", "C type"], "1": ["c", "function", "C function"], "2": ["c", "functionParam", "C function parameter"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"], "5": ["py", "class", "Python class"], "6": ["py", "attribute", "Python attribute"], "7": ["py", "method", "Python method"]}, "objtypes": {"0": "c:type", "1": "c:function", "2": "c:functionParam", "3": "py:exception", "4": "py:function", "5": "py:class", "6": "py:attribute", "7": "py:method"}, "terms": {"": [0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14], "0": [0, 1, 4, 7, 12], "0a4": 3, "0a6": 3, "1": [0, 1, 4, 7, 8, 9, 11, 13], "10a0": 3, "10rc1": 3, "12": 0, "143": 2, "184": 3, "185": 3, "1909": 3, "1924": 3, "197": 3, "198": 3, "1985": 3, "2": [4, 7, 8, 12], "215": 3, "218": 3, "245": 3, "251": 3, "252": 3, "256": 3, "257": 3, "271": 3, "280": 3, "286": 3, "294": 3, "3": [0, 4, 7, 8], "300": 3, "302": 3, "32": 3, "325": 3, "328": 3, "330": 3, "332": 3, "334": 3, "335": 3, "336": 3, "346": 3, "347": 3, "356": 3, "358": 3, "376": 3, "385": 3, "388": 3, "393": 3, "40": 3, "411": 3, "42": [5, 13], "567": [3, 4], "6": 0, "64": 3, "7": 4, "8a3": 3, "9a5": 3, "A": [0, 1, 3, 4, 7, 10, 11, 13], "And": [0, 7, 11], "As": [5, 7, 13], "At": 7, "But": 9, "By": [4, 9], "For": [0, 3, 4, 7, 9, 10, 11, 12, 13, 14], "If": [0, 1, 4, 5, 8, 11, 12, 13], "In": [2, 3, 5, 9, 11, 12, 14], "It": [3, 4, 8, 9, 12, 14], "No": 3, "Of": [5, 9, 14], "On": 4, "One": [4, 9], "Such": 8, "The": [0, 1, 2, 3, 4, 6, 8, 9, 10, 11, 13, 14], "There": [3, 10], "These": [7, 8], "To": [5, 11], "_": [4, 5, 8, 12, 14], "__declspec": 3, "__del__": [3, 8], "__dict__": [3, 7], "__slots__": 3, "__str__": 14, "__thread": 3, "_msc_ver": 3, "_stack_sav": 3, "aarch64": [3, 6], "abc": 3, "abi": [1, 3, 6], "abil": 3, "abort": 3, "about": [3, 5, 6, 7, 9, 11], "abov": [3, 4, 6, 7, 9, 11, 13], "abstract": [3, 11], "accept": [3, 9], "access": [0, 3, 4], "accumul": 9, "across": 4, "action": 3, "activ": [0, 1, 3, 4, 7, 8], "actual": 13, "ad": [0, 3, 4], "add": 3, "addit": [0, 5, 9, 11, 12], "addition": 10, "adjust": 0, "adler": 3, "adrian": 3, "advanc": 10, "after": [0, 3, 4, 9, 13], "again": [7, 12, 13], "against": 3, "aix": 3, "alexand": 3, "alia": 3, "aliv": 12, "all": [3, 4, 8, 9, 11, 12, 13], "alloc": 3, "allow": [0, 3, 7, 9], "almost": [0, 4], "alpha": 3, "alpin": 3, "alreadi": 3, "also": [3, 4, 5, 7, 8, 9, 11], "alter": 3, "altern": [4, 9, 10], "although": 13, "alwai": 3, "am_i_main": 7, "ambroff": 3, "amd64": 3, "among": [3, 8], "amount": 3, "an": [0, 1, 2, 3, 4, 5, 7, 8, 11, 12, 13], "analogi": 11, "andrea": 3, "andrew": 3, "ani": [4, 5, 7, 8, 9, 11, 13, 14], "anoth": [3, 4, 7, 9, 12, 13], "anyth": 0, "apart": [8, 13], "api": [3, 11, 14], "app": 11, "appar": 11, "appear": 13, "appli": [0, 3], "applic": [1, 3, 9], "approach": 11, "ar": [0, 1, 3, 5, 6, 9, 10, 11, 12, 13, 14], "arbitrari": [4, 7], "architectur": 3, "archiv": 10, "area": 3, "arg": [0, 1, 13, 14], "argument": [0, 1, 3, 5, 9, 11], "arigo": 3, "arm": 3, "arm32": 3, "arm64": 3, "around": [9, 13], "arrang": 9, "asid": 3, "ask": [3, 13], "assembli": 3, "assert": 3, "assign": [3, 4, 5], "assum": 9, "async": [3, 9, 11], "asynchron": [8, 11], "asyncio": [0, 9, 11], "atop": 3, "attach": 3, "attempt": [2, 12, 13], "attribut": [0, 3, 4, 5, 7, 8], "attributeerror": [0, 1, 5], "author": 9, "automat": [1, 8], "avail": [1, 3, 10], "avoid": [2, 11], "awai": 8, "await": 9, "awar": [4, 9], "back": [2, 3, 7, 8, 9, 13], "bajo": 3, "baro": 3, "base": [0, 3, 9, 14], "baseexcept": [0, 3], "bayer": 3, "becam": 3, "becaus": [3, 4, 8, 11, 12], "becom": [3, 4, 7, 8], "been": [1, 3, 9, 12], "befor": [0, 3, 4, 7], "begin": [0, 5, 7, 8], "begun": [4, 13], "behavior": 4, "being": 7, "belong": [3, 12], "below": [4, 7], "besid": [1, 5], "best": [3, 12], "better": 3, "between": [0, 5, 7, 9, 11, 12], "binari": [3, 6, 10], "bit": 3, "block": [8, 9], "bookkeep": 11, "bool": 0, "boolean": 0, "boonsnaibot": 3, "both": [1, 3, 7, 8, 9], "bottom": 7, "box": 3, "brandt": 3, "break": [6, 9, 13], "bucher": 3, "bug": [3, 11], "build": [3, 10, 11], "built": [0, 3, 5, 10, 11], "c": [2, 3, 9, 10, 11, 12], "call": [0, 1, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14], "callabl": [0, 1, 3], "callback": [0, 3, 9], "caller": 9, "can": [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14], "cannot": [0, 3, 12], "capabl": 11, "care": 11, "carefulli": 12, "case": [3, 5, 8, 9, 12, 13, 14], "caswel": 3, "catch": 8, "caught": [5, 13], "caus": [3, 7], "caution": 12, "caveat": 11, "cento": 3, "certain": 3, "chain": 5, "challeng": [3, 4], "chanc": [3, 8], "chang": [4, 6, 7, 9, 11, 12], "channel": 10, "charact": 9, "check": 3, "child": 5, "child_glet": [5, 12], "child_greenlet": 8, "child_result": 5, "choos": 7, "ci": 3, "clang": 3, "class": [0, 3, 5, 7, 8, 12, 14], "classifi": 3, "clean": [3, 8], "cleanup": 3, "clear": [3, 12], "clobber": 3, "code": [3, 7, 9, 10, 11, 14], "codebas": 9, "coin": 9, "collect": [3, 6, 7, 11, 12], "collect_it": 8, "com": [6, 10], "combin": [3, 12], "come": [7, 9], "command": [3, 6, 9], "common": [2, 3], "commonli": 5, "commun": [3, 9], "compat": [3, 14], "compet": 11, "compil": 3, "complet": [9, 11], "complex": 9, "complic": 9, "concept": [9, 11], "concurr": 10, "condit": [9, 11, 12], "conflict": 4, "conform": 3, "connect": 9, "consid": [3, 6, 9, 12], "consist": 3, "consol": 9, "constraint": 3, "construct": 2, "constructor": 3, "consult": 5, "contact": 3, "contain": [3, 7, 12], "context": [0, 3, 9, 11, 14], "contextvar": [0, 3, 4, 9], "continu": [3, 7, 9, 11], "contrast": [9, 11], "contribut": 3, "control": [0, 3, 4, 5, 7, 8, 9, 10, 11], "conveni": 13, "convent": 14, "cool": 9, "cooler": 9, "cooper": 11, "copi": [3, 4], "copy_context": 4, "coroutin": [10, 11], "correct": 3, "correctli": 3, "correspond": 1, "corrupt": [2, 3], "could": [3, 7, 9], "count": 3, "cours": [5, 9, 14], "cpu": 3, "cpython": [0, 2, 3, 10, 11], "crash": [0, 3], "crasher": 3, "creat": [0, 1, 3, 4, 6, 7, 8, 9, 11, 13], "created_at": 5, "creation": 5, "curiou": 9, "current": [0, 1, 3, 4, 5, 11], "curs": 9, "custom": [3, 10], "cycl": [0, 5, 12], "cycle1": 8, "cycle2": 8, "cyclic": [5, 8], "d": 9, "data": [3, 8, 10], "dead": [0, 3, 4, 7, 8, 9, 11, 12], "deadlock": 11, "deal": 3, "dealloc": 3, "debian": 3, "debug": [3, 14], "dec": 3, "decrement": 1, "deepcopi": 3, "def": [0, 4, 5, 7, 8, 9, 11, 12, 13, 14], "default": [0, 3, 4, 5, 7], "defer": 3, "defin": [0, 3, 4, 5, 7, 8, 9, 11, 14], "del": 8, "delai": 3, "delet": [3, 5, 8], "deliber": 3, "deliveri": 9, "demonstr": [7, 8, 9], "depend": [3, 9], "deploy": 3, "deprec": 3, "describ": [0, 2, 13], "design": 4, "desir": [5, 9, 11], "destructor": 3, "detail": [0, 3, 7, 12], "detect": [8, 12, 14], "develop": [3, 11], "di": [1, 7, 12, 13], "dict": [1, 13], "dictionari": 3, "did": [3, 13], "didn": 3, "die": [7, 8], "differ": [3, 4, 5, 7, 8, 9, 10, 11, 12], "difficult": [9, 14], "direct": 3, "directli": [3, 7], "directori": 3, "disabl": 3, "discov": 3, "distribut": 10, "distutil": 3, "diverg": 9, "dll": 3, "do": [3, 4, 8, 9, 12], "doctest": 7, "document": [2, 3, 5, 6, 9, 10], "doe": [0, 3, 4, 6, 7, 8, 13], "doesn": [2, 4, 7, 8, 9, 14], "domin": 3, "don": [0, 3, 7, 8, 9, 10], "done": [3, 7, 14], "down": 3, "driven": 11, "droettboom": 3, "drop": 3, "dual": 11, "due": 3, "dure": [3, 13], "dy": 13, "e": [0, 3, 4, 11], "each": [1, 4, 9, 12], "earli": 3, "earlier": [0, 3, 4], "easiest": 10, "echo_user_input": 9, "edg": 2, "effect": [4, 9, 11], "effort": 3, "either": [3, 5, 8], "element": 13, "elimin": 11, "els": [11, 14], "emb": [1, 3], "empti": [0, 1, 4, 7, 13], "en": 13, "en_u": 13, "en_us_ok": 13, "enabl": [3, 4, 8], "end": [3, 7], "endswith": 9, "enhanc": 3, "enter": [2, 4, 11, 13], "entir": [1, 3, 11, 13], "entrant": 3, "entri": 4, "environ": [3, 4, 11], "equival": 0, "err": 3, "error": [0, 1, 3, 12], "etc": [3, 7], "even": [8, 9, 11], "event": [0, 11, 12, 14], "event_keydown": 9, "eventlet": 10, "eventu": 7, "ever": [3, 7, 8], "everi": 7, "exactli": 10, "exampl": [2, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14], "except": [3, 4, 8, 11, 13, 14], "exchang": [9, 10], "execut": [0, 3, 7, 8, 9, 11, 13], "exist": [0, 3, 11], "exit": [3, 4, 5, 9, 12], "expat": 9, "expect": [3, 5, 8, 14], "experi": 3, "experiment": 3, "explicit": 8, "explicitli": [7, 8, 9], "explor": 11, "expos": [1, 3], "extend": 14, "extens": [1, 3, 10], "extra": 3, "f_back": [0, 3], "fact": [9, 12], "fail": [1, 3], "failur": 3, "fake": 9, "fall": [7, 8], "fals": [0, 7], "familiar": 11, "fantix": 3, "fashion": [8, 9], "fatal": 3, "favorit": 3, "featur": [8, 11], "feed": 9, "few": [7, 10], "fewer": 11, "file": [3, 7], "final": [7, 8, 13], "find": [0, 8], "finish": [0, 5, 7, 13], "finished_at": 5, "first": [3, 4, 7, 9, 13], "fit": 9, "fix": 2, "flexibl": 10, "flow": [9, 10, 11], "flub": 3, "fno": 3, "follow": [0, 3, 9, 14], "footnot": [9, 11], "form": 4, "format": 3, "former": 7, "forth": 9, "found": [3, 8], "fragil": 0, "frame": [0, 2, 3, 7, 14], "framework": [5, 9, 11], "free": 3, "freed": 8, "frequent": 11, "from": [0, 1, 3, 4, 7, 8, 9, 11, 12, 13, 14], "full": 3, "fulli": 11, "fullreleas": 6, "func": 4, "function": [0, 3, 4, 5, 7, 8, 9, 10, 11, 13], "further": 11, "futur": [3, 13], "fygao": 3, "g": [0, 1, 3, 13], "g_processor": 9, "g_raiser": 0, "garbag": [3, 7, 11, 12], "gc": [3, 8], "gcc": 3, "gener": [0, 3, 7, 8, 9, 10, 11], "get": [2, 4, 7, 9], "getch": 9, "getcurr": [0, 3, 4, 5, 7, 8, 9, 12], "gettrac": [0, 14], "gevent": [2, 3, 5, 10, 11], "ghazel": 3, "gi": 3, "gil": [3, 11], "giovanni": 3, "github": [3, 10], "give": [3, 8, 9], "given": [0, 1, 13], "glet": [3, 5, 7, 8], "global": [2, 11], "go": [3, 7, 8], "goe": [8, 13], "gorzinski": 3, "got": [8, 9, 13], "gr1": [4, 7, 13], "gr2": [4, 7, 13], "gr3": 4, "gr4": 4, "gr_": 7, "gr_context": [0, 3, 4], "gr_frame": [0, 3], "gracefulli": 3, "greatli": [3, 11], "greenlet": [1, 3, 4, 6, 14], "greenlet_static_runtim": 3, "greenlet_vers": 3, "greenletexit": [0, 1, 3, 5, 8, 13], "group": 3, "guarante": 12, "gui": 11, "gui_mainloop": 9, "gz": 3, "h": [1, 3], "ha": [1, 3, 4, 7, 9, 11, 12, 13], "halt": 9, "hand": [9, 10], "handl": [0, 3, 14], "hang": 2, "happen": [3, 12, 14], "hasn": 13, "have": [3, 4, 5, 7, 8, 9, 11, 12, 13, 14], "header": [1, 3], "heart": 9, "heavili": 3, "held": [3, 8], "hello": [9, 13], "help": 3, "here": [8, 9, 13, 14], "hidden": 8, "high": 3, "higher": 11, "histori": 11, "hitachi": 3, "hold": [3, 4], "hope": 3, "host": 10, "how": [6, 8, 9, 11, 13], "howdi": 13, "howev": [3, 4, 10, 11, 12], "http": [3, 6, 10], "hugo": 3, "i": [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 13, 14], "i386": 3, "ibm": 3, "ignor": [3, 8, 9], "immedi": [0, 1, 3, 9, 13], "impact": 3, "implement": [1, 3, 9, 11, 12], "implicit": [7, 9, 10], "implicitli": 4, "import": [1, 3, 4, 5, 7, 8, 9, 12, 13, 14], "imposs": 11, "improv": [3, 14], "includ": [2, 3, 6, 8], "incompat": [3, 9], "inde": 13, "independ": [7, 12], "index": [10, 11], "indic": 3, "infinit": [8, 11], "inform": [0, 3, 5, 13], "infrastructur": 3, "inherit": 4, "init": 1, "initi": [1, 3, 4, 5, 7], "inner": [8, 13], "inner_glet": 13, "innermost": [3, 7], "input": 9, "insid": [3, 4], "instal": [3, 6, 10, 14], "instanc": [3, 5], "instanti": 5, "instead": [3, 4, 5, 14], "instruct": 9, "int": 1, "integr": [3, 11], "intent": 0, "interact": 9, "interest": 11, "intermitt": 3, "intern": [2, 3, 9], "interpret": [0, 1, 3, 9, 10, 11], "interrupt": [8, 11], "intrins": 3, "introduc": [0, 3, 8, 9], "introduct": 11, "introspect": [0, 3], "invok": [0, 3, 9], "involv": [8, 11], "io": [3, 10, 11], "issu": [9, 11], "item": 3, "its": [0, 1, 3, 4, 5, 7, 8, 9, 11, 13], "itself": [3, 8, 9, 13], "jare": 3, "jess": 3, "job": 9, "joe": 3, "join": 12, "joshua": 3, "jump": [7, 9, 13], "just": [8, 9, 13], "keep": 12, "kei": 9, "kemenad": 3, "kept": 9, "kernel": 11, "kevin": 3, "keypress": 9, "keyword": [1, 3, 9, 10, 11], "khem": 3, "kill": [3, 7], "king": 3, "kiril": 3, "known": 11, "kuolt": 3, "kwarg": [0, 1, 13], "kyle": 3, "lambda": 12, "languag": [3, 11, 13], "larg": 3, "last": [3, 4, 5, 7, 8, 12, 13], "later": [0, 3, 5, 13], "latter": 7, "layout": 3, "lead": [2, 3, 8], "leak": [3, 12], "least": 3, "leav": 8, "led": 2, "left": [3, 8], "legitim": 8, "let": [7, 8, 9], "level": [3, 4, 7, 8, 9, 10, 11], "lib": 3, "libev": 11, "librari": [2, 3, 7, 10, 11], "libstdc": 3, "libuv": [2, 11], "life": 3, "lifecycl": 11, "lifetim": 12, "lift": 3, "lightweight": 10, "like": [2, 3, 4, 8, 11], "limit": [3, 8, 11], "line": [7, 9], "link": [0, 3], "linux": [3, 6], "list": 3, "live": 3, "ll": 9, "llvm": 3, "load": 3, "local": [3, 4], "locat": 6, "lock": [9, 11], "log": 3, "logic": [7, 9], "long": [3, 7], "longer": [0, 3], "loongarch64": 3, "loop": [5, 8, 11], "low": 3, "lurk": 3, "m": 3, "m68k": 3, "machin": 9, "maco": [3, 6], "macro": [1, 3], "made": 6, "mai": [0, 1, 2, 3, 4, 7, 8, 12], "main": [0, 2, 3, 5, 8, 9, 11, 12, 13], "main_glet": 12, "main_greenlet": 9, "maintain": [0, 3, 9], "major": [3, 6, 11], "make": [0, 3, 4, 9, 10, 12], "manag": 12, "mani": [3, 9, 11], "manifest": 3, "manipul": 1, "manylinux1": 3, "mark": 3, "match": 4, "matt": 3, "matter": 4, "mbachri": 3, "mean": [1, 3, 9, 11, 13], "mechan": [3, 9], "memori": [3, 8, 12], "meror": 3, "messag": [3, 12], "metadata": 3, "method": [0, 3, 5, 8, 13, 14], "michael": 3, "micro": 10, "middl": [3, 9], "might": [3, 4, 9], "mike": 3, "mind": 4, "minggw": 3, "mingw": 3, "minim": 3, "mip": 3, "miss": 3, "mix": 12, "mode": 3, "modifi": [0, 4], "modul": [0, 1, 3, 7, 10, 11, 14], "more": [0, 2, 3, 5, 7, 9, 10, 11], "most": [0, 3, 5, 7, 9, 12], "motiv": 11, "motl": 3, "move": 3, "msvc": 3, "much": [1, 2, 9], "multi": 3, "multipl": [3, 11], "musllinux": 3, "must": [0, 1, 2, 3, 4, 5, 7, 14], "myexcept": 5, "mygreenlet": 5, "n": 9, "name": [1, 3, 7, 14], "nameerror": 7, "nativ": [0, 3, 4, 9, 11], "necessari": 3, "necessarili": 1, "necessit": 11, "need": [4, 9, 10], "nest": [3, 10, 13], "netbsd": 3, "never": [3, 7, 9, 13], "new": [0, 1, 3, 4, 5, 8, 9, 14], "newer": 3, "next": [0, 9], "next_char": 9, "next_valu": 4, "nice": 9, "noinlin": 3, "non": [0, 1, 3, 4], "none": [0, 3, 4, 5, 7, 8, 12, 13], "normal": [0, 13], "note": [0, 1, 3, 6, 7, 8, 9, 13, 14], "noth": 3, "notic": 9, "notifi": 9, "notion": 10, "now": [3, 4, 9, 13], "nparent": 1, "null": [1, 3], "number": [3, 7, 13], "o": [10, 11], "object": [0, 1, 3, 4, 5, 7, 8, 11, 12, 14], "obscur": 0, "observ": 12, "obtain": 7, "occur": [3, 4, 13], "off": [7, 10], "often": [3, 9, 11], "old": 3, "old_trac": 14, "older": [3, 4], "omit": 3, "onc": [0, 1, 4, 9], "one": [0, 2, 3, 4, 7, 9, 11, 12, 13, 14], "ongo": 3, "onli": [0, 3, 4, 7, 8, 9, 13, 14], "openbsd": 3, "openbsd5": 3, "oper": [9, 11], "opt": 3, "optim": 3, "option": 1, "order": [0, 2, 9, 11], "oreman": 3, "org": [3, 10], "organ": 7, "origin": [0, 3, 7, 9, 14], "other": [3, 5, 7, 8, 9, 10, 11, 13], "otherwis": 0, "our": [9, 10, 13], "out": [3, 7], "outer": [8, 13], "outer_glet": [8, 13], "outermost": 7, "outlin": 4, "over": 9, "overhead": 0, "own": [3, 4, 9, 10, 11, 13], "p": 1, "packag": [0, 10], "page": 11, "parallel": [7, 11], "paramet": [0, 1, 14], "parent": [0, 1, 3, 8, 9, 11, 13], "parent_glet": 5, "parser": 9, "part": [3, 9], "partial": 3, "particip": 8, "particular": [3, 8], "pass": [0, 1, 3, 5, 7, 9, 11, 12, 14], "patch": 3, "pattern": [0, 3, 11], "paus": 7, "pep": [3, 4], "perform": 3, "permit": 5, "petr": 3, "phase": 3, "pip": [6, 10], "piqu": 11, "piskun": 3, "plain": 3, "platform": 12, "pleas": [0, 3], "plug": 9, "point": [7, 13], "pointer": [1, 3], "polici": 11, "port": 3, "posit": [9, 13], "possibl": [3, 4, 12], "potenti": [3, 4, 12, 14], "powerpc": 3, "ppc": 3, "ppc32": 3, "ppc64": 3, "ppc64le": 3, "pr": 3, "practic": [3, 11], "pre": 3, "precis": [11, 13], "preemptiv": 11, "prefer": 5, "preliminari": 3, "preprocessor": 3, "present": 8, "preserv": 9, "press": 9, "pretti": 9, "prevent": [3, 11], "previou": [0, 3, 14], "previous": [3, 13], "previous_valu": 4, "primari": 6, "primit": 10, "print": [4, 5, 7, 8, 9, 13, 14], "prior": 12, "problem": [2, 3, 9], "proce": [2, 11], "process": [3, 7, 8, 9, 10, 11], "process_command": 9, "product": 3, "profil": [0, 3, 11], "program": [2, 3, 8, 9, 10], "programm": 11, "project": [3, 10], "prompt": 9, "propag": [0, 5, 7, 13], "properti": [3, 12], "provid": [0, 1, 3, 10, 11, 13], "psabi": 3, "pseudo": [7, 10], "publish": 3, "pull": [7, 9], "pure": [1, 3], "purpos": [9, 11], "push": [6, 9], "put": [9, 13], "py": [3, 10], "pycapsul": 3, "pyerr_restor": 1, "pyexc_greenleterror": 1, "pyexc_greenletexit": 1, "pygreenlet": 1, "pygreenlet_act": 1, "pygreenlet_check": 1, "pygreenlet_get_par": 3, "pygreenlet_getcurr": 1, "pygreenlet_getpar": [1, 3], "pygreenlet_import": 1, "pygreenlet_new": 1, "pygreenlet_setpar": [1, 3], "pygreenlet_start": 1, "pygreenlet_switch": 1, "pygreenlet_throw": [1, 3], "pyobject": 1, "pypi": [3, 6, 10], "pyproject": 3, "python": [1, 3, 4, 6, 8, 9, 10, 11, 13, 14], "python_requir": 3, "queue": [9, 11], "quickli": [7, 9], "quit": [8, 9], "r": 3, "race": [9, 11, 12], "rais": [0, 1, 3, 4, 13], "raiser": 0, "raj": 3, "ramif": 3, "raphaelauv": 3, "rare": 3, "rather": 9, "rbx": 3, "re": [3, 5, 8, 9, 11, 14], "read": 11, "read_next_char": 9, "readthedoc": [3, 10], "realli": 2, "reason": [3, 4, 12], "receiv": [8, 13], "recent": [0, 3, 5, 7, 12], "recommend": [4, 6], "recreat": 10, "redesign": 3, "reduc": 3, "reentrant": 2, "refer": [3, 8, 12], "referenc": 12, "reflect": [0, 4], "regist": 3, "regress": 3, "regular": 10, "relat": [9, 11], "releas": [3, 11], "relev": 3, "reli": [3, 12], "reliabl": [3, 14], "remain": [1, 3], "remaind": 0, "rememb": 7, "remov": [3, 8], "renam": 3, "replac": 14, "report": [0, 3], "repositori": [3, 6, 10], "repr": 3, "repres": [4, 7], "requir": [3, 8, 11], "reserv": 7, "resourc": [8, 11], "respond": 9, "rest": [2, 11], "restor": [0, 3, 14], "restrict": 4, "result": [2, 3, 9, 13], "resum": [0, 5, 7, 9, 13], "resurrect": 8, "retroact": 3, "return": [0, 1, 2, 3, 4, 5, 7, 8, 9, 13, 14], "rewrit": 9, "rhel": 3, "rickerbi": 3, "right": 4, "risc": 3, "riscv": 3, "root": 7, "row": 12, "rtfd": 3, "rudimentari": 3, "rule": [0, 13], "run": [0, 1, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14], "runner": 3, "runtim": [3, 12], "s390": 3, "s390x": 3, "safe": [0, 9], "safest": 4, "sai": 11, "same": [3, 4, 8, 11, 14], "save": 3, "schedul": [10, 11], "sdist": 3, "search": 11, "second": [3, 5, 9, 13], "section": 11, "see": [0, 2, 3, 5, 10, 11], "seem": 10, "seen": [3, 7], "segfault": 3, "seh": 3, "self": [5, 8, 12, 14], "semant": 6, "send": [7, 9, 13], "sent": 13, "sequenti": 11, "servic": 3, "set": [0, 1, 3, 4, 5, 9, 12, 13], "set_it": 4, "settrac": [0, 3, 14], "setup": 3, "setuptool": 3, "seufer": 3, "sever": [3, 10], "shannon": 3, "share": [3, 4], "sharp": 2, "should": [0, 3, 12], "show": 7, "shut": 3, "shutdown": 3, "side": 9, "signal": 5, "signatur": [0, 3, 14], "significantli": 9, "silent": 3, "silvest": 3, "similar": [9, 11, 14], "similarli": [7, 13], "simpl": 11, "simpli": [5, 9], "simplifi": 11, "sinc": [11, 13, 14], "singl": [9, 10, 11, 13], "situat": 3, "sky": 3, "slp_switch": 3, "small": 7, "smelkov": 3, "snippet": 3, "so": [3, 4, 7, 8, 9, 13, 14], "solari": 3, "solut": 9, "some": [3, 5, 12, 13], "some_inn": 4, "some_other_greenlet": 0, "someon": 13, "someth": [9, 14], "somewher": 8, "sourc": [2, 3, 10], "sparc": 3, "sparc64": 3, "spawn": [3, 4, 5, 13], "special": [3, 5, 11, 13], "specif": 3, "specifi": 7, "sphinx": 3, "spin": 10, "spread": 9, "spuriou": 3, "stabl": [1, 3], "stack": [0, 2, 3, 4, 7, 9, 11, 14], "stackless": [3, 10], "stand": 3, "standard": [3, 14], "start": [0, 1, 3, 4, 7, 9, 12, 13], "state": [0, 2, 3, 4, 5, 9, 12, 14], "static": [2, 3], "stdin": 9, "steven": 3, "still": [0, 3, 9, 10, 12, 13], "stinner": 3, "stop": [3, 9], "storag": [3, 4], "store": [3, 5, 8], "str": [13, 14], "stress": 9, "string": [3, 14], "strip": 9, "structur": [9, 10], "style": [3, 8, 11], "sub": 12, "subclass": [0, 3, 7, 11], "subject": 3, "subtl": [2, 3], "success": 1, "successfulli": 9, "suit": 11, "sun4v": 3, "suno": 3, "sunstudio": 3, "superh": 3, "support": [0, 4, 10, 11, 14], "suppos": 9, "sure": 9, "surround": 4, "suspend": [0, 3, 4, 7, 9, 12, 13], "switch": [0, 1, 2, 3, 4, 5, 8, 11, 12, 14], "sy": [9, 14], "sylvain": 3, "symptom": 3, "synchron": [10, 11], "system": [3, 9, 11], "systemerror": 3, "t": [0, 2, 3, 4, 7, 8, 10, 12, 13, 14], "tag": 6, "take": 12, "tar": 3, "target": [1, 13, 14], "task": [4, 11], "tasklet": 10, "tb": [0, 1], "techniqu": 9, "term": 1, "termin": [3, 11, 13], "test": [0, 3], "test1": [7, 13], "test2": [7, 13], "test_gener": 10, "than": [2, 3, 11], "thank": 3, "thei": [3, 8, 9, 11], "them": [4, 7, 9], "themselv": [3, 8], "theori": 11, "thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "thiemo": 3, "thing": [4, 9], "think": [7, 11], "this_greenlet": 0, "this_should_be_a_name_error": 7, "thoma": 3, "those": [3, 7, 11, 12, 13, 14], "though": [3, 9], "thread": [0, 2, 3, 4, 7, 9, 10, 11, 14], "threadstat": 3, "three": 11, "through": 3, "throughout": 9, "throw": [0, 3, 11, 13, 14], "thrown": [3, 5], "thu": 11, "thumb": 3, "time": [3, 4, 5, 7, 8, 11, 13], "togeth": [7, 9], "told": 0, "toml": 3, "too": [7, 10], "tool": 3, "toolkit": 9, "top": [4, 7, 8, 9, 10], "trace": [3, 11], "traceback": [1, 5, 7, 12], "tracer": 3, "track": 4, "transfer": [4, 7, 14], "transform": [9, 11], "transpar": 0, "trash": 3, "trashcan": 3, "travers": 0, "travi": 3, "treat": 11, "tree": [3, 7, 12], "trick": 0, "trigger": 3, "troubl": 3, "true": [0, 1, 5, 7, 8, 9, 12], "try": [3, 5, 8, 9], "tupl": [1, 13, 14], "turn": [9, 13], "tweak": 8, "two": [4, 9, 11, 14], "typ": [0, 1], "type": [0, 9], "typeerror": 5, "typic": [3, 9, 10], "typo": [3, 7], "u": [9, 13], "ultim": 3, "uncaught": 5, "uncollect": 12, "understand": 3, "undocu": 3, "unhandl": 3, "unicod": 3, "uniniti": 3, "unit": 3, "unittest": 3, "unix": 3, "unless": [0, 13], "unlik": [3, 11], "unmodifi": 10, "unpack": 14, "unrel": [4, 13], "unsupport": 3, "untest": 3, "until": [4, 9], "up": [3, 8, 13], "updat": [3, 9], "upgrad": 3, "upload": [3, 6], "upon": [3, 4, 12], "us": [1, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14], "usag": 0, "user": [7, 9], "user_input": 9, "usual": [1, 11, 13], "uwsgi": 3, "v": 3, "val": [0, 1, 7], "valu": [1, 4, 7, 9, 10, 13], "valueerror": [4, 5], "van": 3, "var": 8, "variabl": [0, 2, 3, 8, 9, 11], "variou": 3, "vc90": 3, "veri": [3, 14], "version": [0, 3, 4, 6, 10], "victor": 3, "viktorin": 3, "visibl": 3, "vladu": 3, "void": 1, "vs2009": 3, "vulner": 2, "wa": [0, 2, 3, 4, 5, 7, 9, 11, 12, 13, 14], "wai": [3, 5, 7, 8, 9, 10, 13, 14], "wait": [8, 9, 12], "walk": 3, "want": [9, 10], "wason": 3, "we": [3, 7, 8, 9, 10, 13, 14], "weakref": 3, "well": [3, 8, 11], "were": [3, 4], "what": [4, 8, 11, 14], "wheel": [3, 6], "when": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "whenev": 7, "where": [3, 4, 7, 8, 9, 13], "wherea": 11, "wherev": 9, "whether": 7, "which": [0, 3, 4, 7, 8, 9, 12, 13], "while": [3, 8, 9, 13], "whose": 13, "wind": 13, "window": [3, 6, 9], "wish": 3, "within": 8, "without": [0, 3, 8, 9, 11], "won": 8, "word": 10, "work": [0, 3, 7, 9, 11, 14], "workaround": 3, "world": 13, "wors": 3, "would": [0, 3, 4, 7], "wozniski": 3, "writabl": 0, "write": [9, 11], "written": 1, "wrong": 3, "wrote": 9, "x": [3, 13], "x32": 3, "x64": 3, "x86": 3, "x86_64": [3, 6], "xml": 9, "y": [9, 13], "yet": [0, 3, 4, 9, 13], "yield": [10, 11], "yml": 3, "you": [0, 1, 3, 4, 5, 7, 9, 10, 11, 12, 13], "your": [3, 10, 11], "z": 13, "zest": 6, "zip": 3, "zseri": 3}, "titles": ["Python API Reference", "C API Reference", "Caveats and Known Issues", "Changes", "Context Variables (asyncio)", "Creating And Executing Greenlets", "Development Process", "greenlet Concepts", "Garbage Collection and greenlets", "Motivation: Treating an Asynchronous GUI Like a Synchronous Loop", "History And About", "greenlet: Lightweight concurrent programming", "Greenlets and Python Threads", "Switching Between Greenlets: Passing Objects and Control", "Tracing And Profiling"], "titleterms": {"0": 3, "01": 3, "02": 3, "03": 3, "05": 3, "06": 3, "07": 3, "08": 3, "09": 3, "0a1": 3, "0a2": 3, "0rc1": 3, "0rc2": 3, "0rc3": 3, "0rc4": 3, "0rc5": 3, "1": 3, "10": 3, "11": 3, "12": 3, "13": 3, "14": 3, "15": 3, "16": 3, "17": 3, "2": 3, "20": 3, "2020": 3, "2021": 3, "2022": 3, "2023": 3, "2024": 3, "21": 3, "22": 3, "24": 3, "25": 3, "27": 3, "28": 3, "29": 3, "3": 3, "30": 3, "31": 3, "4": 3, "5": 3, "6": 3, "7": 3, "8": 3, "9": 3, "A": [8, 9], "And": [5, 10, 13, 14], "Be": 2, "In": [7, 8], "Not": 8, "Of": 8, "The": [5, 7], "To": 13, "about": 10, "advanc": 11, "an": 9, "api": [0, 1], "app": 9, "ar": [7, 8], "argument": 13, "asynchron": 9, "asyncio": 4, "between": 13, "c": 1, "callback": 14, "caution": 2, "caveat": 2, "chang": [3, 5], "clear": 8, "collect": 8, "compet": 9, "concept": 7, "concurr": 11, "contagi": 9, "content": 11, "context": 4, "control": 13, "creat": 5, "current": 7, "cycl": 8, "dead": 13, "develop": 6, "dual": 9, "enter": 9, "entrant": 2, "event": 9, "except": [0, 1, 5, 7], "execut": 5, "fix": 3, "frame": 8, "function": [1, 2, 14], "further": 9, "garbag": 8, "get": [10, 11], "github": 6, "greenlet": [0, 2, 5, 7, 8, 9, 10, 11, 12, 13], "gui": 9, "handler": 2, "histori": 10, "i": [8, 10], "indic": 11, "infinit": 9, "interrupt": 5, "isn": 9, "issu": [2, 3], "keyword": 13, "known": [2, 3], "leak": 8, "lifecycl": 7, "lightweight": 11, "like": 9, "loop": 9, "main": 7, "manual": 8, "materi": 11, "mix": 2, "motiv": 9, "multipl": 13, "nativ": 2, "object": 13, "packag": 3, "parent": [5, 7], "pass": 13, "platform": 3, "post0": 3, "process": 6, "profil": 14, "program": 11, "python": [0, 12], "rais": 7, "re": 2, "read": 9, "refer": [0, 1, 11], "releas": 6, "should": 2, "signal": 2, "simpl": 9, "start": 11, "subclass": 5, "support": 3, "suspend": 8, "switch": [7, 9, 13], "synchron": 9, "t": 9, "tabl": 11, "termin": 9, "thread": 12, "throw": 5, "trace": [0, 14], "treat": 9, "type": 1, "uncaught": 7, "us": [2, 10], "usag": 11, "variabl": 4, "who": 10, "work": 8}})