Hi there!
Here is a new component I started yesterday. Sometimes we need to show progress in a more styled way and that got me thinking about this circular-shaped progress widget.
To Install 
pip install st-circular-progress
Creating an instance
Each circular slider must be initialized by calling the CircularProgress class, which requires the following attributes:
- Label
- Value
- Key
- size [optional] defaults to “medium”
- track_color [optional] defaults to “lightgray”
- color [optional] defaults to “blue”
Example
import streamlit as st
from st_circular_progress import CircularProgress
my_circular_progress = CircularProgress(
label="Sample Bar",
value=55,
key="my_circular_progress").st_circular_progress()
or
my_circular_progress = CircularProgress(
label="Sample Bar",
value=55,
key="my_circular_progress")
my_circular_progress.st_circular_progress()
Updating Values
This widget uses session states and there are two ways of refreshing its state:
- Use a callback function on your widget causing the change (not the circular progress)
- Use Re-Run to reload
An update_value()
function has been provided to facilitate updating the value of a pre-defined CircularProgress
Example
my_circular_progress.update_values(progress=100)