class AnalysisStatus_v1
An enumeration class that defines the possible status values for statistical analysis operations.
/tf/active/vicechatdev/smartstat/models.py
18 - 24
simple
Purpose
AnalysisStatus is an Enum class that provides a standardized set of status values to track the lifecycle of statistical analysis tasks. It defines five distinct states: PENDING (awaiting processing), PROCESSING (currently being analyzed), COMPLETED (successfully finished), FAILED (encountered an error), and DEBUGGING (in troubleshooting mode). This enum ensures type-safe status tracking and prevents invalid status values from being used throughout the application.
Source Code
class AnalysisStatus(Enum):
"""Status of statistical analysis"""
PENDING = "pending"
PROCESSING = "processing"
COMPLETED = "completed"
FAILED = "failed"
DEBUGGING = "debugging"
Parameters
| Name | Type | Default | Kind |
|---|---|---|---|
bases |
Enum | - |
Parameter Details
bases: Inherits from Enum base class, which provides enumeration functionality. No constructor parameters are needed as Enum members are defined as class attributes.
Return Value
Instantiation returns an AnalysisStatus enum member. Each member has a 'name' attribute (e.g., 'PENDING') and a 'value' attribute (e.g., 'pending'). Accessing members returns the enum instance itself, which can be compared for equality and used in conditional logic.
Class Interface
Attributes
| Name | Type | Description | Scope |
|---|---|---|---|
PENDING |
AnalysisStatus | Represents an analysis task that is awaiting processing. String value: 'pending' | class |
PROCESSING |
AnalysisStatus | Represents an analysis task that is currently being processed. String value: 'processing' | class |
COMPLETED |
AnalysisStatus | Represents an analysis task that has successfully completed. String value: 'completed' | class |
FAILED |
AnalysisStatus | Represents an analysis task that encountered an error and failed. String value: 'failed' | class |
DEBUGGING |
AnalysisStatus | Represents an analysis task that is in debugging or troubleshooting mode. String value: 'debugging' | class |
Dependencies
enum
Required Imports
from enum import Enum
Usage Example
from enum import Enum
class AnalysisStatus(Enum):
PENDING = "pending"
PROCESSING = "processing"
COMPLETED = "completed"
FAILED = "failed"
DEBUGGING = "debugging"
# Access enum members
status = AnalysisStatus.PENDING
print(status) # AnalysisStatus.PENDING
print(status.value) # 'pending'
print(status.name) # 'PENDING'
# Compare statuses
if status == AnalysisStatus.PENDING:
print("Analysis is pending")
# Get status from string value
status_from_value = AnalysisStatus("processing")
print(status_from_value) # AnalysisStatus.PROCESSING
# Iterate over all statuses
for status in AnalysisStatus:
print(f"{status.name}: {status.value}")
# Use in function signatures for type hints
def update_analysis(status: AnalysisStatus) -> None:
print(f"Updating to {status.value}")
update_analysis(AnalysisStatus.COMPLETED)
Best Practices
- Always use the enum members (e.g., AnalysisStatus.PENDING) rather than raw strings to ensure type safety and prevent typos
- Use the enum in type hints for function parameters and return values to make code more self-documenting
- Compare enum members using identity (==) or 'is' operator, not by comparing their string values
- Access the string value using the .value attribute when storing in databases or serializing to JSON
- Use AnalysisStatus(string_value) to convert string values back to enum members when deserializing
- The enum is immutable and thread-safe, making it suitable for concurrent applications
- Consider using match/case statements (Python 3.10+) or if/elif chains for status-based logic
- Document the meaning and expected transitions between statuses in your application logic
Similar Components
AI-powered semantic similarity - components with related functionality:
-
class AnalysisStatus 96.9% similar
-
class AnalysisType 71.0% similar
-
class ContentStatus 69.5% similar
-
class AnalysisStep_v1 60.6% similar
-
class AnalysisStep 58.5% similar