CircularProgressWidget API¶
CircularProgressWidget(widget_id=None)
¶
Bases: BaseWidget
Create a circular progress indicator.
Circular progress bars display task completion, resource utilization, or any quantifiable percentage data in a compact and intuitive way. They are perfect for dashboards or reports where space is limited.
Core features
- Dynamic updates: Supports setting, increasing, decreasing, resetting, or directly completing progress.
- Theming: Provides multiple preset themes (such as success, warning, error) to intuitively reflect status through colors.
- Custom appearance: Can freely adjust the size and line thickness of the progress ring.
Attributes:
Name | Type | Description |
---|---|---|
value |
float
|
Current progress value. |
max_value |
float
|
Maximum progress value, defaults to 100. |
label |
Optional[str]
|
Descriptive text displayed below the progress ring. |
theme |
ProgressTheme
|
Color theme of the progress ring. |
Examples:
Create a circular progress bar showing task completion:
from email_widget.widgets import CircularProgressWidget
from email_widget.core.enums import ProgressTheme
# Create a progress ring representing "success" status
task_progress = (CircularProgressWidget()
.set_value(85)
.set_label("Data Processing Progress")
.set_theme(ProgressTheme.SUCCESS)
.set_size("120px")
.set_stroke_width("10px"))
# Create a resource monitoring ring representing "warning" status
disk_usage = (CircularProgressWidget()
.set_value(92)
.set_label("Disk Usage")
.set_theme(ProgressTheme.WARNING)
.set_size("90px"))
Initialize CircularProgressWidget.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
widget_id
|
Optional[str]
|
Optional Widget ID. |
None
|
Functions¶
complete()
¶
Set progress to maximum value (100%).
Returns:
Name | Type | Description |
---|---|---|
CircularProgressWidget |
CircularProgressWidget
|
Returns self to support method chaining. |
Examples:
decrement(amount=1.0)
¶
Decrease progress value.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
amount
|
float
|
Amount to decrease, defaults to 1.0. |
1.0
|
Returns:
Name | Type | Description |
---|---|---|
CircularProgressWidget |
CircularProgressWidget
|
Returns self to support method chaining. |
Examples:
get_template_context()
¶
Get template context data required for rendering
increment(amount=1.0)
¶
Increase progress value.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
amount
|
float
|
Amount to increase, defaults to 1.0. |
1.0
|
Returns:
Name | Type | Description |
---|---|---|
CircularProgressWidget |
CircularProgressWidget
|
Returns self to support method chaining. |
Examples:
reset()
¶
Reset progress to 0.
Returns:
Name | Type | Description |
---|---|---|
CircularProgressWidget |
CircularProgressWidget
|
Returns self to support method chaining. |
Examples:
set_label(label)
¶
Set descriptive label displayed below the progress ring.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
label
|
str
|
Label text. |
required |
Returns:
Name | Type | Description |
---|---|---|
CircularProgressWidget |
CircularProgressWidget
|
Returns self to support method chaining. |
Examples:
set_max_value(max_val)
¶
Set maximum value for progress.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
max_val
|
float
|
Maximum value for progress. |
required |
Returns:
Name | Type | Description |
---|---|---|
CircularProgressWidget |
CircularProgressWidget
|
Returns self to support method chaining. |
Examples:
set_size(size)
¶
Set overall size of the circular progress bar.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
size
|
str
|
CSS size value, such as "100px", "5em". |
required |
Returns:
Name | Type | Description |
---|---|---|
CircularProgressWidget |
CircularProgressWidget
|
Returns self to support method chaining. |
Raises:
Type | Description |
---|---|
ValueError
|
When size format is invalid. |
Examples:
set_stroke_width(width)
¶
Set line thickness of the circular progress bar.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
width
|
str
|
CSS width value, such as "8px", "0.5em". |
required |
Returns:
Name | Type | Description |
---|---|---|
CircularProgressWidget |
CircularProgressWidget
|
Returns self to support method chaining. |
Examples:
set_theme(theme)
¶
Set color theme for the progress ring.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
theme
|
ProgressTheme
|
Progress ring theme enum value. |
required |
Returns:
Name | Type | Description |
---|---|---|
CircularProgressWidget |
CircularProgressWidget
|
Returns self to support method chaining. |
Examples:
set_value(value)
¶
Set current progress value.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value
|
float
|
Progress value, should be between 0 and |
required |
Returns:
Name | Type | Description |
---|---|---|
CircularProgressWidget |
CircularProgressWidget
|
Returns self to support method chaining. |
Raises:
Type | Description |
---|---|
ValueError
|
When value is out of valid range. |
Examples: