|
""" |
|
This file is used to store the state variables of the proxy server. |
|
|
|
Example: `spend_logs_row_count` is used to store the number of rows in the `LiteLLM_SpendLogs` table. |
|
""" |
|
|
|
from typing import Any, Literal |
|
|
|
from litellm.proxy._types import ProxyStateVariables |
|
|
|
|
|
class ProxyState: |
|
""" |
|
Proxy state class has get/set methods for Proxy state variables. |
|
""" |
|
|
|
|
|
valid_keys_literal = Literal["spend_logs_row_count"] |
|
|
|
def __init__(self) -> None: |
|
self.proxy_state_variables: ProxyStateVariables = ProxyStateVariables( |
|
spend_logs_row_count=0, |
|
) |
|
|
|
def get_proxy_state_variable( |
|
self, |
|
variable_name: valid_keys_literal, |
|
) -> Any: |
|
return self.proxy_state_variables.get(variable_name, None) |
|
|
|
def set_proxy_state_variable( |
|
self, |
|
variable_name: valid_keys_literal, |
|
value: Any, |
|
) -> None: |
|
self.proxy_state_variables[variable_name] = value |
|
|