Skip to content

OlivierBinette/streamlit-survey

Repository files navigation

Lifecycle: experimental Documentation on Streamlit Package on PyPI

Streamlit-Survey: Survey components for Streamlit apps

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.

Installation

Streamlit-Survey can be installed from PyPI:

pip install streamlit-survey

Example

Simple paged survey example with a conditional structure and a submit button:

example-screenshot.png

Error auditing toy example for machine learning applications:

error-auditing-screenshot.png

Usage

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:

streamlit-survey-screenshot.png

Features

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.

Read the docs:

Streamlit-Survey Documentation

License

  • Commons Clause + Apache 2.0