You can build
Start with Python Notebook
Python Notebook is a great tool to connect Markdown, Python code and outputs into meaningful documents.
However, sharing notebooks with others might be challenging!
Make it interactive
Add widgets to you Python Notebook and make it interactive.
Install Mercury framework
pip install mercury
Import Mercury and use widgets during development
import mercury as mr text_input = mr.Text(label="What is your name?")
Check available widgets in docsInput Widgets
Run as Web App
Start Mercury Server and serve your notebook as Web App
Users can execute your code but they can't edit it!