You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
DefaultCoroutineScope, MainCoroutineScope: implement after pythonx-concurrent #94
UI.ipynb cell 5 imports remember_saveable, DefaultCoroutineScope and MainCoroutineScope from pythonx.compose.runtime. Nothing provides them. #11 listed them in its scope, but they were never decided, and #11 closes on its declared-root and state criteria (python-multiplatform notebook E2E, #26).
Why
INTENT §4.1 and PROJECT §7.1 leave the coroutine scopes open, and SPEC §8 says keeping a value across recreation (remember_saveable) is not provided. The notebook E2E lists all three as gaps (ksp-fixtures/notebook-e2e/README.md, Gaps).
Waiting on
A maintainer decision: what each name means in Python, or that it is dropped. No work starts before that.
Done when
The decision is recorded in INTENT §5 and SPEC. Each kept name has a test here that fails without it, and the notebook E2E covers it.
changed the title [-]Notebook imports with no decided counterpart: DefaultCoroutineScope, MainCoroutineScope, remember_saveable[/-][+]DefaultCoroutineScope, MainCoroutineScope: implement after pythonx-concurrent[/+]on Oct 17, 2026
DefaultCoroutineScope and MainCoroutineScope are the only cell-5 imports with no counterpart. The notebook imports them and never uses them: no cell calls them or .launch.
The decision exists: INTENT §5.10 (2026-10-04) and SPEC S5.7 say they are names in pythonx.compose.runtime built on pythonx.concurrent, implemented after it.
pythonx-concurrent is still a name reservation (0.0.1a1, "no behaviour yet"). Its Scope, launch and Dispatchers are all planned in its SPEC §2-3.
So this is not decidable or implementable here today. It waits on pythonx-concurrent providing Scope and Dispatchers.Default/Main. Until then, from pythonx.compose.runtime import DefaultCoroutineScope fails as any unknown name does: with a host, an ImportError that says no Kotlin name matches; without one, the binder's not-installed RuntimeError.
Done when: unchanged from above, except the decision part, which is met.
Activity
b-re-w commentedon Oct 3, 2026
Decided 2026-10-04 (maintainer, relayed by the ecosystem lead), recorded in INTENT §5.9-5.11 via #103:
remember_saveableis supported with rememberSaveable's meaning, and notebook cells 9-13 work as written (remember_saveable with the notebook's getValue()/setValue(), over the host's rememberSaveableWrapper #102).DefaultCoroutineScopeandMainCoroutineScopeare built on pythonx-concurrent and implemented after it (SPEC S5.7).state()is removed (Remove state() from the public API #101).Leaving this issue open for the coroutine scopes, which wait on pythonx-concurrent.
[-]Notebook imports with no decided counterpart: DefaultCoroutineScope, MainCoroutineScope, remember_saveable[/-][+]DefaultCoroutineScope, MainCoroutineScope: implement after pythonx-concurrent[/+]b-re-w commentedon Oct 17, 2026
Status as of 2026-10-17, checked against UI.ipynb:
remember_saveableis done. It landed in Feat: remember_saveable with the notebook's getValue()/setValue(), over the host's rememberSaveableWrapper #105 (issue remember_saveable with the notebook's getValue()/setValue(), over the host's rememberSaveableWrapper #102, INTENT §5.9, SPEC S5.6), and the notebook E2E covers cells 9-13. As of python-multiplatform #214, it runs on that repo's develop CI.DefaultCoroutineScopeandMainCoroutineScopeare the only cell-5 imports with no counterpart. The notebook imports them and never uses them: no cell calls them or.launch.pythonx.compose.runtimebuilt onpythonx.concurrent, implemented after it.Scope,launchandDispatchersare allplannedin its SPEC §2-3.So this is not decidable or implementable here today. It waits on pythonx-concurrent providing
ScopeandDispatchers.Default/Main. Until then,from pythonx.compose.runtime import DefaultCoroutineScopefails as any unknown name does: with a host, an ImportError that says no Kotlin name matches; without one, the binder's not-installed RuntimeError.Done when: unchanged from above, except the decision part, which is met.