🤖 AI Summary
This work addresses the inefficiencies researchers face in interactive computing environments due to cumbersome parameter configuration, inconsistent user interfaces, and the inability to persist settings across sessions—factors that hinder exploratory workflows and reproducibility. To overcome these challenges, the authors propose a declarative UI generation framework that, from a single specification of input parameters and validation rules, automatically renders consistent interfaces across diverse platforms such as Jupyter, Colab, and terminal-based environments. Inspired by ImageJ/FIJI, the system incorporates a persistence mechanism that serializes configurations in YAML format, enabling seamless sharing and reuse of settings across sessions and platforms. This approach significantly lowers the barrier for non-programmers to employ complex algorithms, minimizes redundant input, and enhances both experimental iteration speed and scientific reproducibility.
📝 Abstract
Researchers face a persistent barrier when applying computational algorithms with parameter configuration typically demanding programming skills, interfaces differing across environments, and settings rarely persisting between sessions. This fragmentation forces repetitive input, slows iterative exploration, and undermines reproducibility because parameter choices are difficult to record, share, and reuse. We present EZInput, a cross-runtime environment Python library enabling algorithm developers to automatically generate graphical user interfaces that make their computational tools accessible to end-users without programming expertise. EZInput employs a declarative specification system where developers define input requirements and validation constraints once; the library then handles environment detection, interface rendering, parameter validation, and session persistence across Jupyter notebooks, Google Colab, and terminal environments. This"write once, run anywhere"architecture enables researchers to prototype in notebooks and deploy identical parameter configurations for batch execution on remote systems without code changes or manual transcription. Parameter persistence, inspired by ImageJ/FIJI and adapted to Python workflows, saves and restores user configurations via lightweight YAML files, eliminating redundant input and producing shareable records that enhance reproducibility. EZInput supports diverse input types essential for scientific computing and it also includes built-in validation that ensures data integrity and clear feedback that reduces user friction.