Technology


Technology Image

EZInput


GitHub:
- HenriquesLab/EZInput

Publication: Saraiva et al. arXiv 2026
0

EZInput eliminates the friction of building scientific user interfaces by providing a unified API that works identically in Jupyter notebooks and terminal scripts — write your UI once, deploy anywhere.

🌐 Documentation → | 🚀 GitHub → | 📦 PyPI →

The Problem It Solves

Scientific computing workflows often need to run in multiple environments: interactive Jupyter notebooks for exploration and prototyping, and terminal scripts for automated pipelines. Traditionally, this requires maintaining two separate UI codebases — one using ipywidgets for notebooks and another using argparse or prompt-toolkit for terminals. EZInput removes this duplication entirely.

Key Features

  • Unified API: The same widget code runs in both Jupyter notebooks and terminal environments with zero modification
  • Auto-Persistence: Widget values are automatically saved and restored between sessions, preserving parameter sets across runs
  • Type-Safe Inputs: Validated inputs with type checking for integers, floats, text, file paths, and more
  • Rich Widget Set: Sliders, dropdowns, text inputs, file pickers, checkboxes, and more — all environment-aware
  • Zero Boilerplate: No environment detection code required — EZInput handles it transparently

Perfect For

  • Image analysis pipelines requiring user-configurable parameters
  • Data science workflows with interactive configuration
  • Research tools that need both notebook and CLI interfaces
  • Teaching and tutorials with reproducible parameter sets

Installation

pip install ezinput

Quick Example

from ezinput import EZInput

ui = EZInput()
threshold = ui.slider("Threshold", min=0, max=255, value=128)
input_path = ui.file_picker("Input image")
ui.show()

# Works identically in notebooks and terminal scripts
print(f"Processing {input_path} with threshold {threshold}")

Integration with NanoPyx

EZInput was developed alongside NanoPyx to provide a consistent interface for its image analysis workflows, enabling the same analysis notebooks to be deployed as automated pipeline scripts without code changes.


Publications featuring EZInput

EZInput - A Cross-Environment Python Library for Easy UI Generation in Scientific Computing
Bruno M Saraiva, Iván Hidalgo-Cenalmor, António D Brito, Damián Martínez, Tayla Shakespeare, Guillaume Jacquemet, Ricardo Henriques
Preprint published in arXiv, January 2026
Technologies: EZInput () and NanoPyx ()
Funded by: Chan Zuckerberg Initiative (CZI), The Kavli Foundation, and The Wellcome Trust, CZI, EMBO and ERC
DOI: 10.48550/arXiv.2601.08859