Streamlit-Survey is a Python package for incorporating surveys and structured feedback into Streamlit apps.
It can be used with Trubrics to collect feedback on datasets, models, and machine learning apps.
Streamlit-Survey can be installed from PyPI:
pip install streamlit-survey
Simple paged survey example with a conditional structure and a submit button:

Error auditing toy example for machine learning applications:

The streamlit_survey package contains a StreamlitSurvey class that can be used to create and manage survey components:
import streamlit_survey as ss survey = ss.StreamlitSurvey()
Components can be added to the survey using functions similar to Streamlit's input functions:

Survey components are similar to Streamlit inputs, but they have additional features that make them suitable for surveys:
- Questions and responses are automatically saved.
- Component states and previous responses are automatically restored and displayed based on survey data.
- Survey can be saved to and loaded from JSON files.
- Custom survey components can be created for more complex input UI and functionality.
- Customizable paging and option to show a progress bar.
Streamlit-Survey Documentation
- Commons Clause + Apache 2.0