{"categories":[{"label":"Application Frameworks","url":"https://skillfed.io/packages/category/software-development-libraries-application-frameworks/4"}],"enrichment":{"capability":"Blocks Jupyter cell execution while waiting for user interaction with widgets, enabling synchronous-style polling of widget events within a notebook.","skillfed_tags":["jupyter-interactive","widget-polling"],"use_cases":["Parameterize a notebook's analysis by collecting user input before running computation cells.","Build a multi-step data-entry workflow where each step validates input before allowing the user to proceed.","Create an interactive notebook where user actions trigger updates to visualizations in cells below.","Implement a notebook that can be run unattended via `Run All` after initial setup, with all user input collected upfront.","Develop a Jupyter-based tool that guides users through a workflow using a GUI instead of requiring code cell edits."],"what_it_does":"jupyter-ui-poll solves a specific problem in Jupyter notebooks: making widget interactions feel synchronous when they are fundamentally asynchronous. When you display widgets and want to wait for user input before running downstream cells, a naive polling loop does not work because the Jupyter kernel only processes one event at a time\u2014widget callbacks never fire while your cell code is running. This library hooks into IPython's kernel event handling to selectively process widget events in a loop while deferring execution of subsequent cells until your poll loop exits.\n\nThe package provides a context manager (`ui_events()`) that temporarily intercepts the kernel's cell-execution handler, allowing you to call `poll()` repeatedly to process widget events. When you exit the context, any queued cell-execution requests are replayed in order. This makes it possible to write notebooks that run end-to-end with `Cells \u2192 Run All` while still collecting user input at the top.","worth_installing":"Yes, if you are building an interactive Jupyter notebook that needs to collect user input before running downstream analysis, and you want the notebook to work with `Run All`. The package is stable (Production/Stable status), has no known vulnerabilities, and solves a real problem that is otherwise difficult to implement. Maintenance is aging but the repo is active and the library is narrow in scope, reducing the risk of bit-rot."},"id":"jupyter-ui-poll","links":{"html":"https://skillfed.io/packages/jupyter-ui-poll","md":"https://skillfed.io/packages/jupyter-ui-poll.md","pypi":"https://pypi.org/project/jupyter-ui-poll/"},"maintenance":{"status":"aging"},"meta":{"latest_release":"2025-10-31","license_spdx":null,"license_treatment":"permissive","name":"jupyter-ui-poll","python_support":"supports_current","summary":"Block jupyter cell execution while interacting with widgets"},"popularity":{"monthly_downloads":240190,"position":8908,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"1.1.0"}
